使用 Paypal REST API 创建付款
Posted
技术标签:
【中文标题】使用 Paypal REST API 创建付款【英文标题】:Create a payment with Paypal REST API 【发布时间】:2014-05-24 06:41:49 【问题描述】:这就是我从我的 web 应用创建 Paypal 付款的方式:
paypal.configure(paypal_config.api);
var payment =
"intent": "sale",
"payer":
"payment_method": "paypal"
,
//"receiver_email": "business@place.fr",
"redirect_urls":
"return_url": "http://yoururl.com/execute",
"cancel_url": "http://yoururl.com/cancel"
,
"transactions": [
"item_list":
"items": [
"name": "item",
"sku": "item",
"price": "1.00",
"currency": "USD",
"quantity": 1
]
,
"amount":
"currency": "USD",
"total": "1.06",
"details":
"subtotal": "1.00",
"tax": "0.03",
"shipping": "0.03"
,
"description": "This is the payment description."
]
;
paypal.payment.create(payment, function (error, payment)
if (error)
console.log(error);
else
if(payment.payer.payment_method === 'paypal')
req.session.paymentId = payment.id;
var redirectUrl;
for(var i=0; i < payment.links.length; i++)
var link = payment.links[i];
if (link.method === 'REDIRECT')
redirectUrl = link.href;
res.redirect(redirectUrl);
);
效果很好,但我有两个问题,我需要设置receiver email,当我添加密钥“receiver_email”时,据说请求格式不正确。
我的第二个问题实际上更多的是一个问题,使用这种方法我直接知道付款是否经过验证,但是当付款需要更多时间来验证时会发生什么(银行转账等),没有 ipn要给的网址?
谢谢!
【问题讨论】:
你解决了吗?我也有同样的问题。 不幸的是没有...:/我目前不在同一个项目上工作,但我必须尽快回来!如果您找到解决方案,请告诉我。谢谢。 重定向时出现 CORS 错误。我该如何解决? 【参考方案1】:我认为目前不支持将接收者设置为与 client_id 不同。
【讨论】:
【参考方案2】:目前使用 PayPal 余额付款,您无法配置收款人,因此收款人必须是具有 client_id/client_secret 对的人。
关于您的第二个问题,目前 ipn 支持不支持 REST 付款,但“付款状态更改时将 http 发布到您的服务器”功能将很快用于 REST 付款。目前最好的选择是通过执行 GET 检查状态变化来获取带有 PAY-XXX id 的付款。
【讨论】:
以上是关于使用 Paypal REST API 创建付款的主要内容,如果未能解决你的问题,请参考以下文章
PayPal REST API 未执行付款。无法将付款对象的状态从“已创建”更改为“已批准”或“已完成”