Comment on page
Full-page checkout
Hosted pages
This allows you to redirect your users to a separate fiat on-ramp checkout page.
With the Checkout Redirect option, you can access the LocalRamp payment gateway by making a request from your server to our initiate buy endpoint. We would return a response that includes a Checkout URL that loads the payment page where your users can purchase crypto. After payment is completed or canceled, the customer is returned to any URL specified by you.
Collect payment/purchase details from your user. These details are passed to the initiate buy endpoint.
Please find below the request body for the endpoint.
Field | Data Type | Description |
---|---|---|
reference | String | Required - Your unique transaction reference. Must be unique for every transaction. e.g "Abc123" |
email | String | Optional e.g "[email protected]" |
sender_currency | String | Optionally Required - The currency your user would be paying in. It becomes required only if sender_amount or receiver_amount is provided. e.g "NGN" |
receiver_currency | String | Optionally Required - The cryptocurrency that would be received. It becomes required only if sender_amount , receiver_amount or destination_address is provided. e.g "USDT_BSC" |
sender_amount | String | Optional - amount your user would be paying in sender_currency unit. e.g "20000.00". If this is present, then receiver_amount should be omitted |
receiver_amount | String | Optional - crypto amount that should be received in receiver_currency unit. e.g "0.78728772". If this is present, then sender_amount should be omitted |
destination_address | String | Optional - crypto address where payments will be sent to. e.g "0xC637255611b0A70259722c35D419077Da4cACcfF" |
destination_tag | String | Optionally required - For coins that require a memo or tag. It is only required if address provided supports tags/memos e.g "3239783255" |
payment_method | String | |
widget_color | String | Optional - Hex color code to customize widget e.g "#DA70D6" |
callback_url | String | Optional - The url to redirect your users to, when the transaction is complete |
You can pass either the
sender_amount
or receiver_amount
when initializing the widget but not both.Before passing in either the
sender_amount
or receiver_amount
, you'll need to know the maximum and minimum values allowed for each field. See limit section.To get the list of supported currencies for both
sender_currency
and receiver_currency
see the Get currencies sectionsender_amount
and receiver_amount
show payment intent and does not guarantee the exact value that would be received at the end of the transaction. To see the exact amounts received, get transaction state.After collecting the necessary payment details for the transaction. Make a POST request to our initiate buy endpoint.
https://api.localramp.co/v1/transaction/buy/initiate
With the following header
x-auth-token: <SECRET_KEY>
This endpoint is protected by secret key authentication. So when calling it, append the
x-auth-token
header with your secret key.If the API call is successful, LocalRamp returns the following response:
{
"status": "success",
"msg": "Transaction(buy) initiated successfully",
"data": {
"reference": "your-unique-reference",
"checkout_link": "https://checkout.localramp.co/bTYUBjkns"
}
}
You should then redirect your user to the Checkout URL provided in the response to enable them to complete their payment.
You can also choose to open the checkout link in an iframe
<iframe src="https://checkout.localramp.co/bTYUBjkns" frameborder="0" width="350" height="500" allow="clipboard-read; clipboard-write self *"></iframe>
Once the purchase is complete or the checkout is closed, LocalRamp will redirect your user to your specified
callback_url
. The transaction reference will be appended as a query parameter to your
callback_url
as well.https://website_callback_url/?reference=YOUR_REFERENCE
In a situation where no
callback_url
is passed, the user will be redirected to your business website. In some cases, the crypto might take a few minutes to arrive. If you do not want to keep querying the transaction status, you can always get informed when the transaction is complete through webhooks. See webhook section.
Last modified 7mo ago