Отрицательное тестирование для PayPal с использованием Sandbox с VB.NET - как имитировать разные сценарии? - PullRequest
2 голосов
/ 19 мая 2011

У меня есть веб-сайт, написанный на VB.NET, который реализует PayPal для платежей. Это все работает нормально для успешных платежей, но мне нужно иметь возможность моделировать сценарии неудачной транзакции, ожидающей транзакции и т. Д.

Я прочитал документацию , которая начинается на стр. 47. Я включил отрицательное тестирование в бизнес-аккаунте, который создал в Песочнице, но не получаю желаемых результатов.

Чтобы смоделировать ошибку, как указано в документации, я передаю код ошибки токену, который затем используется в запросе к DoExpressCheckoutPayment - код приведен ниже, - но вместо этого возникает ошибка 10417, в ответе указано «Неверно» Знак:

Dim oldToken As String
With RequestDetails
    oldToken = .Token
    .Token = "10417"
End With

Dim request As New DoExpressCheckoutPaymentRequestType
request.DoExpressCheckoutPaymentRequestDetails = RequestDetails

Dim response As DoExpressCheckoutPaymentResponseType
response = DirectCast(caller.Call("DoExpressCheckoutPayment", request), 
    DoExpressCheckoutPaymentResponseType)

Вопросы:

  1. Что я делаю неправильно в приведенном выше коде, чтобы я не мог вызвать правильную ошибку?

  2. Как мне смоделировать ответ, когда статус «Ожидает», «Обработан», «Не удалось» и т. Д .?

1 Ответ

0 голосов
/ 28 сентября 2011

Я тестировал это около недели назад и получал ту же проблему, теперь я больше не получаю сообщение об ошибке:

Запрос API:

METHOD=DoExpressCheckoutPayment 
VERSION=82 
token=10755 
PayerID=GNT5WLV6WKLYW 
PAYMENTACTION=Sale 
AMT=456 
PAYMENTREQUEST_0_AMT=458 
PAYMENTREQUEST_0_ITEMAMT=458.00 
PAYMENTREQUEST_0_SHIPPINGAMT=20.00 
PAYMENTREQUEST_0_TAXAMT=46.20 
PAYMENTREQUEST_0_CURRENCYCODE=USD 
PAYMENTREQUEST_0_DESC=test EC payment 
L_PAYMENTREQUEST_0_NAME0=Books 
L_PAYMENTREQUEST_0_AMT0=154.00 
L_PAYMENTREQUEST_0_NUMBER0=ABC123 
L_PAYMENTREQUEST_0_QTY0=2 
L_PAYMENTREQUEST_0_NAME1=CDs 
L_PAYMENTREQUEST_0_AMT1=50.00 
L_PAYMENTREQUEST_0_NUMBER1=BY-Z4736 
L_PAYMENTREQUEST_0_QTY1=3 

Ответ API:

TIMESTAMP=2011-09-27T20:39:57Z
CORRELATIONID=13126abeb4615
ACK=Failure
VERSION=82
BUILD=2133933
L_ERRORCODE0=10755
L_SHORTMESSAGE0=Unsupported Currency.
L_LONGMESSAGE0=Currency is not supported
L_SEVERITYCODE0=Error

Я нашел статью на x.com, которая также занимается этой проблемой.

...