如何使用authorize.net在单笔交易中将金额转移到两个不同的商家?

时间:2016-11-16 16:05:39

标签: php authorize.net

我们使用authorize.net作为支付网关,我们需要在单笔交易中将金额发送给两个不同的商家。为了实现它,我们使用以下代码。

<?php
require_once 'anet_php_sdk/AuthorizeNet.php';
define("AUTHORIZENET_API_LOGIN_ID", "12345");
define("AUTHORIZENET_TRANSACTION_KEY", "abcde");
define("AUTHORIZENET_SANDBOX", true); 
$sale = new AuthorizeNetAIM; 
 $amount = $_POST['ordertotal'];
 $bill_to_cardholder = $_POST['bill_to_cardholder'];
 $bill_to_card_number = trim($_POST['bill_to_card_number']);
 $bill_to_cvv2 = $_POST['bill_to_cvv2'];
 $exp_date = $_POST['bill_to_exp_month'].$_POST['bill_to_exp_year'];
 //add information to authorize
 $sale->first_name = $_SESSION['bill_to_first_name'];
 $sale->last_name=$_SESSION['bill_to_last_name']; 
$response1 = $sale->authorizeOnly($amount,$bill_to_card_number,$exp_date);
if ($response1->approved)  { 
  define("AUTHORIZENET_API_LOGIN_ID", "678910");  define("AUTHORIZENET_TRANSACTION_KEY", "fghij"); 
 $response2 = $sale->authorizeOnly($amount,$bill_to_card_number,$exp_date);
 echo "<pre>"; print_r($response2); exit;
}
?>

但问题是第一个交易成功完成,第二个交易被拒绝。因为,一旦定义了常量,我们就无法通过PHP脚本覆盖。我们已经尝试为应该传递给authorize.net的参数定义变量,例如$AUTHORIZENET_API_LOGIN_ID$AUTHORIZENET_TRANSACTION_KEY,但authorize.net不接受正常变量。有人可以提供解决方案如何使用authorize.net在单笔交易中将金额转移到两个不同的商家?感谢。

0 个答案:

没有答案