2015-02-23 2 views
1

Как можно получить родительский платеж с возмещения, который был отправлен мне PayPal?Получить подробную информацию (родительский платеж) о возмещении

Я получил это уведомление (webhook) от PayPal:

{ 
    "create_time": "2015-02-20T10:56:36Z", 
    "event_type": "PAYMENT.SALE.REFUNDED", 
    "id": "WH-XXX-XXX", 
    "links": [ 
    { 
     "href": "https://api.paypal.com/v1/notifications/webhooks-events/WH-XXX-XXX", 
     "method": "GET", 
     "rel": "self" 
    }, 
    { 
     "href": "https://api.paypal.com/v1/notifications/webhooks-events/WH-XXX-XXX/resend", 
     "method": "POST", 
     "rel": "resend" 
    } 
    ], 
    "resource": { 
    "amount": { 
     "currency": "EUR", 
     "details": { 
     "subtotal": "-XX.XX", 
     "tax": "XX.XX" 
     }, 
     "total": "-XX.XX" 
    }, 
    "create_time": "2015-02-20T10:55:10Z", 
    "id": "XXX", 
    "links": [ 
     { 
     "href": "https://10.73.133.169:17881/v1/payments/refund/XXX", 
     "method": "GET", 
     "rel": "self" 
     } 
    ], 
    "state": "completed" 
    }, 
    "resource_type": "sale", 
    "summary": "A EUR XX.XX EUR sale payment was refunded" 
} 

Если я взять ресурс -> идентификатор и сделать следующий запрос с PayPal PHP-SDK, я получаю объект возврата, но без " parent_payment»поле (описываемая здесь: https://developer.paypal.com/docs/api/#look-up-a-refund)

PayPal\Api\Refund::get($id, $api); 

Любой другой вызов, как ..

PayPal\Api\Sale::get($id, $api); 

или

PayPal\Api\Transaction::get($id, $api); 

или

PayPal\Api\Payment::get($id, $api); 

терпит неудачу!

Что не так с моими уведомлениями или методами, которые я использую?

UPDATE: Вот мой ответ от возврата :: получить() поиск:

{ 
    "id": "XXX", 
    "create_time": "2015-02-20T10:55:10Z", 
    "state": "completed", 
    "amount": { 
    "total": "-XX.XX", 
    "currency": "EUR", 
    "details": { 
     "subtotal": "-XX.XX", 
     "tax": "XX.XX" 
    } 
    }, 
    "links": [ 
    { 
     "href": "https://api.paypal.com/v1/payments/refund/XXX", 
     "rel": "self", 
     "method": "GET" 
    } 
    ] 
} 

ответ

0

Вообще, когда вы делаете lookup on Refund, вы получите ответ, который включает в себя parent_payment, которые должны иметь PaymentID, который можно использовать для извлечения объекта платежа.

Это как реакция будет выглядеть следующим образом:

Возврат: получить()

{ 
"id": "3KJ86032KA", 
"create_time": "2015-02-23T22:25:31Z", 
"update_time": "2015-02-23T22:25:31Z", 
"state": "completed", 
"amount": { 
    "total": "-0.01", 
    "currency": "USD" 
}, 
"sale_id": "4JE73984NP0170710", 
"parent_payment": "PAY-0J694581CG996145EKTV2RWA", 
"links": [ 
    { 
     "href": "https://api.sandbox.paypal.com/v1/payments/refund/3KJ86032KA", 
     "rel": "self", 
     "method": "GET" 
    }, 
    { 
     "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-0J694581CG996145EKTV2RWA", 
     "rel": "parent_payment", 
     "method": "GET" 
    }, 
    { 
     "href": "https://api.sandbox.paypal.com/v1/payments/sale/4JE73984NP0170710", 
     "rel": "sale", 
     "method": "GET" 
    } 
] 

}

Оплата: получить();

