0

我正在尝试在Node.Js环境中执行 PayPal支付,但我似乎无法理解它。

您能否帮我正确设置参数,也许我应该在哪里重新组织代码,并最终开始朝着正确的方向前进?

谢谢大家。

var PAYPAL_API = "https://api-m.sandbox.paypal.com";

app.post("/my-api/execute-payment/", function (req, res) {
    // 2. Get the payment ID and the payer ID from the request body.
    var paymentID = req.body.paymentID;
    var payerID = req.body.payerID;

    let requestBody = {
        "sender_batch_header": {
            "sender_batch_id": "Payouts_2018_100007",
            "email_subject": "You have a payout!",
            "email_message": "You have received a payout! Thanks for using our service!",
        },
        "items": [
            {
                "recipient_type": "EMAIL",
                "amount": {
                    "value": "9.87",
                    "currency": "USD",
                },
                "note": "Thanks for your patronage!",
                "sender_item_id": "201403140001",
                "receiver": "rev_buyer@personal.example.com",
                "alternate_notification_method": {
                    "phone": {
                        "country_code": "91",
                        "national_number": "9999988888",
                    },
                },
                "notification_language": "fr-FR",
            },
            {
                "recipient_type": "PAYPAL_ID",
                "amount": {
                    "value": "5.32",
                    "currency": "USD",
                },
                "note": "Thanks for your patronage!",
                "sender_item_id": "201403140003",
                "receiver": "xXXXXXX-50mQSYBJpg_OWguVkwYYYYYYY-ZAFupw-aaaaa-nnnnnnn",
            },
        ],
    };

    request.post(
        PAYPAL_API + "/v1/payments/payouts",
        {
            auth: {
                user: CLIENT,
                pass: SECRET,
            },
            requestBody,
            json: true,
        },
        function (err, response) {
            if (err) {
                console.error(err);
                return res.sendStatus(500);
            }
            // 4. Return a success response to the client
            res.json({
                status: "success",
            });
        }
    );
});
4

1 回答 1

0

你试过Payouts-NodeJS-SDK吗?


上述自定义代码的主要问题是您不是首先请求 OAuth 2.0 access_token,然后使用 access_token 进行 REST API 调用。

请参阅文档:https ://developer.paypal.com/docs/api/overview/#get-an-access-token

SDK 为您抽象了这一步。

于 2021-03-24T20:20:12.753 回答