我正在使用一个名为PayPal Integrator 2016.NET Edition的程序。它在我们的应用程序中已经存在多年了,我们刚刚注意到我们不能通过PayPal沙盒退款。实时系统中的退款会通过,但在沙盒中,我们会收到一个错误。看起来PayPal沙盒的URL已经更改,但我尝试过的URL都不起作用。你能告诉我怎么做吗?
我从这个网站得到了网址:https://www.nsoftware.com/kb/xml/07291101.rst.我还尝试了这个页面上提到的URL:https://developer.paypal.com/docs/api/sandbox/.
对于凭据,我尝试了与我们的PayPal帐户相关的实时凭据和沙盒凭据。我还尝试以我的名字创建一个新的开发人员帐户,并在那里使用沙箱凭据。
以下是我尝试过的URL、使用过的凭据以及收到的错误消息。
实时凭据
https://api.sandbox.paypal.com/nvp Connection closed.
https://api-3t.sandbox.paypal.com/nvp [10002] Security error. Security header is not valid.
https://sandbox.paypal.com/nvp [10002] Security error. Security header is not valid.
沙盒凭据(与活动凭据相同的帐户(
https://api.sandbox.paypal.com/nvp Connection closed.
https://api-3t.sandbox.paypal.com/nvp [10011] Invalid transaction id value. Transaction refused because of an invalid transaction id value.
https://sandbox.paypal.com/nvp [10011] Invalid transaction id value. Transaction refused because of an invalid transaction id value.
沙盒凭据(新开发人员帐户(
https://api.sandbox.paypal.com/nvp Connection closed.
https://api-3t.sandbox.paypal.com/nvp [10011] Invalid transaction id value. Transaction refused because of an invalid transaction id value.
https://sandbox.paypal.com/nvp [10011] Invalid transaction id value. Transaction refused because of an invalid transaction id value.
这是我用过的代码。我使用上面列出的名称更改了URL、用户等。
Dim ppRefund As New nsoftware.InPayPal.Refundtransaction()
Call ppRefund.Reset()
ppRefund.About = ""
ppRefund.InvokeThrough = Nothing
ppRefund.Timeout = 180
ppRefund.URL = PAYPAL_URL
ppRefund.User = PAYPAL_USERID
ppRefund.Password = PAYPAL_PASSWORD
ppRefund.Signature = PAYPAL_SIGNATURE
ppRefund.Amount = RefTrans.AmountTotal
ppRefund.RefundType = nsoftware.InPayPal.RefundtransactionRefundTypes.rtPartial
ppRefund.CurrencyCode = "USD"
ppRefund.Memo = "Credit PayPal Trans ID: " & RefTrans.Payment.payment_nbr
ppRefund.Refund(RefTrans.Payment.payment_nbr)
永远不要将实时凭据与沙盒端点一起使用,反之亦然,这将导致10002(无效凭据(
你的URL很好。您的问题是您试图退还无效的ID。您的ID必须与您正在使用其凭据的实际PayPal Sandbox帐户上的实际PayPal Sandbox交易相对应,否则将因该错误而失败。
转到https://www.sandbox.paypal.com,使用沙箱用户名和密码登录(这不是实时用户名和密码,也不是沙箱API用户名或沙箱API密码,以防您对此不清楚(,并确认您确实能够找到您试图退款的交易ID。