我正在使用带有 php 的 PayPal 订阅 API。
到目前为止,我知道成功付款后会触发 PAYMENT.SALE.COMPLETED 事件。但该对象只包含一个计费协议(protocol) ID,似乎与订阅无关。如何获得有关客户和付款的更多详细信息?
示例 webhook 的内容
{
"id": "WH-1J525465EH157100Y-81K24252LY536784P",
"create_time": "2021-03-10T18:22:33.292Z",
"resource_type": "sale",
"event_type": "PAYMENT.SALE.COMPLETED",
"summary": "Payment completed for EUR 5.0 EUR",
"resource": {
"billing_agreement_id": "I-8XRLDA4MNEW3",
"amount": {
"total": "5.00",
"currency": "EUR",
"details": {
"subtotal": "5.00"
}
},
"payment_mode": "INSTANT_TRANSFER",
"update_time": "2021-03-10T18:22:13Z",
"create_time": "2021-03-10T18:22:13Z",
"protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE",
"transaction_fee": {
"currency": "EUR",
"value": "0.45"
},
"protection_eligibility": "ELIGIBLE",
"links": [
{
"method": "GET",
"rel": "self",
"href": "https://api.sandbox.paypal.com/v1/payments/sale/1P642136UK709905M"
},
{
"method": "POST",
"rel": "refund",
"href": "https://api.sandbox.paypal.com/v1/payments/sale/1P642136UK709905M/refund"
}
],
"id": "1P642136UK709905M",
"state": "completed",
"invoice_number": ""
},
"status": "SUCCESS",
"transmissions": [
{
"webhook_url": "https://musily.de/payment/webhook/paypal.php",
"http_status": 200,
"reason_phrase": "HTTP/1.1 200 Connection established",
"response_headers": {
"Accept-Ranges": "none",
"Server": "Apache/2.4.46 (Unix)",
"Cache-Control": "max-age=172800",
"Expires": "Fri, 12 Mar 2021 18:23:16 GMT",
"Content-Length": "65",
"Date": "Wed, 10 Mar 2021 18:23:16 GMT",
"X-Powered-By": "PHP/7.3.27",
"Content-Type": "text/html"
},
"transmission_id": "a7472af0-81cd-11eb-aacd-47b3747d966f",
"status": "SUCCESS",
"timestamp": "2021-03-10T18:23:03Z"
}
],
"links": [
{
"href": "https://api.sandbox.paypal.com/v1/notifications/webhooks-events/WH-1J525465EH157100Y-81K24252LY536784P",
"rel": "self",
"method": "GET",
"encType": "application/json"
},
{
"href": "https://api.sandbox.paypal.com/v1/notifications/webhooks-events/WH-1J525465EH157100Y-81K24252LY536784P/resend",
"rel": "resend",
"method": "POST",
"encType": "application/json"
}
],
"event_version": "1.0"
}
最佳答案
"billing_agreement_id": "I-8XRLDA4MNEW3",
那就是您订阅的 ID。
"id": "1P642136UK709905M",
那就是您的 PayPal 交易/销售/捕获 ID。
"links": [ { "method": "GET", "rel": "self", "href": "https://api.sandbox.paypal.com/v1/payments/sale/1P642136UK709905M" }, {
有如何获取有关销售的详细信息(v2/payments/captures API 也可能有效,不确定)
关于paypal - PAYMENT.SALE.COMPLETED webhook 事件中的 PayPal 订阅 ID 和交易 ID 在哪里?如何获取他们的详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66571870/