PayPal REST завершенаПлата за информацию о покупке - PullRequest
1 голос
/ 22 января 2020

Как я могу получить комиссию от PayPal?

Когда я завершу покупку, я могу сделать $ data = $ response-> getData () и получить эту информацию:

Array (
    [id] => PAYID-LYUDPFA8E292123AP955374L
    [intent] => sale
    [state] => approved
    [cart] => 3CN05415NR550735F
    [payer] => Array (
    [payment_method] => paypal
    [status] => VERIFIED
    [payer_info] => Array (
    [email] => accounting-buyer@mobipium.com
    [first_name] => test
    [last_name] => buyer
    [payer_id] => GTHZDZWYCELWU
    [shipping_address] => Array (
    [recipient_name] => test buyer
    [line1] => 1 Main St
    [city] => San Jose
    [state] => CA
    [postal_code] => 95131
    [country_code] => US
    )
    [country_code] => US
    )
    )
    [transactions] => Array (
    [0] => Array (
    [amount] => Array (
    [total] => 1500.00
    [currency] => EUR
    [details] => Array (
    [subtotal] => 1500.00
    [shipping] => 0.00
    [insurance] => 0.00
    [handling_fee] => 0.00
    [shipping_discount] => 0.00
    )
    )
    [payee] => Array (
    [merchant_id] => PCQDHVBJUD4WN
    [email] => accounting-facilitator@mobipium.com
    )
    [description] => 5e2837933fdc3
    [invoice_number] => 5e2837933fdc3
    [item_list] => Array (
    [shipping_address] => Array (
    [recipient_name] => test buyer
    [line1] => 1 Main St
    [city] => San Jose
    [state] => CA
    [postal_code] => 95131
    [country_code] => US
    )
    )
    [related_resources] => Array (
    [0] => Array (
    [sale] => Array (
    [id] => 9XL29023PP3022045
    [state] => pending
    [amount] => Array (
    [total] => 1500.00
    [currency] => EUR
    [details] => Array (
    [subtotal] => 1500.00
    [shipping] => 0.00
    [insurance] => 0.00
    [handling_fee] => 0.00
    [shipping_discount] => 0.00
    )
    )
    [payment_mode] => INSTANT_TRANSFER
    [reason_code] => RECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION
    [protection_eligibility] => ELIGIBLE
    [protection_eligibility_type] => ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE
    [receivable_amount] => Array (
    [value] => 1500.00
    [currency] => EUR
    )
    [exchange_rate] => 0.8627555079
    [parent_payment] => PAYID-LYUDPFA8E292123AP955374L
    [create_time] => 2020-01-22T11:53:12Z
    [update_time] => 2020-01-22T11:53:12Z
    [links] => Array (
    [0] => Array (
    [href] => https://api.sandbox.paypal.com/v1/payments/sale/9XL29023PP3022045
    [rel] => self
    [method] => GET
    )
    [1] => Array (
    [href] => https://api.sandbox.paypal.com/v1/payments/sale/9XL29023PP3022045/refund
    [rel] => refund
    [method] => POST
    )
    [2] => Array (
    [href] => https://api.sandbox.paypal.com/v1/payments/payment/PAYID-LYUDPFA8E292123AP955374L
    [rel] => parent_payment
    [method] => GET
    )
    )
    )
    )
    )
    )
    )
    [create_time] => 2020-01-22T11:52:52Z
    [update_time] => 2020-01-22T11:53:12Z
    [links] => Array (
    [0] => Array (
    [href] => https://api.sandbox.paypal.com/v1/payments/payment/PAYID-LYUDPFA8E292123AP955374L
    [rel] => self
    [method] => GET
    )
    )
)

Я вижу только поле handle_fee, но когда я получаю доступ к своей учетной записи координатора https://gyazo.com/fc55e97066ee755efee7867a3c42e913, я вижу оценочное поле, как я могу получить это поле? Я уже делаю интеграцию с PayPal, и я могу получить это поле из $response['data']['transactions'][0]['related_resources'][0]['sale']['transaction_fee']['value']; Но эта продажа поля не имеет поля transaction_fee.

1 Ответ

0 голосов
/ 23 января 2020

Платежи в state=>approved должны быть выполнены, чтобы быть в state=> completed.

После того, как платеж завершен или, по крайней мере, ожидает , его продажа объект, доступный в https://api.sandbox.paypal.com/v1/payments/sale/9XL29023PP3022045 в вашем примере, должен содержать подробную информацию о финансовых результатах. Это идентификатор, который имеет фактическую учетную стоимость и который будет сохраняться в течение многих лет в учетной записи paypal.com.

Объект платежа, id PAYID-LYUDPFA8E292123AP955374L в вашем примере, используется только во время подтверждения платежа и процесс исполнения. Его нужно хранить только в течение ~ 1 месяца для целей отладки, поскольку он не имеет учетной стоимости и не будет ссылаться на paypal.com

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