Paypal P2P платежный API - PullRequest
       69

Paypal P2P платежный API

1 голос
/ 27 апреля 2020

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

Что-то похожее на это: https://developer.paypal.com/demo/checkout/# / pattern / client

Страница, на которой пользователи могут нажать кнопку для оплаты через Paypal или кредитной картой, другому пользователю . Но я не вижу, как в этом примере я могу настроить учетную запись получателя. Похоже, что платеж сделан на мой счет, но я хочу, чтобы платеж был сделан другому пользователю, которого он выбрал .

Я также просмотрел все эти API: https://developer.paypal.com/docs/api/rest-sdks/#, но я не могу найти пример, который позволяет построить клиент, где пользователь платит другому пользователю. И, конечно же, мне нужно получить подтверждение, что оплата была произведена.

РЕДАКТИРОВАТЬ:

Я пробовал код здесь: https://www.npmjs.com/package/@paypal / checkout-server-sdk

И обновлено, чтобы добавить поле получателя:

exports.pay = function (req, res) {
    // 1. Set up your server to make calls to PayPal

    // 1a. Import the SDK package
    const paypal = require('@paypal/checkout-server-sdk');

    // 1b. Add your client ID and secret
    const PAYPAL_CLIENT = 'xxx';
    const PAYPAL_SECRET = 'yyy';

    // 1c. Set up the SDK client
    const env = new paypal.core.SandboxEnvironment(PAYPAL_CLIENT, PAYPAL_SECRET);
    const client = new paypal.core.PayPalHttpClient(env);

    // 2. Set up your server to receive a call from the client

    // 3. Call PayPal to set up a transaction with payee
    const request = new paypal.orders.OrdersCreateRequest();
    request.requestBody({
        "intent": "CAPTURE",
        "purchase_units": [
            {
                "amount": {
                    "currency_code": "USD",
                    "value": "100.00"
                },
                "payee": {
                    "email_address": "payee@gmail.com"
                }
            }
        ]
    });

    const createOrder = async function () {
        const response = await client.execute(request);
        console.log(`Response: ${JSON.stringify(response)}`);
        // If call returns body in response, you can get the deserialized version from the result attribute of the response.
        console.log(`Order: ${JSON.stringify(response.result)}`);
        return res.status(200).json(response.result);
    };
    createOrder();
};

Возвращает список из 4 ссылок. Второй, похоже, перенаправляет клиента на (https://www.sandbox.paypal.com/checkoutnow?token=9RM83779YH010823U). Но если я go там, я все еще не вижу адрес получателя (payee@gmail.com) в "отправлено".

Paypal wrong send to

1 Ответ

0 голосов
/ 27 апреля 2020

То, что вы хотите, это установить объект payee: https://developer.paypal.com/docs/checkout/integration-features/custom-payee/

...