【问题标题】:Negative Testing for PayPal using Sandbox with VB.NET - how to simulate different scenarios?使用带有 VB.NET 的 Sandbox 对 PayPal 进行负面测试 - 如何模拟不同的场景?
【发布时间】:2011-08-28 17:10:51
【问题描述】:

我有一个用 VB.NET 编写的网站,它实现了 PayPal 进行支付。这对于成功付款来说一切正常,但我需要能够模拟失败交易、待处理交易等场景。

我已阅读从第 47 页开始的documentation。我在沙盒中创建的企业帐户中启用了否定测试,但我没有得到想要的结果。

为了模拟文档中指定的错误,我将错误代码传递给 Token,然后在对 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. 如何模拟状态为 Pending、Processed、Failed 等的响应?

【问题讨论】:

  • 你能链接文档吗?

标签: vb.net testing paypal sandbox


【解决方案1】:

大约一周前我正在测试这个并且收到同样的问题,现在我不再收到错误:

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 上找到了处理此问题的 article

【讨论】:

  • 文章链接失效
猜你喜欢
  • 1970-01-01
  • 2018-09-12
  • 2020-07-14
  • 2015-06-21
  • 2015-03-11
  • 2021-09-05
  • 1970-01-01
  • 1970-01-01
  • 2017-11-10
相关资源
最近更新 更多