Получить дату истечения срока действия, используя ответ профиля платежа клиента

На своем веб-сайте я реализовал CIM-функцию authorixe.net. Я успешно создал данные о пользователях и удалил учетную запись пользователя. Теперь я хочу получить информацию о профиле клиента. Я отправил запрос профиля клиента и попытался отобразить номер кредитной карты и дату истечения срока действия для обновления процесса оплаты (для цели сайта). См. код ниже

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

Я получил последние 4 цифры в качестве номера карты и получил результат XXXX в качестве даты истечения срока действия.

Мне нужно отображать дату как обычную дату (не в формате XXXX). Как узнать срок годности?


person Testadmin    schedule 24.02.2011    source источник


Ответы (3)


Эта информация замаскирована и не может быть получена через API. При создании профиля вам либо нужно сохранить дату истечения срока действия, либо, если вы используете его, чтобы определить, когда истечет срок действия их карты, тогда сохранить дату уведомления о том, когда вы нужно начать уведомлять их об истечении срока действия карты.

person John Conde    schedule 24.02.2011

Новый API решает эту проблему — используйте параметр unmaskExpirationDate в запросе getCustomerPaymentProfile и «Вуаля!» он вернет незамаскированную дату истечения срока действия. Мне пришлось вручную добавить это в 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();
}
person Jared Green    schedule 02.02.2016

Есть еще один обходной путь для этой проблемы. Все, что вам нужно сделать, это найти поле в информации профиля billTo для хранения даты истечения срока действия. Например, если вам не нужно хранить факс клиента (или номер телефона, страну и т. д.), вы можете использовать это поле для дублирования даты истечения срока действия. Затем, когда вы получите профиль, вы сможете получить небезопасную дату истечения срока действия из этого поля.

person Eugene Manuilov    schedule 24.10.2013