PayPal Orders API оплата стороннему получателю - PullRequest
1 голос
/ 22 марта 2020

Я хочу облегчить отправку денег на торговый счет PayPal. Я создал дополнительный бизнес-аккаунт в песочнице PayPal. Я сделал заказ с этим аккаунтом в качестве получателя. Но когда я получаю заказ (после одобрения плательщика), получатель все равно остается моим аккаунтом актера. Нужна ли какая-то специальная конфигурация в песочнице? И в производстве предполагаемый получатель должен дать мне специальные разрешения?

Array
(
    [intent] => AUTHORIZE
    [application_context] => Array
        (
            [return_url] => http://example.com/cart/PP_Payment.php?success=true
            [cancel_url] => http://example.com/cart/PP_Payment.php?success=false
            [brand_name] => Company X
        )

    [payee] => Array
        (
            [email_address] => sb-u4hosest4@business.example.com
        )

    [inovoice_id] => 1-GD2U-70E7-4Y
    [items] => Array
        (
            [0] => Array
                (
                    [quantity] => 1
                    [name] => Rabenhorst Klostergarten BIO Mini
                    [unit_amount] => Array
                        (
                            [currency_code] => EUR
                            [value] => 1.04
                        )

                    [sku] => 97899
                )

            [1] => Array
                (
                    [quantity] => 1
                    [name] => Lupinen Filet
                    [unit_amount] => Array
                        (
                            [currency_code] => EUR
                            [value] => 3.87
                        )

                    [sku] => 66911
                )

            [2] => Array
                (
                    [quantity] => 1
                    [name] => Kühltasche/-akku
                    [unit_amount] => Array
                        (
                            [currency_code] => EUR
                            [value] => 6
                        )

                    [sku] => P002
                )

        )

    [purchase_units] => Array
        (
            [0] => Array
                (
                    [amount] => Array
                        (
                            [currency_code] => EUR
                            [value] => 15.86
                            [breakdown] => Array
                                (
                                    [item_total] => Array
                                        (
                                            [currency_code] => EUR
                                            [value] => 10.91
                                        )

                                    [shipping] => Array
                                        (
                                            [currency_code] => EUR
                                            [value] => 4.95
                                        )

                                )

                        )

                )

        )

)

Результат: ##########

Array
(
    [id] => 5KPxxxx
    [links] => Array
        (
            [0] => Array
                (
                    [href] => https://api.sandbox.paypal.com/v2/checkout/orders/5KPxxxx
                    [rel] => self
                    [method] => GET
                )

            [1] => Array
                (
                    [href] => https://www.sandbox.paypal.com/checkoutnow?token=5KPxxxx
                    [rel] => approve
                    [method] => GET
                )

            [2] => Array
                (
                    [href] => https://api.sandbox.paypal.com/v2/checkout/orders/5KPxxxx
                    [rel] => update
                    [method] => PATCH
                )

            [3] => Array
                (
                    [href] => https://api.sandbox.paypal.com/v2/checkout/orders/5KPxxxx/authorize
                    [rel] => authorize
                    [method] => POST
                )

        )

    [status] => CREATED
)

но когда я получу заказ то получатель - это я, а не выбранная третья сторона

Array
(
    [id] => 5KPxxxx
    [intent] => AUTHORIZE
    [purchase_units] => Array
        (
            [0] => Array
                (
                    [reference_id] => default
                    [amount] => Array
                        (
                            [currency_code] => EUR
                            [value] => 15.86
                            [breakdown] => Array
                                (
                                    [item_total] => Array
                                        (
                                            [currency_code] => EUR
                                            [value] => 10.91
                                        )

                                    [shipping] => Array
                                        (
                                            [currency_code] => EUR
                                            [value] => 4.95
                                        )

                                )

                        )

                    [payee] => Array
                        (
                            [email_address] => mike@www.org
                            [merchant_id] => FXXX
                            [display_data] => Array
                                (
                                    [brand_name] => Company X
                                )

                        )

                    [shipping] => Array
                        (
                            [name] => Array
                                (
                                    [full_name] => test buyer
                                )

                            [address] => Array
                                (
                                    [address_line_1] => ESpachstr. 1
                                    [admin_area_2] => Freiburg
                                    [admin_area_1] => Empty
                                    [postal_code] => 79111
                                    [country_code] => DE
                                )

                        )

                )

        )

    [payer] => Array
        (
            [name] => Array
                (
                    [given_name] => test
                    [surname] => buyer
                )

            [email_address] => mt-buyer@w3xxx.org
            [payer_id] => 4xxx
            [address] => Array
                (
                    [country_code] => DE
                )

        )

    [create_time] => 2020-03-22T09:32:48Z
    [links] => Array
        (
            [0] => Array
                (
                    [href] => https://api.sandbox.paypal.com/v2/checkout/orders/5KPxxxx
                    [rel] => self
                    [method] => GET
                )

            [1] => Array
                (
                    [href] => https://api.sandbox.paypal.com/v2/checkout/orders/5KPxxxx/authorize
                    [rel] => authorize
                    [method] => POST
                )

        )

    [status] => APPROVED
)

1 Ответ

1 голос
/ 22 марта 2020
 [payee] => Array
        (
            [email_address] => sb-u4hosest4@business.example.com
        )

Этот получатель платежа игнорируется, поскольку его нет в объекте purchase_units.

См. Пример в документации .


Хотя вы наверняка можете сделать намерение: CAPTURE, другое соображение заключается в том, что намерение: AUTHORIZE (и более поздний захват) могут не поддерживаться без разрешений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...