Php 使用Authorize.net的卡退款

Php 使用Authorize.net的卡退款,php,payment-gateway,authorize.net,Php,Payment Gateway,Authorize.net,我正在使用卡片呈现技术进行用户交易。现在我需要实现退款功能,但我得到了错误 在系统中找不到客户的付款配置文件id。因此,在此无法退款。直接从Authorize.net系统退款 我在回复中没有收到任何客户资料id,请让我知道我的做法是错误的,或者是否有其他方法可以为持卡用户实施退款 我还可以对上面提到的功能进行回复。您是否尝试过使用AIM进行退款?还有,你在沙箱里吗?如果是这样,CIM帐户可能不再存在,这取决于您创建它的时间。Ya John,我正在尝试使用AIM。。。您还可以查看//退款代码。。。

我正在使用卡片呈现技术进行用户交易。现在我需要实现退款功能,但我得到了错误

在系统中找不到客户的付款配置文件id。因此,在此无法退款。直接从Authorize.net系统退款

我在回复中没有收到任何客户资料id,请让我知道我的做法是错误的,或者是否有其他方法可以为持卡用户实施退款


我还可以对上面提到的功能进行回复。

您是否尝试过使用AIM进行退款?还有,你在沙箱里吗?如果是这样,CIM帐户可能不再存在,这取决于您创建它的时间。Ya John,我正在尝试使用AIM。。。您还可以查看//退款代码。。。我正在制作AuthrizeNetAIM的对象。你知道我在做这件事时遗漏了什么吗。。。。是的,我使用的是沙盒,但不是CIM。。我们的网站使用CIM方法,但对于POS,我们使用卡呈现技术来捕获付款您在哪里设置
$transaction\u id
?成功付款后,将从授权服务器返回交易id。
//code for authroize payment is below
$sale = new AuthorizeNetCP(AUTHORIZENET_API_LOGIN_ID, AUTHORIZENET_TRANSACTION_KEY);

$sale->order->invoiceNumber = $user_info['invoiceNumber'];
$sale->order->description = "Order submitted by POS";
$sale->setFields(
                array(
                'amount' => 100,
                'device_type' => '4',
                )
            );
$card_str = explode(";",$cart_data['swiped_card_string']);
$sale->setTrack1Data($card_str[0]);
$response = $sale->authorizeOnly(); 


//Capture payment
// Create new customer profile
$capture = new AuthorizeNetAIM;
$response = $capture->priorAuthCapture($transaction_id,$newordertotal);



//refund code.
$payment = new AuthorizeNetAIM;
$response = $payment->credit($transaction_id, $amount, $card_last_4);