Field Name | Description | Required? | |
---|---|---|---|
Required Fields These fields will be here for all IPN types. | |||
ipn_version | 1.0 | Yes | |
ipn_type | Currently: 'simple, 'button', 'cart', 'donation', 'deposit', 'withdrawal', or 'api' | Yes | |
ipn_mode | Currently: 'hmac' | Yes | |
ipn_id | The unique identifier of this IPN | Yes | |
merchant | Your merchant ID (you can find this on the My Account page). | Yes | |
Callback Address Deposit Information (ipn_type = 'deposit') | |||
deposit_id | A unique ID assigned by CoinPayments for this payment. This can be used for duplicate/uniqueness checking since it is possible to have multiple deposits with the same TXID but to different addresses in some coins. | Yes | |
txn_id | The coin transaction ID of the payment. | Yes | |
address | Coin address the payment was received on. | Yes | |
dest_tag | For coins that use an extra tag it will include it here. For example Ripple Destination Tag, Monero Payment ID, etc. | No | |
status | Numeric status of the payment, currently 0 = pending and 100 = confirmed/complete. For future proofing you should use the same logic as Payment Statuses. IMPORTANT: You should never ship/release your product until the status is >= 100 | Yes | |
status_text | A text string describing the status of the payment. (useful for displaying in order comments) | Yes | |
currency | The coin the buyer paid with. | Yes | |
confirms | The number of confirms the payment has. | Yes | |
amount | The total amount of the payment | Yes | |
amounti | The total amount of the payment in Satoshis | Yes | |
fee | The fee deducted by CoinPayments (only sent when status >= 100) | No | |
feei | The fee deducted by CoinPayments in Satoshis (only sent when status >= 100) | No | |
fiat_coin | The ticker code of the fiat currency you selected on the Merchant Settings tab of the Account Settings page (USD, EUR, etc.) Make sure to check this for accuracy for security in your IPN handler! | Yes | |
fiat_amount | The total amount of the payment in the fiat currency you selected on the Merchant Settings tab of the Account Settings page. | Yes | |
fiat_amounti | The total amount of the payment in the fiat currency you selected in Satoshis | Yes | |
fiat_fee | The fee deducted by CoinPayments in the fiat currency you selected (only sent when status >= 100) | No | |
fiat_feei | The fee deducted by CoinPayments in the fiat currency you selected in Satoshis (only sent when status >= 100) | No | |
label | The address label if you have one set | No | |
Withdrawal Information (ipn_type = 'withdrawal') | |||
id | The ID of the withdrawal ('id' field returned from 'create_withdrawal'.) | Yes | |
status | Numeric status of the withdrawal, currently <0 = failed, 0 = waiting email confirmation, 1 = pending, and 2 = sent/complete. | Yes | |
status_text | A text string describing the status of the withdrawal. | Yes | |
address | Coin address the withdrawal was sent to. | Yes | |
dest_tag | For coins that use an extra tag it will include it here if one was provided. For example Ripple Destination Tag, Monero Payment ID, etc. | No | |
txn_id | The coin transaction ID of the withdrawal. | No | |
currency | The coin of the withdrawal. | Yes | |
amount | The total amount of the withdrawal | Yes | |
amounti | The total amount of the withdrawal in Satoshis | Yes | |
note | The note on the withdrawal (if set.) | No | |
Buyer Information (ipn_type = 'simple','button','cart','donation') | |||
first_name | Buyer's first name. Note: Only first_name or last_name is required, either may be empty but not both. | Yes | |
last_name | Buyer's last name. Note: Only first_name or last_name is required, either may be empty but not both. | Yes | |
company | Buyer's company name. | No | |
Buyer's email address. | Yes | ||
Shipping Information (ipn_type = 'simple','button','cart','donation') If 'want_shipping' was set to 1 we will collect and forward shipping information, but as always they could have manually messed with your button so be sure to verify it. | |||
address1 | Street / address line 1 | No | |
address2 | Street / address line 2 | No | |
city | City | No | |
state | State / Province | No | |
zip | Zip / Postal Code | No | |
country | Country of Residence This uses 2 digit ISO 3166 country codes. | No | |
country_name | Country of Residence This is a pretty version such as UNITED STATES or CANADA. | No | |
phone | Phone Number | No | |
Simple Button Fields (ipn_type = 'simple') | |||
status | The status of the payment. See Payment Statuses for details. | Yes | |
status_text | A text string describing the status of the payment. (useful for displaying in order comments) | Yes | |
txn_id | The unique ID of the payment. Your IPN handler should be able to handle a txn_id composed of any combination of a-z, A-Z, 0-9, and - up to 128 characters long for future proofing. | Yes | |
currency1 | The original currency/coin submitted in your button. Note: Make sure you check this, a malicious user could have changed it manually. | Yes | |
currency2 | The coin the buyer chose to pay with. | Yes | |
amount1 | The total amount of the payment in your original currency/coin. | Yes | |
amount2 | The total amount of the payment in the buyer's selected coin. | Yes | |
subtotal | The subtotal of the order before shipping and tax in your original currency/coin. | Yes | |
shipping | The shipping charged on the order in your original currency/coin. | Yes | |
tax | The tax on the order in your original currency/coin. | Yes | |
fee | The fee on the payment in the buyer's selected coin. | Yes | |
net | The net amount you received of the buyer's selected coin after our fee and any coin TX fees to send the coins to you. | Yes | |
item_amount | The amount of the item/order in the original currency/coin. | Yes | |
item_name | The name of the item that was purchased. | Yes | |
item_desc | Description of the item that was purchased. | No | |
item_number | This is a passthru variable for your own use. [visible to buyer] | No | |
invoice | This is a passthru variable for your own use. [not visible to buyer] | No | |
custom | This is a passthru variable for your own use. [not visible to buyer] | No | |
on1 | 1st option name. This lets you pass through a buyer option like size or color. | No (unless ov1 set) | |
ov1 | 1st option value. This would be the buyer's selection such as small, large, red, white. | No | |
on2 | 2nd option name. This lets you pass through a buyer option like size or color. | No (unless ov2 set) | |
ov2 | 2nd option value. This would be the buyer's selection such as small, large, red, white. | No | |
send_tx | The TX ID of the payment to the merchant. Only included when 'status' >= 100 and if the payment mode is set to ASAP or Nightly or if the payment is PayPal Passthru. | No | |
received_amount | The amount of currency2 received at the time the IPN was generated. | No | |
received_confirms | The number of confirms of 'received_amount' at the time the IPN was generated. | No | |
Advanced Button Fields (ipn_type = 'button') | |||
status | The status of the payment. See Payment Statuses for details. | Yes | |
status_text | A text string describing the status of the payment. (useful for displaying in order comments) | Yes | |
txn_id | The unique ID of the payment. Your IPN handler should be able to handle a txn_id composed of any combination of a-z, A-Z, 0-9, and - up to 128 characters long for future proofing. | Yes | |
currency1 | The original currency/coin submitted in your button. Note: Make sure you check this, a malicious user could have changed it manually. | Yes | |
currency2 | The coin the buyer chose to pay with. | Yes | |
amount1 | The total amount of the payment in your original currency/coin. | Yes | |
amount2 | The total amount of the payment in the buyer's selected coin. | Yes | |
subtotal | The subtotal of the order before shipping and tax in your original currency/coin. | Yes | |
shipping | The shipping charged on the order in your original currency/coin. | Yes | |
tax | The tax on the order in your original currency/coin. | Yes | |
fee | The fee on the payment in the buyer's selected coin. | Yes | |
net | The net amount you received of the buyer's selected coin after our fee and any coin TX fees to send the coins to you. | Yes | |
item_amount | The amount per-item in the original currency/coin. | Yes | |
item_name | The name of the item that was purchased. | Yes | |
quantity | The quantity of items bought. | Yes | |
item_number | This is a passthru variable for your own use. [visible to buyer] | No | |
invoice | This is a passthru variable for your own use. [not visible to buyer] | No | |
custom | This is a passthru variable for your own use. [not visible to buyer] | No | |
on1 | 1st option name. This lets you pass through a buyer option like size or color. | No (unless ov1 set) | |
ov1 | 1st option value. This would be the buyer's selection such as small, large, red, white. | No | |
on2 | 2nd option name. This lets you pass through a buyer option like size or color. | No (unless ov2 set) | |
ov2 | 2nd option value. This would be the buyer's selection such as small, large, red, white. | No | |
extra | A note from the buyer. | No | |
send_tx | The TX ID of the payment to the merchant. Only included when 'status' >= 100 and if the payment mode is set to ASAP or Nightly or if the payment is PayPal Passthru. | No | |
received_amount | The amount of currency2 received at the time the IPN was generated. | No | |
received_confirms | The number of confirms of 'received_amount' at the time the IPN was generated. | No | |
Shopping Cart Button Fields (ipn_type = 'cart') | |||
status | The status of the payment. See Payment Statuses for details. | Yes | |
status_text | A text string describing the status of the payment. (useful for displaying in order comments) | Yes | |
txn_id | The unique ID of the payment. Your IPN handler should be able to handle a txn_id composed of any combination of a-z, A-Z, 0-9, and - up to 128 characters long for future proofing. | Yes | |
currency1 | The original currency/coin submitted in your button. Note: Make sure you check this, a malicious user could have changed it manually. | Yes | |
currency2 | The coin the buyer chose to pay with. | Yes | |
amount1 | The total amount of the payment in your original currency/coin. | Yes | |
amount2 | The total amount of the payment in the buyer's selected coin. | Yes | |
subtotal | The subtotal of the order before shipping and tax in your original currency/coin. | Yes | |
shipping | The shipping charged on the order in your original currency/coin. | Yes | |
tax | The tax on the order in your original currency/coin. | Yes | |
fee | The fee on the payment in the buyer's selected coin. | Yes | |
item_name_# | The name of the item that was purchased. The # starts with 1. | Yes | |
item_amount_# | The amount per-item in the original currency/coin. | Yes | |
item_quantity_# | The quantity of items bought. | Yes | |
item_number_# | This is a passthru variable for your own use. [visible to buyer] | No | |
item_on1_# | 1st option name. This lets you pass through a buyer option like size or color. | No (unless ov1 set) | |
item_ov1_# | 1st option value. This would be the buyer's selection such as small, large, red, white. | No | |
item_on2_# | 2nd option name. This lets you pass through a buyer option like size or color. | No (unless ov2 set) | |
item_ov2_# | 2nd option value. This would be the buyer's selection such as small, large, red, white. | No | |
invoice | This is a passthru variable for your own use. [not visible to buyer] | No | |
custom | This is a passthru variable for your own use. [not visible to buyer] | No | |
extra | A note from the buyer. | No | |
send_tx | The TX ID of the payment to the merchant. Only included when 'status' >= 100 and if the payment mode is set to ASAP or Nightly or if the payment is PayPal Passthru. | No | |
received_amount | The amount of currency2 received at the time the IPN was generated. | No | |
received_confirms | The number of confirms of 'received_amount' at the time the IPN was generated. | No | |
Donation Button Fields (ipn_type = 'donation') | |||
status | The status of the payment. See Payment Statuses for details. | Yes | |
status_text | A text string describing the status of the payment. (useful for displaying in order comments) | Yes | |
txn_id | The unique ID of the payment. Your IPN handler should be able to handle a txn_id composed of any combination of a-z, A-Z, 0-9, and - up to 128 characters long for future proofing. | Yes | |
currency1 | The original currency/coin submitted in your button. Note: Make sure you check this! | Yes | |
currency2 | The coin the donator chose to pay with. | Yes | |
amount1 | The total amount of the payment in your original currency/coin. | Yes | |
amount2 | The total amount of the payment in the donator's selected coin. | Yes | |
subtotal | The subtotal of the order before shipping and tax in your original currency/coin. | Yes | |
shipping | The shipping charged on the order in your original currency/coin. | Yes | |
tax | The tax on the order in your original currency/coin. | Yes | |
fee | The fee on the payment in the donator's selected coin. | Yes | |
net | The net amount you received of the buyer's selected coin after our fee and any coin TX fees to send the coins to you. | Yes | |
item_name | The name of the donation. | Yes | |
item_number | This is a passthru variable for your own use. [not visible to donator] | No | |
invoice | This is a passthru variable for your own use. [not visible to donator] | No | |
custom | This is a passthru variable for your own use. [not visible to donator] | No | |
on1 | 1st option name. This lets you pass through a donator option like size or color. | No (unless ov1 set) | |
ov1 | 1st option value. This would be the donator's selection such as small, large, red, white. | No | |
on2 | 2nd option name. This lets you pass through a donator option like size or color. | No (unless ov2 set) | |
ov2 | 2nd option value. This would be the donator's selection such as small, large, red, white. | No | |
extra | A note from the donator. | No | |
send_tx | The TX ID of the payment to the merchant. Only included when 'status' >= 100 and if the payment mode is set to ASAP or Nightly or if the payment is PayPal Passthru. | No | |
received_amount | The amount of currency2 received at the time the IPN was generated. | No | |
received_confirms | The number of confirms of 'received_amount' at the time the IPN was generated. | No | |
API Generated Transaction Fields ('create_transaction' API call) (ipn_type = 'api') | |||
status | The status of the payment. See Payment Statuses for details. | Yes | |
status_text | A text string describing the status of the payment. (useful for displaying in order comments) | Yes | |
txn_id | The unique ID of the payment. Your IPN handler should be able to handle a txn_id composed of any combination of a-z, A-Z, 0-9, and - up to 128 characters long for future proofing. | Yes | |
currency1 | The original currency/coin submitted. | Yes | |
currency2 | The coin the buyer paid with. | Yes | |
amount1 | The amount of the payment in your original currency/coin. | Yes | |
amount2 | The amount of the payment in the buyer's coin. | Yes | |
fee | The fee on the payment in the buyer's selected coin. | Yes | |
buyer_name | The name of the buyer. | No | |
Buyer's email address. | No | ||
item_name | The name of the item that was purchased. | No | |
item_number | This is a passthru variable for your own use. | No | |
invoice | This is a passthru variable for your own use. | No | |
custom | This is a passthru variable for your own use. | No | |
send_tx | The TX ID of the payment to the merchant. Only included when 'status' >= 100 and if the payment mode is set to ASAP or Nightly or if the payment is PayPal Passthru. | No | |
received_amount | The amount of currency2 received at the time the IPN was generated. | No | |
received_confirms | The number of confirms of 'received_amount' at the time the IPN was generated. | No |