【发布时间】:2021-09-04 01:25:09
【问题描述】:
我想设置一次性 PayPal 付款。我从 HTML 中调用 <script data-page-type="checkout" src="https://www.paypal.com/sdk/js?client-id={my client id}&currency=CZK&commit=true&intent=capture&debug=true"></script> 来显示按钮。
然后我像这样在客户端 javascript 中设置它
createOrder: function(data, actions) {
return fetch('/.netlify/functions/transactionProcessor?orderAction=create', {
method: 'post',
}).then(function(functionResponse) {
console.log("order created");
return functionResponse.json();
}).then(function(functionResponseJson) {
return functionResponseJson.id;
});
},
当用户单击按钮时,会调用 createOrder。 CreateOrder 然后调用这个服务器端代码
async function createOrder(client) {
// Call PayPal to set up a transaction.
const request = new paypal.orders.OrdersCreateRequest();
request.prefer('return=minimal');
request.requestBody({
intent: 'CAPTURE',
purchase_units: [{
amount: {
currency_code: 'CZK',
value: '69.99'
}
}]
});
const order = await client.execute(request);
console.log('order successfuly created');
// Return a successful serverResponse to the client with the order ID.
return { statusCode: 200, body: JSON.stringify({ serverResponse: order, id:
order.result.id }) }
}
返回绝对没问题。客户端代码然后通过在它的 createOrder 方法中返回它来处理它 - 这里会发生错误。
RESOURCE_NOT_FOUND (https://justpaste.it/resource_not_found_paypal_err)
INVALID_RESOURCE_ID (https://justpaste.it/invalid_resource_id_err)
我完全不知道为什么会这样,而且我已经尝试修复它好几天了。它在沙盒中工作。
【问题讨论】:
标签: javascript web paypal payment paypal-rest-sdk