public function testGenerate_canBeGroupedByACustomField() { $transaction = Braintree\Transaction::saleNoValidate(['amount' => '100.00', 'creditCard' => ['number' => '5105105105105100', 'expirationDate' => '05/12'], 'customFields' => ['store_me' => 'custom value'], 'options' => ['submitForSettlement' => true]]); Braintree\Test\Transaction::settle($transaction->id); $today = new Datetime(); $result = Braintree\SettlementBatchSummary::generate(Test\Helper::nowInEastern(), 'store_me'); $this->assertTrue($result->success); $this->assertTrue(count($result->settlementBatchSummary->records) > 0); $this->assertArrayHasKey('store_me', $result->settlementBatchSummary->records[0]); }
public function testSettlementPending() { $transaction = Braintree\Transaction::saleNoValidate(['amount' => '100.00', 'creditCard' => ['number' => '5105105105105100', 'expirationDate' => '05/12'], 'options' => ['submitForSettlement' => true]]); $transaction = Braintree\Test\Transaction::settlementPending($transaction->id); $this->assertEquals('settlement_pending', $transaction->status); }
public function test_rangeNode_voidedAt() { $transaction = Braintree\Transaction::saleNoValidate(['amount' => '1000.00', 'creditCard' => ['number' => '4111111111111111', 'expirationDate' => '05/12']]); $transaction = Braintree\Transaction::void($transaction->id)->transaction; $twenty_min_ago = date_create("now -20 minutes", new DateTimeZone("UTC")); $ten_min_ago = date_create("now -10 minutes", new DateTimeZone("UTC")); $ten_min_from_now = date_create("now +10 minutes", new DateTimeZone("UTC")); $collection = Braintree\Transaction::search([Braintree\TransactionSearch::id()->is($transaction->id), Braintree\TransactionSearch::voidedAt()->between($twenty_min_ago, $ten_min_ago)]); $this->assertEquals(0, $collection->maximumCount()); $collection = Braintree\Transaction::search([Braintree\TransactionSearch::id()->is($transaction->id), Braintree\TransactionSearch::voidedAt()->between($ten_min_ago, $ten_min_from_now)]); $this->assertEquals(1, $collection->maximumCount()); $this->assertEquals($transaction->id, $collection->firstItem()->id); }
public function testSubmitForPartialSettlement_withInvalidParams() { $transaction = Braintree\Transaction::saleNoValidate(['amount' => '100.00', 'creditCard' => ['number' => '5105105105105100', 'expirationDate' => '05/12']]); $params = ['invalid' => 'invalid']; $this->setExpectedException('InvalidArgumentException', 'invalid keys: invalid'); Braintree\Transaction::submitForPartialSettlement($transaction->id, '67.00', $params); }