curl --request POST \
--url https://api.starkfi.io/payment/register/intents-create-order \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api_key>' \
--data '{
"executor_id": "api_transaction",
"tenant_data": {
"public_client_id": "cmngy66mw0000e6y0uowcbxgf",
"webhook_url": "https://webhook.site/97b5142a-1cb7-4142-8306-3d98a93e9a79"
},
"payment_method_allowed": {
"pixcrypto": true,
"cardcrypto": true,
"cardfiat": true,
"cryptopix": true,
"crypto": true
},
"split_payment_config": [
{
"receiver_wallet": "0x9b57847b69D0354837F7b723133B9dBCbefb4F9F",
"receiver_percent": 100
}
],
"gateway_method": "direct",
"from_currency_symbol": "BRL",
"amount_from": "30",
"to_currency_symbol": "USDT",
"to_chain": "arbitrum",
"on_ramp": false
}'
const response = await fetch(
"https://api.starkfi.io/payment/register/intents-create-order",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "<api_key>",
},
body: JSON.stringify({
executor_id: "api_transaction",
tenant_data: {
public_client_id: "cmngy66mw0000e6y0uowcbxgf",
webhook_url: "https://webhook.site/97b5142a-1cb7-4142-8306-3d98a93e9a79",
},
payment_method_allowed: {
pixcrypto: true,
cardcrypto: true,
cardfiat: true,
cryptopix: true,
crypto: true,
},
split_payment_config: [
{
receiver_wallet: "0x9b57847b69D0354837F7b723133B9dBCbefb4F9F",
receiver_percent: 100,
},
],
gateway_method: "direct",
from_currency_symbol: "BRL",
amount_from: "30",
to_currency_symbol: "USDT",
to_chain: "arbitrum",
on_ramp: false,
}),
}
);
const data = await response.json();
import requests
response = requests.post(
"https://api.starkfi.io/payment/register/intents-create-order",
headers={
"Content-Type": "application/json",
"x-api-key": "<api_key>",
},
json={
"executor_id": "api_transaction",
"tenant_data": {
"public_client_id": "cmngy66mw0000e6y0uowcbxgf",
"webhook_url": "https://webhook.site/97b5142a-1cb7-4142-8306-3d98a93e9a79",
},
"payment_method_allowed": {
"pixcrypto": True,
"cardcrypto": True,
"cardfiat": True,
"cryptopix": True,
"crypto": True,
},
"split_payment_config": [
{
"receiver_wallet": "0x9b57847b69D0354837F7b723133B9dBCbefb4F9F",
"receiver_percent": 100,
}
],
"gateway_method": "direct",
"from_currency_symbol": "BRL",
"amount_from": "30",
"to_currency_symbol": "USDT",
"to_chain": "arbitrum",
"on_ramp": False,
},
)
data = response.json()
{
"statusCode": 201,
"success": true,
"status": "payment_registered",
"message": "Payment has been registered",
"data": {
"payment_id": "cmodpory6000001nyoe3d12m1"
}
}
{
"statusCode": 401,
"success": false,
"status": "unauthorized",
"message": "Invalid or missing API key."
}
{
"statusCode": 400,
"success": false,
"status": "validation_error",
"message": "Validation failed.",
"errors": [
{
"field": "split_payment_config",
"message": "receiver_percent values must sum to 100."
}
]
}
StarkPay
Register Order Transaction
Create a predefined payment order that can be reused across multiple transactions without creating a new one each time.
POST
/
payment
/
register
/
intents-create-order
curl --request POST \
--url https://api.starkfi.io/payment/register/intents-create-order \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api_key>' \
--data '{
"executor_id": "api_transaction",
"tenant_data": {
"public_client_id": "cmngy66mw0000e6y0uowcbxgf",
"webhook_url": "https://webhook.site/97b5142a-1cb7-4142-8306-3d98a93e9a79"
},
"payment_method_allowed": {
"pixcrypto": true,
"cardcrypto": true,
"cardfiat": true,
"cryptopix": true,
"crypto": true
},
"split_payment_config": [
{
"receiver_wallet": "0x9b57847b69D0354837F7b723133B9dBCbefb4F9F",
"receiver_percent": 100
}
],
"gateway_method": "direct",
"from_currency_symbol": "BRL",
"amount_from": "30",
"to_currency_symbol": "USDT",
"to_chain": "arbitrum",
"on_ramp": false
}'
const response = await fetch(
"https://api.starkfi.io/payment/register/intents-create-order",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "<api_key>",
},
body: JSON.stringify({
executor_id: "api_transaction",
tenant_data: {
public_client_id: "cmngy66mw0000e6y0uowcbxgf",
webhook_url: "https://webhook.site/97b5142a-1cb7-4142-8306-3d98a93e9a79",
},
payment_method_allowed: {
pixcrypto: true,
cardcrypto: true,
cardfiat: true,
cryptopix: true,
crypto: true,
},
split_payment_config: [
{
receiver_wallet: "0x9b57847b69D0354837F7b723133B9dBCbefb4F9F",
receiver_percent: 100,
},
],
gateway_method: "direct",
from_currency_symbol: "BRL",
amount_from: "30",
to_currency_symbol: "USDT",
to_chain: "arbitrum",
on_ramp: false,
}),
}
);
const data = await response.json();
import requests
response = requests.post(
"https://api.starkfi.io/payment/register/intents-create-order",
headers={
"Content-Type": "application/json",
"x-api-key": "<api_key>",
},
json={
"executor_id": "api_transaction",
"tenant_data": {
"public_client_id": "cmngy66mw0000e6y0uowcbxgf",
"webhook_url": "https://webhook.site/97b5142a-1cb7-4142-8306-3d98a93e9a79",
},
"payment_method_allowed": {
"pixcrypto": True,
"cardcrypto": True,
"cardfiat": True,
"cryptopix": True,
"crypto": True,
},
"split_payment_config": [
{
"receiver_wallet": "0x9b57847b69D0354837F7b723133B9dBCbefb4F9F",
"receiver_percent": 100,
}
],
"gateway_method": "direct",
"from_currency_symbol": "BRL",
"amount_from": "30",
"to_currency_symbol": "USDT",
"to_chain": "arbitrum",
"on_ramp": False,
},
)
data = response.json()
{
"statusCode": 201,
"success": true,
"status": "payment_registered",
"message": "Payment has been registered",
"data": {
"payment_id": "cmodpory6000001nyoe3d12m1"
}
}
{
"statusCode": 401,
"success": false,
"status": "unauthorized",
"message": "Invalid or missing API key."
}
{
"statusCode": 400,
"success": false,
"status": "validation_error",
"message": "Validation failed.",
"errors": [
{
"field": "split_payment_config",
"message": "receiver_percent values must sum to 100."
}
]
}
string
required
Transaction executor type. Use
api_transaction when the request comes via API.object
required
object
required
array
required
enum<string>
required
Gateway processing method. Available options:
direct, subsdirect— one-time direct payment processingsubs— subscription-based recurring payments
string
required
Source currency code (e.g.
BRL).string
required
Amount to be converted from the source currency (e.g.
"30").string
required
Target currency code (e.g.
USDT).string
required
Destination blockchain network where you wish to receive the selected currency (e.g.
arbitrum, solana).boolean
required
Set
true for on-ramp flow, false for off-ramp.The on-ramp feature is not available for receiving payments via PIX. It can only be used for user-initiated payments. All requests related to incoming payments must set
on_ramp: false.curl --request POST \
--url https://api.starkfi.io/payment/register/intents-create-order \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api_key>' \
--data '{
"executor_id": "api_transaction",
"tenant_data": {
"public_client_id": "cmngy66mw0000e6y0uowcbxgf",
"webhook_url": "https://webhook.site/97b5142a-1cb7-4142-8306-3d98a93e9a79"
},
"payment_method_allowed": {
"pixcrypto": true,
"cardcrypto": true,
"cardfiat": true,
"cryptopix": true,
"crypto": true
},
"split_payment_config": [
{
"receiver_wallet": "0x9b57847b69D0354837F7b723133B9dBCbefb4F9F",
"receiver_percent": 100
}
],
"gateway_method": "direct",
"from_currency_symbol": "BRL",
"amount_from": "30",
"to_currency_symbol": "USDT",
"to_chain": "arbitrum",
"on_ramp": false
}'
const response = await fetch(
"https://api.starkfi.io/payment/register/intents-create-order",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "<api_key>",
},
body: JSON.stringify({
executor_id: "api_transaction",
tenant_data: {
public_client_id: "cmngy66mw0000e6y0uowcbxgf",
webhook_url: "https://webhook.site/97b5142a-1cb7-4142-8306-3d98a93e9a79",
},
payment_method_allowed: {
pixcrypto: true,
cardcrypto: true,
cardfiat: true,
cryptopix: true,
crypto: true,
},
split_payment_config: [
{
receiver_wallet: "0x9b57847b69D0354837F7b723133B9dBCbefb4F9F",
receiver_percent: 100,
},
],
gateway_method: "direct",
from_currency_symbol: "BRL",
amount_from: "30",
to_currency_symbol: "USDT",
to_chain: "arbitrum",
on_ramp: false,
}),
}
);
const data = await response.json();
import requests
response = requests.post(
"https://api.starkfi.io/payment/register/intents-create-order",
headers={
"Content-Type": "application/json",
"x-api-key": "<api_key>",
},
json={
"executor_id": "api_transaction",
"tenant_data": {
"public_client_id": "cmngy66mw0000e6y0uowcbxgf",
"webhook_url": "https://webhook.site/97b5142a-1cb7-4142-8306-3d98a93e9a79",
},
"payment_method_allowed": {
"pixcrypto": True,
"cardcrypto": True,
"cardfiat": True,
"cryptopix": True,
"crypto": True,
},
"split_payment_config": [
{
"receiver_wallet": "0x9b57847b69D0354837F7b723133B9dBCbefb4F9F",
"receiver_percent": 100,
}
],
"gateway_method": "direct",
"from_currency_symbol": "BRL",
"amount_from": "30",
"to_currency_symbol": "USDT",
"to_chain": "arbitrum",
"on_ramp": False,
},
)
data = response.json()
{
"statusCode": 201,
"success": true,
"status": "payment_registered",
"message": "Payment has been registered",
"data": {
"payment_id": "cmodpory6000001nyoe3d12m1"
}
}
{
"statusCode": 401,
"success": false,
"status": "unauthorized",
"message": "Invalid or missing API key."
}
{
"statusCode": 400,
"success": false,
"status": "validation_error",
"message": "Validation failed.",
"errors": [
{
"field": "split_payment_config",
"message": "receiver_percent values must sum to 100."
}
]
}
Response
number
required
HTTP status code. Returns
201 on successful registration.boolean
required
Whether the request succeeded.
string
required
Status label for the response (e.g.
payment_registered).string
required
Human-readable response message.
object
required
Response payload.
Show data
Show data
string
required
The unique ID of the registered payment order. Use this ID in subsequent calls to Create Transaction.
⌘I
.png?fit=max&auto=format&n=I_v6ul4JDafNKFQP&q=85&s=f0ad25536f8a3ca42331fcff88ab2b26)