refund() публичный статический Метод

public static refund ( $transactionId, $amount = null )
 public function test_multipleValueNode_type_withRefund()
 {
     $customer = Braintree\Customer::createNoValidate();
     $creditCard = Braintree\CreditCard::create(['customerId' => $customer->id, 'cardholderName' => 'Joe Everyman' . rand(), 'number' => '5105105105105100', 'expirationDate' => '05/12'])->creditCard;
     $sale = Braintree\Transaction::saleNoValidate(['amount' => Braintree\Test\TransactionAmounts::$authorize, 'paymentMethodToken' => $creditCard->token, 'options' => ['submitForSettlement' => true]]);
     $http = new Braintree\Http(Braintree\Configuration::$global);
     $path = Braintree\Configuration::$global->merchantPath() . '/transactions/' . $sale->id . '/settle';
     $http->put($path);
     $refund = Braintree\Transaction::refund($sale->id)->transaction;
     $credit = Braintree\Transaction::creditNoValidate(['amount' => '100.00', 'paymentMethodToken' => $creditCard->token]);
     $collection = Braintree\Transaction::search([Braintree\TransactionSearch::creditCardCardholderName()->is($creditCard->cardholderName), Braintree\TransactionSearch::type()->is($credit->type), Braintree\TransactionSearch::refund()->is(True)]);
     $this->assertEquals(1, $collection->maximumCount());
     $this->assertEquals($refund->id, $collection->firstItem()->id);
     $collection = Braintree\Transaction::search([Braintree\TransactionSearch::creditCardCardholderName()->is($creditCard->cardholderName), Braintree\TransactionSearch::type()->is($credit->type), Braintree\TransactionSearch::refund()->is(False)]);
     $this->assertEquals(1, $collection->maximumCount());
     $this->assertEquals($credit->id, $collection->firstItem()->id);
 }
 public function sendData($data)
 {
     $response = Braintree\Transaction::refund($data['transactionId'], $data['amount']);
     return $this->response = new Response($this, $response);
 }
Пример #3
0
 /**
  * @param string $transactionId
  * @param null|float $amount
  * @return \Braintree\Result\Successful|\Braintree\Result\Error
  */
 public function refund($transactionId, $amount = null)
 {
     return Transaction::refund($transactionId, $amount);
 }
Пример #4
0
 public function testRefund_multiplePartialWithPayPal()
 {
     $nonce = Braintree\Test\Nonces::$paypalOneTimePayment;
     $transactionResult = Braintree\Transaction::sale(['amount' => Braintree\Test\TransactionAmounts::$authorize, 'paymentMethodNonce' => $nonce, 'options' => ['submitForSettlement' => true]]);
     $this->assertTrue($transactionResult->success);
     $originalTransaction = $transactionResult->transaction;
     Braintree\Test\Transaction::settle($originalTransaction->id);
     $firstRefund = Braintree\Transaction::refund($transactionResult->transaction->id, $transactionResult->transaction->amount / 2);
     $this->assertTrue($firstRefund->success);
     $firstRefundTransaction = $firstRefund->transaction;
     $secondRefund = Braintree\Transaction::refund($transactionResult->transaction->id, $transactionResult->transaction->amount / 2);
     $this->assertTrue($secondRefund->success);
     $secondRefundTransaction = $secondRefund->transaction;
     $updatedOriginalTransaction = Braintree\Transaction::find($originalTransaction->id);
     $expectedRefundIds = [$secondRefundTransaction->id, $firstRefundTransaction->id];
     $updatedRefundIds = $updatedOriginalTransaction->refundIds;
     $this->assertTrue(in_array($expectedRefundIds[0], $updatedRefundIds));
     $this->assertTrue(in_array($expectedRefundIds[1], $updatedRefundIds));
 }