我在 C# 中使用 PayPal API 并使用返回 URL 调用 .SetExpressCheckout(): http://www.MyWebsite.com/Success?transactionId= {动态 token }
PayPal 是否可能没有返回我指定的 transactionId token ,或者这不太可能?我正在尝试诊断一些随机错误(来自数百个成功的交易)并想知道它是否会丢弃我在返回 URL 中指定的参数?
还可以安全地假设如果 PayPal 返回“成功”但我没有调用 .DoExpressCheckout() 没有钱被拿走了,我可以重新开始吗?
最佳答案
SetExpressCheckout 将始终返回如下响应:
NVP Response:
TOKEN=EC-8FL80454MK5202351
TIMESTAMP=2015-09-10T02:53:36Z
CORRELATIONID=bff60e96e81c4
ACK=Success
VERSION=109.0
BUILD=000000
您需要重定向到结帐页面
https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-8FL80454MK5202351
一旦买家登录并完成,它将重定向到您的returnurl+EC-token+payerid
http://index.php?action=ECreturn&token=EC-8FL80454MK5202351&PayerID=7SGRP23PR8MWY
因此,PayPal 总是会返回 EC-Token,在此之后您将需要调用 Doexpresscheckout API 来完成支付,否则交易不完成。
VERSION = 109.0
METHOD = DoExpressCheckoutPayment
TOKEN = EC-8FL80454MK5202351
PAYMENTACTION = Sale
PAYERID = 7SGRP23PR8MWY
AMT = 0.01
例如,如果您有这样的返回 url
RETURNURL = index.php?action=ECreturn?test=1
然后在Setexpresscheckout完成后,Paypal会跳转至以下网址
index.php?action=ECreturn?test=1&token=EC-5K62958L49079615&PayerID=7SGRP23PR8MWY
关于api - 快速结帐返回 URL C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32488607/