{ 
    "id": "PAY-1XX00578GL815852KKTV2RGI", 
    "create_time": "2015-02-23T22:24:25Z", 
    "update_time": "2015-02-23T22:24:28Z", 
    "state": "approved", 
    "intent": "sale", 
    "payer": { 
     "payment_method": "credit_card", 
     "funding_instruments": [ 
      { 
       "credit_card": { 
        "type": "visa", 
        "number": "xxxxxxxxxxxx2259", 
        "expire_month": "11", 
        "expire_year": "2019", 
        "first_name": "Joe", 
        "last_name": "Shopper" 
       } 
      } 
     ] 
    }, 
    "transactions": [ 
     { 
      "amount": { 
       "total": "20.00", 
       "currency": "USD", 
       "details": { 
        "subtotal": "17.50", 
        "tax": "1.30", 
        "shipping": "1.20" 
       } 
      }, 
      "description": "Payment description", 
      "invoice_number": "54eba89962365", 
      "item_list": { 
       "items": [ 
        { 
         "name": "Ground Coffee 40 oz", 
         "price": "7.50", 
         "currency": "USD", 
         "quantity": "1", 
         "description": "Ground Coffee 40 oz", 
         "tax": "0.30" 
        }, 
        { 
         "name": "Granola bars", 
         "price": "2.00", 
         "currency": "USD", 
         "quantity": "5", 
         "description": "Granola Bars with Peanuts", 
         "tax": "0.20" 
        } 
       ] 
      }, 
      "related_resources": [ 
       { 
        "sale": { 
         "id": "40F92773GL716624V", 
         "create_time": "2015-02-23T22:24:25Z", 
         "update_time": "2015-02-23T22:24:28Z", 
         "amount": { 
          "total": "20.00", 
          "currency": "USD" 
         }, 
         "state": "partially_refunded", 
         "parent_payment": "PAY-1XX00578GL815852KKTV2RGI", 
         "links": [ 
          { 
           "href": "https://api.sandbox.paypal.com/v1/payments/sale/40F92773GL716624V", 
           "rel": "self", 
           "method": "GET" 
          }, 
          { 
           "href": "https://api.sandbox.paypal.com/v1/payments/sale/40F92773GL716624V/refund", 
           "rel": "refund", 
           "method": "POST" 
          }, 
          { 
           "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-1XX00578GL815852KKTV2RGI", 
           "rel": "parent_payment", 
           "method": "GET" 
          } 
         ] 
        } 
       }, 
       { 
        "refund": { 
         "id": "50V96618DN7676452", 
         "create_time": "2015-02-23T22:24:28Z", 
         "update_time": "2015-02-23T22:24:28Z", 
         "state": "completed", 
         "amount": { 
          "total": "-0.01", 
          "currency": "USD" 
         }, 
         "sale_id": "40F92773GL716624V", 
         "parent_payment": "PAY-1XX00578GL815852KKTV2RGI", 
         "links": [ 
          { 
           "href": "https://api.sandbox.paypal.com/v1/payments/refund/50V96618DN7676452", 
           "rel": "self", 
           "method": "GET" 
          }, 
          { 
           "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-1XX00578GL815852KKTV2RGI", 
           "rel": "parent_payment", 
           "method": "GET" 
          }, 
          { 
           "href": "https://api.sandbox.paypal.com/v1/payments/sale/40F92773GL716624V", 
           "rel": "sale", 
           "method": "GET" 
          } 
         ] 
        } 
       } 
      ] 
     } 
    ], 
    "links": [ 
     { 
      "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-1XX00578GL815852KKTV2RGI", 
      "rel": "self", 
      "method": "GET" 
     } 
    ] 
} 
+0

Извините, но я не получил «parent_payment», если я сделаю запрос возврата на идентификатор ресурса, который я получил через webhook. Можно ли отправить вам идентификатор id id/webhook id через личное сообщение, чтобы вы могли подтвердить это? – marvin

+0

Я обновил свой вопрос с ответом на возврат средств! – marvin