Skip to content

Migrate from the previous platform

If your integration uses PIX, boleto, lookups and webhooks, the migration is:

  1. Create new credentials in the Auryon dashboard: Integrações → API → Gerar credencial. Select the same permissions the old credential had.
  2. Change the base URL: https://app.auryon369.com/api/v1 → https://api.auryon369.com.br/api/v1
  3. Change the keys x-public-key and x-secret-key.
  4. Check the list below. If none of the items applies to you, you are done.

Routes, fields, response format, error codes and callbackUrl webhooks stay the same.

# If you use… What changes What to do
1 /gateway/card/receive or /gateway/card/subscription ⛔ No longer exists. Always returns 400 GATEWAY_FAILED_PRECONDITION. Auryon does not take card data through the API. Use POST /gateway/checkout and redirect the buyer to checkoutUrl. See “Card” below.
2 /gateway/producer/balance with sales in USD or BDM ⚠️ Shows the BRL balance only. Nothing fails, but the number is smaller than your total balance. For every currency, use GET /v1/balance or the dashboard.
3 splits[] ⚠️ producerId becomes the Auryon account ID. Old IDs are not valid. And the sum of the splits cannot exceed the net amount (it used to be the total amount). Ask each partner for the new ID (dashboard → Integrações → API) and review splits that divide 100% of the sale.
4 /gateway/checkout ⚠️ offer.price is in reais (BRL). The product follows your account’s approval rule (the same as in the dashboard): a product not approved yet returns 409 GATEWAY_FAILED_PRECONDITION, with no link. customer data does not go into the URL. Make sure you send reais (497.00), not cents (49700). If your account does not approve products automatically, create them in advance and handle the 409.
5 Webhooks that read the buyer’s CPF, CNPJ, phone or address ⚠️ These fields come as null. If you need this data (invoice, shipping), use the dashboard or contact support.
6 /gateway/crypto/receive with a currency other than BDM ⚠️ Only "currency": "BDM". Use BDM Digital.
7 /gateway/pix/subscription or /gateway/crypto/subscription ✅ They work. ⚠️ periodicityType: DAYS and firstChargeIn > 0 are not supported. Use WEEKS, MONTHS or YEARS. For a trial period, use an offer with a trial in the dashboard.
8 /gateway/pix/deposit ⛔ Returns 501. Contact support.
9 dueDate ⚠️ Accepted and ignored: the due date follows the account settings. Adjust the due date in the dashboard.
10 Dashboard webhooks (not callbackUrl ones) Webhooks registered on the previous platform do not come along. Register them again in Integrações → Webhooks, in the Legado format to keep your parser.
11 The same identifier reused with another amount ⚠️ Repeating the identifier with the same order returns the same transaction; with another amount or payment method, it returns 409 GATEWAY_FAILED_PRECONDITION. Generate a new identifier for each different charge.
12 Many requests ⚠️ Limit of 100 per minute per credential, adding up all routes; transaction and subscription lookups, 30 per minute. Use webhooks instead of polling.

Before, the card could go through the API (/gateway/card/receive, with number and CVV). At Auryon, the card is always typed in the checkout:

1. POST /api/v1/gateway/checkout → { productId, offerCode, checkoutUrl }
2. redirect the buyer to checkoutUrl
3. receive TRANSACTION_PAID on your webhook (identify it by product/offer)

Why: whoever receives card numbers on a server needs the highest-level PCI-DSS certification (annual audit, penetration tests, quarterly scans). Auryon’s checkout tokenizes the card in the browser, and neither your server nor Auryon’s touches the number. You also stop having card data passing through your system.

The legacy layer will be shut down on December 31, 2026. Until then it works without changes; after that, only API v1 responds. Plan the switch with time to spare.

The legacy layer is deprecated. It solves the migration, but has three limitations that API v1 does not have:

Legacy v1
Webhook fixed token in the body, no signature HMAC-SHA256, replay protection, rotation without loss
Balance BRL only per currency
Money reais as a JSON number minor unit as a string, no rounding errors

A good path: move to the legacy layer now (change URL and keys) and switch the webhook to the V1 format when you can. It is the change with the biggest security gain.

  • New credentials created, with the right permissions
  • Base URL and keys changed in every environment
  • No calls to /gateway/card/* (or moved to the checkout)
  • Split producerIds updated to Auryon IDs
  • /gateway/checkout price checked in reais, and products approved
  • Subscriptions: cadence in WEEKS/MONTHS/YEARS (not DAYS) and no firstChargeIn
  • Dashboard webhooks registered again (Legacy or V1 format)
  • One end-to-end test PIX: create → pay → TRANSACTION_PAID received