Пример IPN PayPal: завершено, отменено, отменено, возвращено и возвращено
У меня были проблемы с обработкой сообщений PayPal IPN в разрабатываемом веб-приложении. Я обратился в службу технической поддержки PayPal Merchant за информацией об обработкеReversed
, Canceled_Reversed
а такжеRefunded
Сообщения IPN. Этот код ниже, что я нашел полезным из их ответов. Я надеюсь, что это будет использовать и другие:
Оплата:
{
"mc_gross":"5.00",
"protection_eligibility":"Ineligible",
"item_number1":"",
"payer_id":"2LMAK5CCRFC7Y",
"tax":"0.00",
"payment_date":"15:51:55 May 02, 2014 PDT",
"payment_status":"Completed",
"charset":"windows-1252",
"mc_shipping":"0.00",
"mc_handling":"0.00",
"first_name":"Roman",
"mc_fee":"0.45",
"notify_version":"3.8",
"custom":"",
"payer_status":"verified",
"num_cart_items":"1",
"mc_handling1":"0.00",
"verify_sign":"AhKjPyUAFwaeM5vZHwjU.0caZhHtAV.H1ZruV63s-yLcAYfGQU8WYTEX",
"payer_email":"XXXXXX",
"mc_shipping1":"0.00",
"tax1":"0.00",
"txn_id":"64M28299HV0955007",
"payment_type":"instant",
"last_name":"Arora",
"item_name1":"Air Pilots",
"receiver_email":"XXXXXX",
"payment_fee":"0.45",
"quantity1":"1",
"receiver_id":"XXXXXX",
"txn_type":"cart",
"mc_gross_1":"5.00",
"mc_currency":"USD",
"residence_country":"US",
"transaction_subject":"Air Pilots",
"payment_gross":"5.00",
"ipn_track_id":"dfa90ecb35b46"
}
Когда спор подается в центр разрешения PayPal: этот IPN имеет тот же txn_id первоначального платежа
{
"txn_type":"new_case",
"payment_date":"15:51:55 May 02, 2014 PDT",
"case_id":"PP-003-125-383-356",
"case_type":"dispute",
"business":"XXXXXX",
"verify_sign":"AbFfRIjxGf8ulMoIvA2Jhdo84gY5Ahewo.T-JjKYBzZxoAYuDLiZf5oK",
"payer_email":"XXXXXX",
"txn_id":"64M28299HV0955007",
"case_creation_date":"14:46:47 May 05, 2014 PDT",
"receiver_email":"XXXXXX",
"payer_id":"2LMAK5CCRFC7Y",
"receiver_id":"XXXXXX",
"reason_code":"non_receipt",
"custom":"","charset":"windows-1252",
"notify_version":"3.8",
"ipn_track_id":"6b3a7ef61a303"
}
Сумма на удержании (payment_status
являетсяReversed
): Txn_id первоначального платежа - parent_txn_id. У него новый txn_id.
{
"mc_gross":"-4.55",
"protection_eligibility":"Ineligible",
"item_number1":"",
"payer_id":"2LMAK5CCRFC7Y",
"payment_date":"14:47:45 May 05, 2014 PDT",
"payment_status":"Reversed",
"charset":"windows-1252",
"mc_shipping":"0.00",
"mc_handling":"0.00",
"first_name":"Roman",
"mc_fee":"-0.45",
"notify_version":"3.8",
"reason_code":"buyer_complaint",
"custom":"",
"business":"XXXXXX",
"mc_handling1":"0.00",
"verify_sign":"Aayt7rRv.9vczRke0KD5otSJgqTEA6ETzuIl3f7JWHiTh.q-Pp8Lh7QW",
"payer_email":"XXXXXX",
"mc_shipping1":"0.00",
"tax1":"0.00",
"parent_txn_id":"64M28299HV0955007",
"txn_id":"4RW75981SW305352R",
"payment_type":"instant",
"last_name":"Arora",
"item_name1":"Air Pilots",
"receiver_email":"XXXXXX",
"payment_fee":"-0.45",
"quantity1":"1",
"receiver_id":"XXXXXX",
"mc_gross_1":"5.00",
"mc_currency":"USD",
"residence_country":"US",
"transaction_subject":"Air Pilots",
"payment_gross":"-4.55",
"ipn_track_id":"ed496d8ef1d7d"
}
Выпущенная сумма (payment_status
являетсяCanceled_Reversal
) - Продавец выиграл спор: txn_id первоначального платежа - parent_txn_id. Он имеет тот же txn_id IPN - удерживаемая сумма.
{
"mc_gross":"4.55",
"protection_eligibility":"Ineligible",
"item_number1":"",
"payer_id":"2LMAK5CCRFC7Y",
"payment_date":"14:47:45 May 05, 2014 PDT",
"payment_status":"Canceled_Reversal",
"charset":"windows-1252",
"mc_shipping":"0.00",
"mc_handling":"0.00",
"first_name":"Roman",
"mc_fee":"0.45",
"notify_version":"3.8",
"reason_code":"buyer_complaint",
"custom":"",
"business":"XXXXXX",
"mc_handling1":"0.00",
"verify_sign":"Auodxl0Yf.7io9Qqvln7PODrgOvjAbuOsf7PTpgdLQyLHk1uoYabZCsl",
"payer_email":"XXXXXX",
"mc_shipping1":"0.00",
"tax1":"0.00",
"parent_txn_id":"64M28299HV0955007",
"txn_id":"4RW75981SW305352,R",
"payment_type":"instant",
"last_name":"Arora",
"item_name1":"Air Pilots",
"receiver_email":"XXXXXX",
"payment_fee":"0.45",
"quantity1":"1",
"receiver_id":"XXXXXX",
"mc_gross_1":"5.00",
"mc_currency":"USD",
"residence_country":"US",
"transaction_subject":"Air Pilots",
"payment_gross":"4.55",
"ipn_track_id":"72b0067375b5f"
}
Реверсирование (payment_status
являетсяRefunded
) - Торговец проиграл спор: txn_id первоначального платежа - parent_txn_id. У него новый txn_id.
{
"mc_gross":"-5.00",
"protection_eligibility":"Ineligible",
"item_number1":"",
"payer_id":"2LMAK5CCRFC7Y",
"payment_date":"10:45:49 May 06, 2014 PDT",
"payment_status":"Refunded",
"charset":"windows-1252",
"mc_shipping":"0.00",
"mc_handling":"0.00",
"first_name":"Roman",
"mc_fee":"-0.15",
"notify_version":"3.8",
"reason_code":"refund",
"custom":"",
"business":"XXXXXX",
"mc_handling1":"0.00",
"verify_sign":"AmmJ3Da6WMy0qcyvYpAIcfVWfBEgAJfGvFm8TK2MGOZV6Hc9Ll5axN.V",
"payer_email":"XXXXXX",
"mc_shipping1":"0.00",
"tax1":"0.00",
"parent_txn_id":"64M28299HV0955007",
"txn_id":"4CG08179BW957404H",
"payment_type":"instant",
"last_name":"Arora",
"item_name1":"Air Pilots",
"receiver_email":"XXXXXX",
"payment_fee":"-0.15",
"quantity1":"1",
"receiver_id":"XXXXXX",
"mc_gross_1":"5.00",
"mc_currency":"USD",
"residence_country":"US",
"transaction_subject":"Air Pilots",
"payment_gross":"-5.00",
"ipn_track_id":"54a6104f4cebb"
}