按照https://developer.paypal.com/webapps/developer/docs/integration/web/accept-paypal-payment/上的指南,我已成功创建付款并重定向用户以批准它.
创建的付款类似于下面的内容,我将其保存在用户的会话中以供进一步参考.
{
"id": "PAY-6RV70583SB702805EKEYSZ6Y",
"create_time": "2013-03-01T22:34:35Z",
"update_time": "2013-03-01T22:34:36Z",
"state": "created",
"intent": "sale",
"payer": {
"payment_method": "paypal"
},
"transactions": [
{
"amount": {
"total": "7.47",
"currency": "USD",
"details": {
"subtotal": "7.47"
}
},
"description": "This is the payment transaction description."
}
],
"links": [
{
"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-6RV70583SB702805EKEYSZ6Y",
"rel": "self",
"method": "GET"
},
{
"href": "https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&token=EC-60U79048BN7719609",
"rel": "approval_url",
"method": "REDIRECT"
},
{
"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-6RV70583SB702805EKEYSZ6Y/execute",
"rel": "execute",
"method": "POST"
}
]
}
Run Code Online (Sandbox Code Playgroud)
用户批准付款后,Paypal会将用户重定向到return_url.例如,http://<return_url>?token=EC-60U79048BN7719609&PayerID=7E7MGXCWTTKK2.
为了执行付款,必须发出POST请求https://api.sandbox.paypal.com/v1/payments/payment/{payment_id}/execute/.
题
Paypal在URL中提供的唯一两条信息是token和PayerID.我怎样才能找到相应的payment_id?
可能解决方案
该token是部分approval_url,解析URL并存储token -> payment的关系就可以解决问题.但我正在寻找一种不需要解析的更好的解决方案.
Fer*_*lva 10
我认为paypal文档对此并不清楚.但是你可以做一些简单的事情来解决你的问题,通过你的返回网址中的参数传递de PaymentID.
像这样:return_url =' http : //www.yourdomain.com/paypal/success/?paymentID = PAY-1234567 '
当Paypal重定向到您的网站时,它会将paymentID与其他参数一起返回.
Emportuguês:
Nãoachoque isso esteja claronadocumentaçãodoPaypal.一个简单的解决方案,eu passo o PaymentIDcomoparâmetronaminha URL de retorno que informo para o Paypal.Assim,quando o Paypal redirecionar para meu site de volta ele matemoparâmetrocomo PaymentID que eu tinha passado.
在将用户重定向到PayPal批准网址之前,您必须记住您身边的付款ID(通常附有您的用户会话 - 购物车或订单或会话Cookie).将重新定向到返回的Url以及PayerID后,您需要从用户会话中提取PaymentID并执行付款.
| 归档时间: |
|
| 查看次数: |
13323 次 |
| 最近记录: |