我有点晚了,但我在PayPal文档中找到了这个。
PayPal支付包含以下3个步骤:
1. 指定付款信息以创建付款。
2. 获取付款批准。
3. 执行付款到PayPal用户账户。
1)将意图设置为“销售”,并将payment_method设置为“paypal”。
包括重定向URL。当用户批准或取消付款时,他们将被重定向到这些URL。
curl https:
-v \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer accessToken' \
-d '{
"intent":"sale",
"redirect_urls":{
"return_url":"http://return_URL_here",
"cancel_url":"http://cancel_URL_here"
},
"payer":{
"payment_method":"paypal"
},
"transactions":[
{
"amount":{
"total":"7.47",
"currency":"USD"
},
"description":"This is the payment transaction description."
}
]
}
回复:
{
"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"
}
]
}
2)获得付款批准
请注意以上示例中的HATEOAS链接。将用户直接引导至PayPal网站上的approval_url
以便用户可以批准付款。用户必须在您执行和完成销售之前批准付款。
3)执行付款
当用户批准付款后,PayPal会将用户重定向至创建付款时指定的return_url
。支付人ID和支付ID将作为PayerID
和paymentId
附加到返回URL中:
http://return_url?paymentId=PAY-6RV70583SB702805EKEYSZ6Y&token=EC-60U79048BN7719609&PayerID=7E7MGXCWTTKK2
在执行付款时,不需要将令牌值附加到返回的URL中。
在用户批准后执行付款,请调用/payment/execute/
接口。在请求正文中,使用附加到返回URL中的payer_id
值。在标题中,使用创建付款时使用的访问令牌。
curl https://api.sandbox.paypal.com/v1/payments/payment/PAY-6RV70583SB702805EKEYSZ6Y/execute/ \
-v \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer accessToken' \
-d '{ "payer_id" : "7E7MGXCWTTKK2" }'
注意:支付完成后,它被称为销售。然后,您可以查找销售并退款。
希望这有所帮助!