Какой URL-адрес и какие параметры следует использовать для песочницы PayPal?
Я использую программу под названием PayPal Integrator 2016 .NET Edition. Это было в нашем приложении много лет, и мы только что заметили, что не можем оформить возврат через песочницу PayPal. Возврат в живой системе происходит, но в песочнице выдается ошибка. Похоже, что URL-адрес песочницы 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)
1 ответ
Никогда не используйте живые учетные данные с конечными точками песочницы или наоборот, это приведет к 10002 (недопустимые учетные данные)
Ваши URL в порядке. Ваша проблема в том, что вы пытаетесь вернуть недействительный идентификатор. Ваш идентификатор должен соответствовать фактической транзакции песочницы PayPal в фактической учетной записи PayPal Sandbox, учетные данные которой вы используете, в противном случае произойдет сбой с этой ошибкой.
Перейдите на https://www.sandbox.paypal.com/, войдите в систему с именем пользователя и паролем песочницы (это не действующее имя пользователя и пароль, и это не имя пользователя API песочницы или пароль API песочницы, если вы неясно) и подтвердите, что вы действительно можете найти этот идентификатор транзакции, которую вы пытаетесь вернуть.