curl -X POST https://checkout.noxpay.io/v2/crossramp_checkout \
-H "api-key: <key>" \
-H "Content-Type: application/json" \
-d '{
"currency_code": "TRX_USDT_S2UZ",
"amount_fiat": 550.00,
"webhook": "https://seuapp.com/webhooks/nox",
"return_url": "https://seuapp.com/sucesso",
"payer_document": "12345678901"
}'
import requests
response = requests.post(
"https://checkout.noxpay.io/v2/crossramp_checkout",
headers={
"api-key": "<key>",
"Content-Type": "application/json",
},
json={
"currency_code": "TRX_USDT_S2UZ",
"amount_fiat": 550.00,
"webhook": "https://seuapp.com/webhooks/nox",
"return_url": "https://seuapp.com/sucesso",
"payer_document": "12345678901",
},
)
print(response.json())
const response = await fetch("https://checkout.noxpay.io/v2/crossramp_checkout", {
method: "POST",
headers: {
"api-key": "<key>",
"Content-Type": "application/json",
},
body: JSON.stringify({
currency_code: "TRX_USDT_S2UZ",
amount_fiat: 550.00,
webhook: "https://seuapp.com/webhooks/nox",
return_url: "https://seuapp.com/sucesso",
payer_document: "12345678901",
}),
});
const data = await response.json();
{
"link": "https://checkout.noxpay.io/e2e/NOXabc123"
}
Crossramp Checkout
Criar Checkout
POST /v2/crossramp_checkout — cria uma nova sessão de Crossramp Checkout e retorna um link de pagamento hospedado.
curl -X POST https://checkout.noxpay.io/v2/crossramp_checkout \
-H "api-key: <key>" \
-H "Content-Type: application/json" \
-d '{
"currency_code": "TRX_USDT_S2UZ",
"amount_fiat": 550.00,
"webhook": "https://seuapp.com/webhooks/nox",
"return_url": "https://seuapp.com/sucesso",
"payer_document": "12345678901"
}'
import requests
response = requests.post(
"https://checkout.noxpay.io/v2/crossramp_checkout",
headers={
"api-key": "<key>",
"Content-Type": "application/json",
},
json={
"currency_code": "TRX_USDT_S2UZ",
"amount_fiat": 550.00,
"webhook": "https://seuapp.com/webhooks/nox",
"return_url": "https://seuapp.com/sucesso",
"payer_document": "12345678901",
},
)
print(response.json())
const response = await fetch("https://checkout.noxpay.io/v2/crossramp_checkout", {
method: "POST",
headers: {
"api-key": "<key>",
"Content-Type": "application/json",
},
body: JSON.stringify({
currency_code: "TRX_USDT_S2UZ",
amount_fiat: 550.00,
webhook: "https://seuapp.com/webhooks/nox",
return_url: "https://seuapp.com/sucesso",
payer_document: "12345678901",
}),
});
const data = await response.json();
{
"link": "https://checkout.noxpay.io/e2e/NOXabc123"
}
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
currency_code | string | Sim | Criptomoeda a receber (ex: TRX_USDT_S2UZ, BTC) |
amount_fiat | number | Não* | Valor fixo em BRL que o cliente paga |
amount_crypto | number | Não* | Valor fixo em cripto que o cliente recebe |
webhook | string | Não | URL para receber atualizações de status |
return_url | string | Não | URL para redirecionar o cliente após a conclusão |
payer_document | string | Não | CPF ou CNPJ do cliente (apenas dígitos). Validado quando enviado — um valor que não é CPF nem CNPJ válido devolve 400. Se fornecido e não cadastrado, um perfil de cliente é criado automaticamente, pulando a etapa de coleta de identidade no fluxo de checkout |
payer_name | string | Não | Nome do cliente (usado ao criar um novo perfil de cliente) |
ForneçaCampos desconhecidos são rejeitados: uma chave extra ou com erro de digitação devolveamount_fiatouamount_crypto. Se ambos forem omitidos, a página de checkout permite que o cliente insira o valor.
400, em vez de ser ignorada.
Response 200 OK
O corpo da resposta é apenas o link hospedado:
{ "link": "https://checkout.noxpay.io/e2e/NOXabc123" }
NOX... é o ID end2end da transação — use-o com Consultar Checkout para consultar ou rastrear a sessão. Note que este endpoint devolve 200, não 201.
Códigos de retorno
| HTTP | Quando |
|---|---|
200 | Criado |
400 | JSON inválido, campo desconhecido, currency_code ausente, moeda não reconhecida, ou payer_document inválido |
401 | api-key ausente ou inválida |
405 | Método diferente de POST ou OPTIONS |
500 | Erro interno |
Em caso de erro, este endpoint devolve um corpo JSON mas define
Content-Type: text/plain. Interprete o corpo e ignore o content type.curl -X POST https://checkout.noxpay.io/v2/crossramp_checkout \
-H "api-key: <key>" \
-H "Content-Type: application/json" \
-d '{
"currency_code": "TRX_USDT_S2UZ",
"amount_fiat": 550.00,
"webhook": "https://seuapp.com/webhooks/nox",
"return_url": "https://seuapp.com/sucesso",
"payer_document": "12345678901"
}'
import requests
response = requests.post(
"https://checkout.noxpay.io/v2/crossramp_checkout",
headers={
"api-key": "<key>",
"Content-Type": "application/json",
},
json={
"currency_code": "TRX_USDT_S2UZ",
"amount_fiat": 550.00,
"webhook": "https://seuapp.com/webhooks/nox",
"return_url": "https://seuapp.com/sucesso",
"payer_document": "12345678901",
},
)
print(response.json())
const response = await fetch("https://checkout.noxpay.io/v2/crossramp_checkout", {
method: "POST",
headers: {
"api-key": "<key>",
"Content-Type": "application/json",
},
body: JSON.stringify({
currency_code: "TRX_USDT_S2UZ",
amount_fiat: 550.00,
webhook: "https://seuapp.com/webhooks/nox",
return_url: "https://seuapp.com/sucesso",
payer_document: "12345678901",
}),
});
const data = await response.json();
{
"link": "https://checkout.noxpay.io/e2e/NOXabc123"
}

