#node.js #express #paypal #paypal-sandbox
#node.js #экспресс #paypal #paypal-песочница
Вопрос:
Я создаю свою собственную корзину, а затем использую смарт-кнопку Paypal для оплаты в Angular.
Для обработки нескольких элементов я использую массив элементов в createOrder
методе на серверной части в Express.
function arrayOfItems() {
art_details.forEach((item, index) => {
let sku = item.message;
let currency = priceDetails.collPriceL[index];
let tax = priceDetails.taxAmtL[index];
let quantity = item.quantity;
let items = [
{
name: "Collection",
sku: sku,
description: '' item.collid,
unit_amount: { currency_code: "CAD", value: "" currency },
tax: { currency_code: "CAD", value: "" tax },
quantity: quantity,
},
];
return items;
});
}
Теперь я использую arrayOfItems()
как элементы в CreateOrder:
const request = new checkoutNodeJssdk.orders.OrdersCreateRequest();
request.prefer("return=representation");
request.requestBody({
intent: "CAPTURE",
purchase_units: [
{
amount: {
currency_code: "CAD",
value: ...,
breakdown: {
...
},
},
soft_descriptor: orderkey,
items: arrayOfItems(),
shipping: {
...
},
},
],
});
Предположим, я создаю заказ на 2 элемента. art_details
содержит массив элементов, которые мне нужно приобрести. Мой заказ успешно создается, но в окне Paypal не отображаются элементы в правой части. (оно должно отображаться в виде выпадающего списка элементов).
Чего мне здесь не хватает?
Спасибо
Комментарии:
1. Зарегистрируйте фактическую строку JSON тела запроса, чтобы ее можно было протестировать
2. @PrestonPHX Не беспокойтесь. Теперь я это исправил. Проблема была
arrayOfItems()
. Теперь я создал пустой массив элементов и вставил в него каждый объект. Теперь это работает. Спасибо