/** * create a credit on the card for the passed transaction * * @access public * @param array $attribs * @return object Braintree_Result_Successful or Braintree_Result_Error */ public static function credit($token, $transactionAttribs) { self::_validateId($token); return Braintree_Transaction::credit(array_merge($transactionAttribs, array('paymentMethodToken' => $token))); }
function testCredit_withServiceFeeNotAllowed() { $result = Braintree_Transaction::credit(array('amount' => '100.00', 'creditCard' => array('number' => '5105105105105100', 'expirationDate' => '05/12'), 'serviceFeeAmount' => '12.75')); $this->assertFalse($result->success); $errors = $result->errors->forKey('transaction')->onAttribute('base'); $this->assertEquals(Braintree_Error_Codes::TRANSACTION_SERVICE_FEE_IS_NOT_ALLOWED_ON_CREDITS, $errors[0]->code); }
/** * credit a customer for the passed transaction * * @access public * @param array $attribs * @return object Braintree_Result_Successful or Braintree_Result_Error */ public function credit($customerId, $transactionAttribs) { $this->_validateId($customerId); return Braintree_Transaction::credit(array_merge($transactionAttribs, array('customerId' => $customerId))); }
function testCredit_withoutMerchantAccountIdFallsBackToDefault() { $result = Braintree_Transaction::credit(array('amount' => '100.00', 'creditCard' => array('number' => '5105105105105100', 'expirationDate' => '05/12'))); $this->assertTrue($result->success); $transaction = $result->transaction; $this->assertEquals(Braintree_TestHelper::defaultMerchantAccountId(), $transaction->merchantAccountId); }