Как проверить отклонение авторизации Amazon Payments?

При авторизации заказа на Amazon Payments статус авторизации может возвращаться как Declined с InvalidPaymentMethod в качестве причины, если клиент должен войти в Amazon Payments и изменить способ оплаты.

Как заставить Amazon воспроизвести это InvalidPaymentMethod кейс для тестирования?

3

Решение

О, RTM … Я нашел ответ в Руководство по интеграции. Когда вы делаете вызов Authorize, вы должны указать SellerAuthorizationNote:

{"SandboxSimulation": {
"State":"Declined",
"ReasonCode":"InvalidPaymentMethod",
"PaymentMethodUpdateTimeInMins":5}}

Оставив здесь вопрос для разработчиков, интегрирующих этот способ оплаты.

Вот как выглядит последний метод:

/**
* @param string $orderReferenceId
* @param string $authorizationReferenceId
* @param float  $amount
* @param string $currencyCode
* @return \OffAmazonPaymentsService_Model_AuthorizeResponse
*/
private function authorizeOrder($orderReferenceId, $authorizationReferenceId, $amount, $currencyCode)
{
return $this->getClient()->authorize([
'SellerId'                 => $this->serviceCrendentials['merchantId'],
'AmazonOrderReferenceId'   => $orderReferenceId,
'AuthorizationReferenceId' => $authorizationReferenceId,
'AuthorizationAmount'      => [
'Amount'               => $amount,
'CurrencyCode'         => $currencyCode
],
// Delete it, it's just for sandbox testing
'SellerAuthorizationNote'  => json_encode(['SandboxSimulation' => [
'State'                         => 'Declined',
'ReasonCode'                    => 'InvalidPaymentMethod',
'PaymentMethodUpdateTimeInMins' => 5
]])
]);
}
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]