首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >总括- AuthorizeNet_CIM

总括- AuthorizeNet_CIM
EN

Stack Overflow用户
提问于 2017-02-21 20:42:47
回答 1查看 445关注 0票数 0

我正在尝试建立一个使用全方位授权AuthorizeNet_CIM的支付处理器。这方面的文件不多。

步骤1)我成功地创建了网关对象,并可以向authorize.net沙箱服务器发出请求。

步骤2)是“创建一张卡片”,以便将来与令牌计费一起使用:$gateway->createCard()。这是成功的。

来自通用Omnipay令牌计费文档

“. createCard($options) --返回包含cardReference的响应对象,该对象可用于将来的事务.”

我在上面的createCard()响应对象中没有看到特定的‘createCard’。

因此,我创建了一个$cardRef数组并获取返回的响应CustomerProfileId和CustomerPaymentProfileId。

代码语言:javascript
复制
$profileResult['customerProfileId']=$response->getCustomerProfileId();

$profileResult['paymentProfileId']=$response->getCustomerPaymentProfileId();

步骤3)是生成失败的购买的函数:

代码语言:javascript
复制
function create_transaction($cardRef,$amount,$description,$invoice_number){

global $status, $gateway;

try {

// Send purchase request
$response = $gateway->purchase(
    array(
        'cardReference' => $cardRef ,               
        'amount' => $amount,
        'currency' => 'USD',                
        'description' => $_POST['description'],
        'transactionId' => $invoice_number

    )
)->send();          
if ($response->isSuccessful()) {

    // Payment was successful       
    $status.='Success: '.$response->getMessage();

} elseif ($response->isRedirect()) {

    // Redirect to offsite payment gateway
    $response->redirect();

} else {        

    // Payment failed
    $status.='Transaction Failure: '.$response->getMessage();

}       

} catch (Exception $e) {

    $status.='<strong>Error:</strong> '.$e->getMessage(). "<br/>";

}       

}

购买失败,当我查看Response对象时,似乎请求没有填充cardReference对象。

代码语言:javascript
复制
[cardReference] => Omnipay\AuthorizeNet\Model\CardReference Object
(
[customerProfileId:Omnipay\AuthorizeNet\Model\CardReference:private] =>
[paymentProfileId:Omnipay\AuthorizeNet\Model\CardReference:private] =>
[shippingProfileId:Omnipay\AuthorizeNet\Model\CardReference:private] =>
)

显然,我没有将正确的cardReference数据传递给购买方法。

任何帮助都将不胜感激。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-02-21 21:28:06

我显然需要使用无证件的Omnipay方法;

代码语言:javascript
复制
$response->getCardReference();

以使cardReference对象传递给我的create_transaction()函数。

都修好了。

谢谢

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42377571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档