Как создать платеж PayPal с пользовательской суммой?

#python #paypal

Вопрос:

Я хотел бы интегрировать paypal sdk python в свой проект, чтобы пользователи могли платить столько, сколько они выберут. Текущий метод требует фиксированной цены, https://developer.paypal.com/docs/api/quickstart/create-process-order/

Однако я хочу, чтобы пользователь мог выбрать, сколько он хочет отправить.

Комментарии:

1. Как насчет того, чтобы позволить пользователю выбрать сумму денег перед отправкой платежного запроса в PayPal? Поскольку вы не предоставили никакого кода, мне больше нечего сказать.

Ответ №1:

Вы связались с документом интеграции сервера, который также предназначен для устаревшего API.

Вы хотите создать заказ на стороне сервера или нет? Если да, то отправка суммы от клиента на сервер, который выполняет вызов API заказов, — это работа, которую вам нужно будет выполнить.

Начните интеграцию с текущим API v2/checkout/orders, создав на своем сервере два маршрута: один для «Создания заказа» и один для «Заказа на захват», описанных здесь. Эти маршруты должны возвращать только данные JSON (без HTML или текста). Когда ответ на захват будет успешным, сохраните полученные в результате платежные данные в своей базе данных (в частности purchase_units[0].payments.captures[0].id , идентификатор транзакции PayPal) и выполните любую необходимую бизнес-логику (например, отправьте электронное письмо с подтверждением или зарезервируйте товар) перед отправкой возвращенного JSON.

Свяжите эти два маршрута со следующим потоком утверждения: https://developer.paypal.com/demo/checkout/#/pattern/server

Поскольку ваш вопрос касался настройки пользовательской суммы, вам, вероятно, следует добавить текст JSON в вызов выборки CreateOrder, чтобы отправить нужную сумму на свой сервер.


Для простой интеграции на стороне клиента, которая не использует вызовы API на стороне сервера, обратитесь к документации и задайте единицы покупки value: CreateOrder с помощью какой-либо функции или переменной, которая получает желаемое значение. Например:

 value: document.getElementById(...).value
 

Если вы не программист, вы даже можете создать такую кнопку для пользовательской суммы с помощью https://www.paypal.com/buttons/smart