Загрузка корзины - это очень старая вещь в Web 1.0. Все еще поддерживается для устаревших сайтов, которые его интегрировали, но это плохой опыт, связанный с перенаправлением плательщика с вашего сайта. Лучшее решение - вообще не использовать его.
Вместо этого интегрируйте современный контекстный PayPal Checkout. Вот простой демонстрационный шаблон, который представляет собой чистый HTML / javascript (без кода на стороне сервера): https://developer.paypal.com/demo/checkout/# / pattern / client
Несколько элементов go в purchase_units
массив, документированный в v2 / orders . Может быть трудно понять все необходимые параметры разбивки, которые должен сложить, иначе оформление заказа приведет к ошибке и не откроется - так вот пример с двумя элементами:
"purchase_units": [{
"description": "Stuff",
"amount": {
"value": "20.00",
"currency_code": "USD",
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "20.00"
},
}
},
"items": [
{
"unit_amount": {
"currency_code": "USD",
"value": "10.00"
},
"quantity": "1",
"name": "Item 1",
},
{
"unit_amount": {
"currency_code": "USD",
"value": "10.00"
},
"quantity": "1",
"name": "Item 2",
},
],
}
]
Существует также демоверсия серверного варианта того же внешнего интерфейса, если вы хотите реализовать v2 / создание заказов и захват API с вашего сервера. Это дает некоторые преимущества, но, очевидно, требует интеграции этих API на вашем сервере.