Build with the API
Use the ICEPAY Checkout API to build payments directly into your application.
This guide takes you through authentication, creating and retrieving payments, processing webhooks, issuing refunds, and other common payment operations.
Throughout this documentation, a customer is the person making the payment. This terminology is also used in API field names, SDK methods, and reporting columns, such as customer, WithCustomerEmail(), and CustomerName.
How the integration works
Section titled “How the integration works”A typical payment starts in your backend and continues through ICEPAY Checkout.
-
Create a payment
Create a payment from your backend with your own reference, the amount to collect, and the URLs ICEPAY can use during the payment flow.
-
Redirect the customer
Send the customer to the checkout URL returned by ICEPAY.
If you specified a payment method, the response may also contain a direct payment URL.
-
Let the customer complete the payment
The customer completes the payment through ICEPAY or the selected payment provider.
-
Handle webhooks and the customer’s return
ICEPAY sends payment updates to the
webhookUrlsupplied when you created the payment.Process these notifications on your backend and update the corresponding payment or order in your system.
After the payment flow, the customer is returned to the
redirectUrlsupplied when you created the payment. -
Retrieve the payment when needed
Retrieve the payment from ICEPAY when your application needs to explicitly check its current state.
API base URL
Section titled “API base URL”Send API requests to:
https://checkout.icepay.com/apiFor example, creating a payment uses:
POST https://checkout.icepay.com/api/payments
Before you begin
Section titled “Before you begin”Before building the integration, make sure you have:
- An ICEPAY Account for your company, with access through your ICEPAY User Account.
- A configured merchant.
- API credentials for the merchant you want to use.
- A backend capable of making HTTPS requests.
- A publicly reachable HTTPS endpoint for processing payment notifications.
Payment state
Section titled “Payment state”Your application should keep its own order state synchronised with the payment state reported by ICEPAY.
Payment updates are received through webhooks. You can also retrieve a payment through the API when your application needs to explicitly check its current state.
For a detailed explanation of payment statuses and how a payment progresses, see the Payment lifecycle.
Next step
Section titled “Next step”Before making your first API request, configure authentication for your ICEPAY merchant.
Learn how to authenticate requests to the ICEPAY Checkout API using your merchant credentials.

