IPN parameters
Overview
Depending on your IPN settings, notifications contain all or a subset of the available parameters.
2Checkout sends IPN parameters exemplified in this article.
2Checkout continues to add new IPN parameters on an ongoing basis. To include additional information in the notifications, enable the new parameters in the IPN settings page, in your Merchant Control Panel.
Some parameters might behave differently depending on the payment method. For example, parameter MESSAGE_TYPE behaves differently on the SEPA Direct debit flow, therefore the values for the parameters received are different than those in the table below. Parameter values for the Credit card flow: "ORDERSTATUS": "PAYMENT_RECEIVED" / "MESSAGE_TYPE": "APPROVED". Parameter values for the SEPA Direct debit flow: "ORDERSTATUS": "PAYMENT_RECEIVED" / "MESSAGE_TYPE": "PROCESSING".
IPN Parameters
GIFT_ORDER
Allows shoppers to gift the subscription/product acquired to the recipient specified using the delivery details during the purchase process. Possible values: - 0 – Not a gift order. - 1 – Gift order. The subscription/product is a gift.
Integer/1
SALEDATE
Y-m-d H:i:s. The datetime stamp when shoppers place orders (e.g.: 2008-06-22 19:33:28) (e.g.: 2013-12-01 01:00:24)
String/19
PAYMENTDATE
Y-m-d H:i:s. The datetime stamp when payment processors authorize a transaction for an order 2Checkout approved (e.g.: 2008-06-22 14:30:24) (e.g.: 2013-12-01 01:00:24)
String/19
COMPLETE_DATE
Y-m-d H:i:s. The datetime stamp when orders reach Complete status (2Checkout received payments and marked the order as fulfilled, if necessary). (e.g.: 2008-06-22 14:41:30) (e.g.: 2013-12-01 01:00:24)
String/19
REFNO
Unique, system-generated 2Checkout order reference.
Integer/9
REFNOEXT
The order reference code (max. 100 chars) you control. You can attach an external reference number to orders during the purchase process.
String/100
SHOPPER_REFERENCE_NUMBER
The internal reference number your customers assign to orders during the checkout process. Customers using Purchase Orders (POs) as the payment method during the ordering process have the option of setting identifiers for their orders to track and manage purchases in their own system.
String/255
ORIGINAL_REFNOEXT
Available for subscription renewals. Array of REFNOEXT (the external order reference - max. 100 chars) values set for the initial orders when the subscriptions were first acquired.
String/100
ORDERNO
Order counter (numeric, incremental). Visible in your account in the Order search area.
Integer
ORDERSTATUS
Current order status. Possible values are: • PENDING - Order placed, waiting bank authorization. • PAYMENT_AUTHORIZED – The bank authorized the payment. • SUSPECT – 2Checkout is reviewing the order having flagged it as a potential fraud attempt. Note: Not available by default. Contact 2Checkout directly to start receiving this order status. • INVALID – Invalid Billing/Delivery information. • COMPLETE – 2Checkout marked the order as complete. • REFUND – 2Checkout refunded the money paid back to the shopper. 2Checkout can only refund complete orders. • REVERSED – 2Checkout reversed a transaction and released the money back to the customer. 2Checkout can only reverse authorized orders that never reach the complete status. • PURCHASE_PENDING – Sent for orders placed using Purchase Orders after you approve the PO. 2Checkout is waiting for the customer to make the payment. • PAYMENT_RECEIVED – 2Checkout sends this notification when it received payment for orders with offline payment methods such as bank/wire transfer. • CANCELED - The 2Checkout system sends out notifications when: - 2Checkout representatives cancel eStore orders (only for orders that are not authorized/paid, otherwise a reverse or refund action is required). - Partner (Channel Manager) orders you cancel yourself. • PENDING_APPROVAL - 2Checkout has yet to approve this order.
String/22
PAYMETHOD
Order payment method.
String/255
PAYMETHOD_CODE
Payment method code. Possible values: (see table below)
String/250
CARD_TYPE
Shopper card type. When shoppers use multiple cards, 2Checkout includes the type of the last card used in the IPN - e.g. "Visa". Empty for non-card transactions.
String/255
CARD_LAST_DIGITS
The last 4 digits of the shopper credit/debit card. When shoppers use multiple cards, 2Checkout includes the last four digits of the last card used in the IPN - e.g. "Visa". Empty for non-card transactions.
String/4
CARD_EXPIRATION_DATE
MM/YY. Card expiration month and the year.
String/5
FX_RATE
Value of the exchange rate locked when the order reaches the Complete status. Includes the 2Checkout markup.
Float Number/100
FX_MARKUP
2Checkout exchange rate markup.
Float Number/100
PAYABLE_AMOUNT
Net profit in payout currency.
Float Number/100
PAYOUT_CURRENCY
Your account's default payout currency.
String/3
SHIPPING_TRACKING_NO
The tracking number requested as optional information when the order was marked as shipped.
String
SHIPPING_COMMENTS
Additional information requested as optional when the order was marked as shipped.
String
SHIPPING_TRACKING_URL
The Tracking URL defined when creating a shipping method.
String
SHIPPING_METHOD_NAME
Name of the shipping method used during the order.
String
SHIPPING_STATUS
Order shipment status. Possible values: - TRUE - for shipped orders - FALSE - for orders that are not shipped
String
CHARGEBACK_RESOLUTION
Chargeback status information. Possible values: · OPEN (chargeback is in progress) · WON (chargeback won by you) · LOST (chargeback won by the customer) · ACCEPTED (you agreed to repay the value of the order to the customer) · NONE (no chargeback initiated for the order) To manage chargeback notifications navigate to Control Panel Dashboard →Integrations → Webhooks and API, and click on the IPN settings tab: https://secure.avangate.com/cpanel/ipn_settings.php. In the General IPN Settings section, under Triggers, make sure to check the boxes next to the following options: · chargeback open (2Checkout sends an IPN when shoppers open a chargeback dispute). · chargeback closed - (2Checkout sends an IPN when the parties involved resolve a chargeback dispute). Also, check the checkbox next to the CHARGEBACK_RESOLUTION parameter featured in the Response tags area.
String/8
CHARGEBACK_REASON_CODE
Identifier for the chargeback dispute reason from the 2Checkout system. Empty for orders with no chargeback dispute initiated. Possible values: - MERCHANDISE_NOT_RECEIVED - Order not fulfilled/not delivered - NOT_AS_DESCRIBED - Product(s) not as described/not functional - DUPLICATE_TRANSACTION - Duplicate order - FRAUD / NOT_RECOGNIZED - Fraud/Order not recognized - CREDIT_NOT_PROCESSED - Agreed refund not processed - NOT_RECOGNIZED - New/renewal order not recognized - AUTHORIZATION_PROBLEM - Authorization problem - INFO_REQUEST - Information request - UNKNOWN - Unknown - CANCELED_RECURRING - Recurring payment was canceled
String/24
TEST_ORDER
Possible values: • 1 - for test orders • 0 - for real orders
Integer/1
GATEWAY_RESPONSE
Forwards the payment gateway response received as a part of the card authorization process. Contact 2Checkout directly if the GATEWAY_RESPONSE parameter is not available in the list under the Notification Details area on the IPN settings page. Log into your Control Panel account and access this link to download a list of all gateway responses: https://secure.avangate.com/cpanel/help.php?view=resources&download=2Xrl83GnmbOBuXG1kb%2B2YQ%3D%3D
String/255
IPN_ORDER_ORIGIN
Source of the order placed. Possible values: - Automatic Billing - WEB - Mobile - API
String/17
REFUND_REASON
Refund reason. Possible values can be one of the refund reasons defined in the platform: - Chargeback - Duplicate order - Not satisfied with the product - Product not received - Unwanted auto-renewal - Technical issue with the product - Other - No reason If you have set your own refund reasons, the value corresponds to the reasons selected in the refund process from your customized reasons. Click here to learn how to customize your refund reasons: https://verifone.cloud/docs/2checkout/Documentation/27Refunds_and_chargebacks/Refunds/
String
FRAUD_STATUS
Possible values: - APPROVED for orders with a low fraud risk that passed the fraud screening. - DENIED for orders with high score risk that were automatically rejected by the fraud engine. - UNDER REVIEW for orders with a high fraud risk that require manual review and approval before the charge can be collected. - PENDING for orders that are yet to enter the fraud screening.
String/12
MESSAGE_ID
The number generated incrementally for each sequence of message type sent to a seller.
Integer
MESSAGE_TYPE
The name of the event triggering the notification. See the MESSAGE_TYPE possible values table below.
String
VENDOR_CODE
Unique merchant identifier generated by the 2Checkout system.
String
PROPOSAL_ID
The unique identifier of the proposal generating the order. Can be found in Order additional information as text.
String
TAX_EXEMPT_ID
The tax exempt ID issued by 2Checkout.
String
PAYMETHOD_CODE possible values:
CCVISAMC
Visa/MasterCard/Eurocard
WIRE
Wire transfer
CCAMEX
American Express
CCDINERS
Diners Club
CCJCB
JCB
CC_APPLE_PAY
Apple Pay
PAYPAL
PayPal
VENDOR2VENDOR
Vendor to vendor
PURCHASE_ORDER
Purchase order
DISCOVER
Discover/Novus
CHECK
Check
DIRECT_EBANKING
DIRECTebanking.com
CARTE_BLEUE
Carte Bleue
FREE
Payment not required
ALIPAY
支付宝 (Alipay)
DIRECT_DEBIT
Direct Debit
IDEAL
iDEAL
WEBMONEY
Webmoney
PAYNEARME
Cash at 7-Eleven/Family Dollar/ACE
WIRE_ARMS_RS
Bank/Wire transfer - Channel Manager
CCVISAMC_ARMS_RS
Visa/MasterCard/Eurocard - Channel Manager
CCAMEX_ARMS_RS
American Express - Channel Manager
PAYPAL_ARMS_RS
PayPal - Channel Manager
CHECK_ARMS_RS
Check - Channel Manager
BOLETO
Boleto/Pix
DANKORT
Dankort
ACH
ACH
CC_INSTALLMENTS
Installments
DIRECT_DEBIT_UK
Direct Debit UK
UNIONPAY
UnionPay
TRIALPAY
TrialPay Checkout
CCELO
Elo Card
CCHIPERCARD
Hipercard
OPPOHJOLA
OP-Pohjola
NORDEA
Nordea
DANSKE
Danske
TRUSTLY
Trustly
WE_CHAT_PAY
WeChat Pay
TRUSTPAY
Trustpay
SKRILL_WALLET
Skrill Wallet
NETELLER
Neteller
CUSTOMER BILLING INFORMATION
FIRSTNAME
Customer first name
LASTNAME
Customer last name
COMPANY
Company Name
REGISTRATIONNUMBER
Company registration number
FISCALCODE
Company VAT ID / Tax ID
CBANKNAME
Company bank name
CBANKACCOUNT
Company bank account
ADDRESS1
Address
ADDRESS2
More address information
CITY
City
STATE
State/County
ZIPCODE
Zip code
COUNTRY
Country
COUNTRY_CODE
Country code
PHONE
Phone number
FAX
Fax number
CUSTOMEREMAIL
Customer email address
CUSTOMER DELIVERY INFORMATION
FIRSTNAME_D
First name
LASTNAME_D
Last name
COMPANY_D
Company name
ADDRESS1_D
Address
ADDRESS2_D
Extra address information
CITY_D
City
STATE_D
State/County
ZIPCODE_D
Zip code
COUNTRY_D
Country
COUNTRY_D_CODE
Country code
PHONE_D
Telephone number
EMAIL_D
Email address for delivery
IPADDRESS
Customer IP address
IPCOUNTRY
Country name, based on the user IP address
CUSTOM ORDER INFORMATION (selected highlights)
TIMEZONE_OFFSET
The time zone you selected or the default GMT+02:00 time zone of the 2Checkout system.
CURRENCY
Currency used in order. Possible values: USD, EUR, GBP. Depending on your account settings, other currencies might be available.
CUSTOM_PRICE
Array of strings. Allows you to see how the custom price is calculated and is included in the IPN message you receive after an order. It contains variables such as Product ID, License code, TYPE (GROSS/NET/empty), SOURCE_NAME, SOURCE_TYPE, DISCOUNT_VALUE, DISCOUNT_TYPE (PERCENT/FIXED), DISCOUNT_CURRENCY. Example:
apache<br>[CUSTOM_PRICE] => Array<br>(<br>[31029265] => Array<br>(<br>[H17120HBAY] => Array<br>(<br>[AMOUNT] => 80<br>[TYPE] => NET<br>[CURRENCY] => USD<br>[SOURCE_NAME] => custom price regular<br>[SOURCE_TYPE] => PROMOTION<br>[DISCOUNT_VALUE] => 20<br>[DISCOUNT_TYPE] => FIXED<br>[DISCOUNT_CURRENCY] => USD<br>)<br>)<br>)<br>
LANGUAGE
Payment interface language. Current possible values include: ar, bg, cs, da, de, el, en, es, fa, fi, fr, he, hi, hr, hu, it, ja, ko, nl, no, pl, pt, pt-br, ro, ru, sk, sl, sr, sv, th, tr, zh, zy.
ORDERFLOW
The type of ordering flow used for placing the order. Available values: PURCHASE_ORDER, REGULAR.
IPN_PID[] / IPN_PNAME[] / IPN_PCODE[] / IPN_QTY[] / IPN_PRICE[] / IPN_VAT[] / IPN_VAT_RATE[]
Arrays describing products and pricing per-order line.
IPN_TOTALGENERAL
Total transacted sum, including shipping and VAT, using dot (.) as float separator, expressed in the same currency as the CURRENCY field.
IPN_SHIPPING
Shipping costs, expressed in the same currency as the CURRENCY field, using dot (.) as float separator.
IPN_GLOBALDISCOUNT
Global order discount. Optional, sent only for values greater than 0.
IPN_COMMISSION
2Checkout commission, using dot (.) as float separator.
IPN_CUSTOM_TEXT[] / IPN_CUSTOM_VALUE[]
Custom fields set per order and corresponding client input.
IPN_PRODUCT_OPTIONS_1234_*
Product option fields per product where 1234 represents the 2Checkout product ID. For usage scale pricing options groups, responses include units consumed (format examples provided in descriptions).
IPN_REFERRER
The last URL accessed by the shopper before landing in the 2Checkout cart.
IPN_LINK_SOURCE
The link source for the sales. The SRC parameter used to track every sale point generator.
IPN_RESELLER_ID / IPN_RESELLER_NAME / IPN_RESELLER_URL / IPN_RESELLER_COMMISSION
Affiliate/referrer information.
IPN_LICENSE_LIFETIME[]
Array indicating products purchased with lifetime/evergreen option. Values: YES/NO.
IPN_PARTNER_CODE
Empty = ecommerce order; otherwise partner code.
2CHECKOUT_CUSTOMER_REFERENCE
Default customer numerical (integer) IDs generated automatically by the 2Checkout system. See: https://secure.2checkout.com/cpanel/ipn_settings.php.
EXTERNAL_CUSTOMER_REFERENCE
Unique customer alphanumeric (string) identifiers that you control. See: https://secure.2checkout.com/cpanel/ipn_settings.php.
REFUND_TYPE
Describes refund type: TOTAL (entire sum) or PARTIAL (partial refund). Empty for non-refunds.
Various partner/margin/discount fields
IPN_PARTNER_MARGIN_PERCENT, IPN_PARTNER_MARGIN, IPN_EXTRA_MARGIN, IPN_EXTRA_DISCOUNT, IPN_COUPON_DISCOUNT, etc.
IPN_PROMOTION_CATEGORY[]
Array with the category of the promotions included in the order. Possible values: CROSS_SELLING, UPSELL, PROMOTION.
VALIDATION INFORMATION
IPN_DATE
IPN notification date in the YmdHis format. (ex: 20081117145935) (ex: 20131201010024)
HASH
Calculated HMAC_MD5 signature based on the sent IPN fields and the secret key. (Note: This parameter won't be used anymore for IPN validation as of 15th of August, 2024.)
SIGNATURE_SHA2_256
Calculated HMAC_SHA2_256 signature based on the sent IPN fields and the secret key.
SIGNATURE_SHA3_256
Calculated HMAC_SHA3_256 signature based on the sent IPN fields and the secret key.
IPN_PURCHASE_ORDER_INFO
Order status and details for Purchase order acquisitions.
IPN_ORIGINAL_LINK_SOURCE[]
Array of IPN_LINK_SOURCE values for the initial orders when the subscriptions were first acquired. Available for subscription renewals.
CUSTOM_FIELDS
Additional order fields (dynamic variables). In your Merchant Control Panel, navigate to Setup - Ordering options - Additional order fields: https://secure.2checkout.com/cpanel/additional_fields.php
MESSAGE_TYPE possible values
PENDING
Pending orders.
PROCESSING
Orders waiting to be processed by 2Checkout system.
APPROVED
Authorized and approved orders (sent before electronic delivery).
AUTH
Authorized and approved orders (sent after electronic delivery).
APPROVED_DELIVERY
Order approved for delivery.
COMPLETE
Completed orders.
ORDER_UNDER_REVIEW
Orders under 2Checkout review.
SHOPPER_INVOICE
Invoice generated.
SUSPECT
Fraud suspect.
CANCELED
Canceled orders.
CHARGEBACK_OPEN
Chargeback open.
CHARGEBACK_CLOSED
Chargeback closed.
REFUND
Reversed and refund orders.
SEPA_REFUSAL
Direct Debit payment refused.
PURCHASE_PENDING
Approved
PURCHASE_REJECTED_BY_VENDOR
Rejected
PURCHASE_COMPLETE
Completed
PURCHASE_EXPIRED_NOT_PAID
Expired, not paid
PURCHASE_CANCELED_TIMEOUT
Canceled
PENDING_APPROVAL_ORDER_FOR_PARTNER
Pending approval orders from partners.
VENDOR_APPROVED
Approved orders from partners.
DELIVERED_ORDER_FOR_PARTNER
Delivered orders from partners.
Related links
Last updated
Was this helpful?