gpt4 book ai didi

AngularJS/NodeJS 应用程序与 Paypal In-Context Checkout 集成

转载 作者:太空宇宙 更新时间:2023-11-03 16:06:58 26 4
gpt4 key购买 nike

我有一个 Web 应用程序,在 UI 上使用 AngularJS,在后端使用 NodeJS。

我想实现 Paypal In-Context Checkout 功能,但我真的不明白这样做的步骤是什么,文档非常困惑。

有人可以向我解释实现这一目标的步骤是什么,前端需要做什么,后端需要做什么。谢谢。

最佳答案

三种方法

1 您可以使用客户端休息。2 你可以使用服务器端休息。3 你可以使用braintree sdk。

对于第一步,paypal 有 checkout.js。对于第二步,基本上使用 paypal rest api 后端任务。

第一步和第二步的过程非常相似。

const paypal = require('paypal-rest-sdk');
const payments = paypal.v1.payments;
let env = new paypal.core.SandboxEnvironment('app-id', 'secret');

let client = new paypal.core.PayPalHttpClient(env);

像下面这样创建付款发布请求

var create_payment_json = {
'intent': 'sale',
'payer': {
'payment_method': 'paypal'
},
'redirect_urls': {
'return_url':
'http://localhost:4150/test/paymentSuccess',
'cancel_url': 'http://cancel.url'
},
'transactions': [{
'item_list': {
'items': [
{
'name': 'item',
'sku': 'item',
'price': '1.00',
'currency': 'USD',
'quantity': 1
}

]
},
'amount': {
'currency': 'USD',
'total': '1.00'
},
'description': 'This is the payment'
}]
};

let request = new payments.PaymentCreateRequest();
requestt.requestBody(create_payment_json);


let mrrrr;
client.execute(requestt).then((response) => {
console.log(response.statusCode);
console.log(response.result);

_.map(response.result.links, (value) => {
if (value.rel === 'approval_url') {
// reply.redirect(response.result.links[i].href);
mrrrr = value.href;
console.log('mrrrr', mrrrr);
// return reply.redirect(mrrrr);
}
});
}).catch((error) => {
console.error(error.statusCode);
console.error(error.message);
});

创建付款后,您将获得 url,重定向该 url 并使用 paypal 付款,它将返回调用成功 url 以及查询参数付款 id 和 payerId。

现在获取成功写下面的代码

console.log('this is  query parameters', request.query);

const payerID = request.query.PayerID;
const paymentID = request.query.paymentId;

const execute_payment_json = {
'payer_id': payerID
};

let ww = new payments.PaymentExecuteRequest(paymentID);
ww.requestBody(execute_payment_json);

client.execute(ww).then((response) => {
console.log('success', response.statusCode);
console.log('success', response.result);

}).catch((error) => {
console.error(error.statusCode);
console.error(error.message);
});

关于AngularJS/NodeJS 应用程序与 Paypal In-Context Checkout 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38019400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com