使用客户付款资料响应获取到期日期

时间:2011-02-24 09:05:50

标签: php authorize.net

在我的网站上,我实现了authorixe.net CIM功能。我已成功创建用户详细信息并删除了用户帐户。现在我想检索客户资料信息。我已发送客户资料请求并尝试显示信用卡号和到期日更新付款流程(针对网站目标)。请参阅以下代码

if ("Ok" == $parsedresponse->messages->resultCode) {        
    echo $parsedresponse->profile->paymentProfiles->payment->creditCard->cardNumber;
    echo $parsedresponse->profile->paymentProfiles->payment->creditCard->expirationDate;            
}

我将最后4位数作为卡号,并将结果XXXX作为到期日期。

我需要将日期显示为正常日期(非XXXX格式)。我怎样才能获得到期日期?

3 个答案:

答案 0 :(得分:2)

新API解决了这个问题 - 使用参数:' unmaskExpirationDate'请求getCustomerPaymentProfile和' Voila!'它将返回未屏蔽的到期日期。我不得不在PHP SDK中手动添加它,它看起来像这样:

public function getCustomerPaymentProfile($customerProfileId, $customerPaymentProfileId, $unmaskExpiration = false)
{
    $this->_constructXml("getCustomerPaymentProfileRequest");
    $this->_xml->addChild("customerProfileId", $customerProfileId);
    $this->_xml->addChild("customerPaymentProfileId", $customerPaymentProfileId);

    if($unmaskExpiration){
        $this->_xml->addChild("unmaskExpirationDate", $unmaskExpiration);    
    }

    return $this->_sendRequest();
}

答案 1 :(得分:0)

该信息被屏蔽,无法通过API检索。创建配置文件时,您需要存储过期日期,或者如果您使用它来确定其卡何时过期,则store the notification date of when you need to start notifying them their card is about to expire

答案 2 :(得分:0)

此问题还有另一种解决方法。您需要做的就是在billTo个人资料信息中找到一个字段来存储您的到期日期。例如,如果您不需要存储客户的传真(或电话号码或国家/地区等),则可以使用此字段复制到期日期。然后,当您收到个人资料时,您将能够从该字段中获取不安全的到期日期。