Welcome to the Finite Pay crypto API! This guide will help you get started with integrating our payment system, allowing your application to accept cryptocurrency as payment seamlessly.
Finite Pay’s Payments API allows developers to build secure, efficient, and reliable payment integrations for receiving crypto payments. Whether you're setting up for the first time or testing in a sandbox environment, this guide will walk you through key endpoints, API keys, and integration steps to accept payments using Finite Pay APIs.
| Environment | Base URL |
|---|---|
| Sandbox (Testing) |
http://business.finitepay.org/api/v1
|
| Production (Live) | https://pay.finitepay.org/api |
Your API requests are authenticated using API Keys generated by you in your Finite Pay for Businesses Dashboard. To begin using the API, you'll need to generate your API keys from the WCT Pay Dashboard. These keys are essential for authenticating your requests.
Note: The API keys are unique to each environment (Sandbox or Production), so you’ll need to ensure you’re using the correct key based on where you’re testing or deploying.
Finite Pay for businesses provides distinct endpoints for Sandbox (testing) and Production (live transactions). The endpoints are structured similarly but serve different environments.
Sandbox allows you to test your integration without processing real payments.
https://pay-sandbox.finitepay.org/apiThe production environment processes real payments and requires live API keys.
https://pay.finitepay.orgEach endpoint requires your API key for authentication, which you’ll include in the request headers.
This page provides everything you need to start accepting cryptocurrency payments online seamlessly. With our E-Commerce Payments API, you can integrate crypto payment functionality directly into your web-app.
In this section, we’ll guide you through:
Whether you’re building a single-page checkout or integrating crypto payments into an existing cart, Finite Pay offers the flexibility and security needed for a reliable eCommerce solution. Let’s get started with creating your first E-Commerce payment! Create a Point of Sale Payment
POST payment/post
| Name | Type | Description |
|---|---|---|
asset* |
String | The asset you would like to settle in your account |
requested_asset |
String | The asset you would like your customer to pay in |
amount* |
String | Amount you would like to receive in the settlement asset |
cart_items* |
Object | Contains item_name, item_desc, item_quantity, unit_price (e.g., DVD1,Movie Name,1,80) |
email* |
String | Email of customer who will be doing the payment |
description* |
String | Description of the payment |
reference* |
String | Your payment reference |
postback_url |
String | After postback please return a response JSON { "status": "ok" }. We will try 10 attempts until response received. |
redirect_url |
String | URL user will be redirected to after completed or canceled payment |
exp |
String | Hours until payment expires (1 = 1 hour) |
personal_fname |
String | Customer's First Name |
personal_lname |
String | Customer's Last Name |
personal_address |
String | Street Address & Number |
personal_city |
String | Customer's City |
personal_state |
String | Customer's State |
personal_country |
String | Country (ISO 3166 2-digit code) |
personal_postcode |
String | Postcode / ZIP code |
personal_mobile |
String | Customer's Mobile Number (incl. country code, e.g., +614123123123) |
personal_dob |
String | Customer's Date of Birth (Format: YYYY/MM/DD) |
key* |
String | Merchant's Terminal API ID |
hash* |
String | MD5 Hash (Generated as key+asset+amount+api_secret) |
language |
String | Payment Page and Customer Communication language (ISO-639-1 2-character, default: 'en') |
show_payment_html |
String | Redirect to payment detail (true or false, default: false) |
Example JSON Body
200 - Payment Creation Failed with reason
201: Created Payment Successfully Created
<aside> 💡
The API Endpoint can be used in multiple ways to deliver the payment page which is covered in the examples below.
</aside>
This is used when you would like to handle how the payment is delivered to your user.
The default response (show_payment_html=false or null) returns a JSON response with URLs that you can present to your customer any way you wish. QR code, SMS, email, or a payment button are common examples. If your account supports mobile payments you can present the mobile_check_url which will attempt to launch any installed mobile app for payment, otherwise, it will default the user to the payment page.
To simplify your integration you can post to the endpoint from a form and with show_payment_html=true **** we will generate the payment and display the payment page on the fly.
The Get Payment Details endpoint allows merchants to request and review comprehensive information about a specific payment.
This endpoint returns the current status, transaction history, and key details associated with the payment, enabling merchants to track and verify payment progression accurately. Use this endpoint to monitor the state of each transaction, confirm payment amounts, and access metadata for customer support or reconciliation purposes. This ensures you stay updated on payment statuses without relying on notifications or redirects alone.
POST payment/detail
| --- | --- | --- |
Quick link for MD5 Hash Generator:
https://www.md5hashgenerator.com/
<aside> 💡
</aside>
200: OK Get Payment Failed
200: OK Get Payment Success
Get the current status of a payment that has been created
<aside> 💡
</aside>
The Unconfirmed Payment Update endpoint notifies merchants when a payment transaction has been detected in the mempool and is awaiting block confirmations.
This notification is essential for keeping merchants informed that the transaction is in progress but not yet fully confirmed on the blockchain. By leveraging this update, merchants can alert customers about the status of their payment, enhancing transparency during the confirmation process and minimizing customer inquiries related to pending transactions.