问题
I'm trying to run tests on Braintree transaction refunding, but I'm running into a problem. Braintree's API only allows you to issue refunds for transactions that have settled. However, transactions created in the sandbox environment only "settle" once every 24 hours. So, when I try to refund them in the test suite, the refunds are always rejected because the original transaction is "submitted_for_settlement" and not "settled".
Any way around this?
回答1:
I work at Braintree. If you have more questions, you can always get in touch with our support team.
The TestHelper in the Braintree PHP library has a method to settle a transaction in sandbox:
class Braintree_TestHelper
{
. . .
public static function settle($transactionId)
{
$http = new Braintree_Http(Braintree_Configuration::$global);
$path = Braintree_Configuration::$global->merchantPath() . '/transactions/' . $transactionId . '/settle';
$http->put($path);
}
. . .
}
Similar methods exist for our other supported languages.
来源:https://stackoverflow.com/questions/27868715/how-to-test-a-braintree-transaction-refund