我创建了一个使用Braintree支付网关的应用程序。在我的应用程序中,我可以选择设置不同的货币,我只知道在设置销售交易参数时如何设置货币。
这是我的代码
$result = Braintree'Transaction::sale([
'amount' => '50.00',
'creditCard' => array(
'cardholderName' => 'Test Name',
'number' => '4000111111111511',
'expirationDate' => '12/2018',
'cvv' => '123',
),
'options' => [ 'submitForSettlement' => true]
]);
我所有的交易都是用美元进行的,但我想用不同的货币进行交易。
请有人给我解决方案。感谢
全面披露:我在Braintree工作。如果您有任何进一步的问题,请随时联系支持人员
您需要为要处理的每种货币设置不同的商家帐户。然后,在处理特定货币的交易时,您可以将商家帐户id传递给交易销售方法。
此外,为了降低PCI合规性负担,您需要向服务器传递一个nonce来代替信用卡详细信息。
$merchantAccountId = someFunctionToLookupCorrectMerchantIdBasedOnCurrency();
$result = Braintree'Transaction::sale([
'amount' => '100.00',
'paymentMethodNonce' => nonceFromTheClient,
'merchantAccountId' => $merchantAccountId,
'options' => [
'submitForSettlement' => True
]
]);