/** * @param string $transactionId * @param null|float $amount * @return \Braintree\Result\Successful|\Braintree\Result\Error */ public function submitForSettlement($transactionId, $amount = null) { return Transaction::submitForSettlement($transactionId, $amount); }
public function retryChargeSubscription($subscriptionId, $amount) { $retryResult = Subscription::retryCharge($subscriptionId, $amount); if ($retryResult->success) { $result = Transaction::submitForSettlement($retryResult->transaction->id); return $result; } return $retryResult; }
public function testSubmitForSettlement_withAmexRewardsSucceedsEvenIfCardBalanceIsInsufficient() { $result = Braintree\Transaction::sale(['amount' => '47.00', 'merchantAccountId' => Test\Helper::fakeAmexDirectMerchantAccountId(), 'creditCard' => ['cardholderName' => 'The Cardholder', 'number' => Braintree\Test\CreditCardNumbers::$amexPayWithPoints['InsufficientPoints'], 'expirationDate' => '05/12'], 'options' => ['amexRewards' => ['requestId' => 'ABC123', 'points' => '100', 'currencyAmount' => '1.00', 'currencyIsoCode' => 'USD']]]); $this->assertTrue($result->success); $transaction = $result->transaction; $this->assertEquals(Braintree\Transaction::AUTHORIZED, $transaction->status); $this->assertEquals(Braintree\Transaction::SALE, $transaction->type); $submitResult = Braintree\Transaction::submitForSettlement($transaction->id, '47.00'); $submitTransaction = $submitResult->transaction; $this->assertEquals(Braintree\Transaction::SUBMITTED_FOR_SETTLEMENT, $submitTransaction->status); }