Create Payment

API POST Fields (in addition to the Main Fields described in the Introduction)

Field NameDescriptionRequired?
Create Fixed-Price Payment
cmdcreate_transactionYes
amountThe amount of the payment in the original currency (currency1 below).Yes
currency1The original currency of the payment.Yes
currency2The currency the buyer will be sending. For example if your products are priced in USD but you are receiving BTC, you would use currency1=USD and currency2=BTC.
currency1 and currency2 can be set to the same thing if you don't need currency conversion.
Yes
buyer_emailSet the buyer's email address. This will let us send them a notice if they underpay or need a refund. We will not add them to our mailing list or spam them or anything like that.Yes
addressOptionally set the address to send the funds to (if not set will use the settings you have set on the 'Coins Acceptance Settings' page).
Remember: this must be an address in currency2's network.
No
buyer_nameOptionally set the buyer's name for your reference.No
item_nameItem name for your reference, will be on the payment information page and in the IPNs for the payment.No
item_numberItem number for your reference, will be on the payment information page and in the IPNs for the payment.No
invoiceAnother field for your use, will be on the payment information page and in the IPNs for the payment.No
customAnother field for your use, will be on the payment information page and in the IPNs for the payment.No
ipn_urlURL for your IPN callbacks. If not set it will use the IPN URL in your Edit Settings page if you have one set.No
success_urlSets a URL to go to if the buyer does complete payment. (Only if you use the returned 'checkout_url', no effect/need if designing your own checkout page.)No
cancel_urlSets a URL to go to if the buyer does not complete payment. (Only if you use the returned 'checkout_url', no effect/need if designing your own checkout page.)No

API Response

A successful call to the 'create_transaction' command will give you a result similar to this (JSON):
{
   "error":"ok",
   "result":{
      "amount":"1.00000000",
      "address":"ZZZ",
      "dest_tag":"YYY",
      "txn_id":"XXX",
      "confirms_needed":"10",
      "timeout":9000,
      "checkout_url":"https:\/\/www.coinpayments.net\/index.php?cmd=checkout&id=XXX&key=ZZZ"
      "status_url":"https:\/\/www.coinpayments.net\/index.php?cmd=status&id=XXX&key=ZZZ"
      "qrcode_url":"https:\/\/www.coinpayments.net\/qrgen.php?id=XXX&key=ZZZ"
   }
}
The result wil have the following fields:
  • amount = The amount for the buyer to send in the destination currency (currency2).
  • address = The address the buyer needs to send the coins to.
  • dest_tag = The tag buyers need to attach for the payment to complete. (only included for coins that require them such as XRP/XMR/etc.)
  • alt_address = Optional alternate representation of an address such as X-address format for Ripple or legacy V-prefix for Velas EVM.
  • txn_id = The CoinPayments.net payment ID.
  • confirms_needed = The number of confirms needed for the payment to be complete.
  • timeout = How long the buyer has to send the coins and have them be confirmed in seconds.
  • checkout_url = While normally you would be designing the full checkout experience on your site you can use this URL to provide the final payment page to the buyer.
  • status_url = A longer-term URL where the buyer can view the payment status and leave feedback for you. This would typically be emailed to the buyer.
  • qrcode_url = A URL to a QR code you can display for buyer's paying with a QR supporting wallet.