From fbc65eafcef8f5fbbdce8995aa7acd765fe77358 Mon Sep 17 00:00:00 2001 From: Adson Rodrigues Date: Mon, 29 Jun 2026 22:21:01 -0300 Subject: [PATCH] docs: usar sandbox.mx.ntxpay.com (host real da infra atual) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A infra atual (advanced-cloud/EKS) serve *.mx.ntxpay.com. O host público de sandbox é sandbox.mx.ntxpay.com (ntxpay-edge -> public-ms, wildcard *.mx TLS). Substitui sandbox.ntxpay.com em todos os exemplos e no openapi.json. Co-Authored-By: Claude Opus 4.8 (1M context) --- api-reference/openapi.json | 2 +- en/guides/authentication.mdx | 6 +++--- en/guides/balance.mdx | 6 +++--- en/guides/get-started.mdx | 6 +++--- en/guides/migrating-from-voluti.mdx | 8 ++++---- en/guides/quickstart.mdx | 10 +++++----- en/guides/sandbox-testing.mdx | 6 +++--- en/guides/signup.mdx | 6 +++--- en/guides/spei-cash-in.mdx | 2 +- en/guides/spei-cash-out.mdx | 4 ++-- en/guides/transactions-list.mdx | 4 ++-- en/guides/webhooks/setup.mdx | 6 +++--- en/index.mdx | 2 +- en/sandbox/authentication.mdx | 8 ++++---- en/sandbox/cash-in.mdx | 2 +- en/sandbox/cash-out.mdx | 4 ++-- en/sandbox/introduction.mdx | 4 ++-- en/sandbox/scenarios.mdx | 2 +- en/sandbox/webhooks.mdx | 4 ++-- es/guides/authentication.mdx | 6 +++--- es/guides/balance.mdx | 6 +++--- es/guides/get-started.mdx | 6 +++--- es/guides/migrating-from-voluti.mdx | 8 ++++---- es/guides/quickstart.mdx | 10 +++++----- es/guides/sandbox-testing.mdx | 8 ++++---- es/guides/signup.mdx | 6 +++--- es/guides/spei-cash-in.mdx | 2 +- es/guides/spei-cash-out.mdx | 4 ++-- es/guides/transactions-list.mdx | 4 ++-- es/guides/webhooks/setup.mdx | 6 +++--- es/index.mdx | 2 +- es/sandbox/authentication.mdx | 8 ++++---- es/sandbox/cash-in.mdx | 2 +- es/sandbox/cash-out.mdx | 4 ++-- es/sandbox/introduction.mdx | 4 ++-- es/sandbox/scenarios.mdx | 2 +- es/sandbox/webhooks.mdx | 4 ++-- pt-br/guides/authentication.mdx | 12 ++++++------ pt-br/guides/get-started.mdx | 6 +++--- pt-br/guides/sandbox-testing.mdx | 8 ++++---- pt-br/guides/webhooks/setup.mdx | 6 +++--- pt-br/sandbox/authentication.mdx | 8 ++++---- pt-br/sandbox/cash-in.mdx | 2 +- pt-br/sandbox/cash-out.mdx | 4 ++-- pt-br/sandbox/introduction.mdx | 4 ++-- pt-br/sandbox/scenarios.mdx | 2 +- pt-br/sandbox/webhooks.mdx | 4 ++-- 47 files changed, 120 insertions(+), 120 deletions(-) diff --git a/api-reference/openapi.json b/api-reference/openapi.json index 80274fc..892927e 100644 --- a/api-reference/openapi.json +++ b/api-reference/openapi.json @@ -8,7 +8,7 @@ }, "servers": [ { - "url": "https://sandbox.ntxpay.com", + "url": "https://sandbox.mx.ntxpay.com", "description": "Sandbox" } ], diff --git a/en/guides/authentication.mdx b/en/guides/authentication.mdx index d7c39cf..cf69ed7 100644 --- a/en/guides/authentication.mdx +++ b/en/guides/authentication.mdx @@ -38,7 +38,7 @@ ENCODED_CERT=$(cat client.cert.pem | python3 -c "import sys,urllib.parse; print( #### Request ```bash -curl -X POST https://sandbox.ntxpay.com/api/auth/token \ +curl -X POST https://sandbox.mx.ntxpay.com/api/auth/token \ -H "X-SSL-Client-Cert: $ENCODED_CERT" \ -H "Content-Type: application/json" \ -d '{ @@ -63,7 +63,7 @@ curl -X POST https://sandbox.ntxpay.com/api/auth/token \ Include the `access_token` in all authenticated requests: ```bash -curl -X GET https://sandbox.ntxpay.com/api/balance \ +curl -X GET https://sandbox.mx.ntxpay.com/api/balance \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." ``` @@ -95,7 +95,7 @@ const encodedCert = encodeURIComponent(cert); async function getToken(): Promise { const { data } = await axios.post( - 'https://sandbox.ntxpay.com/api/auth/token', + 'https://sandbox.mx.ntxpay.com/api/auth/token', { clientId: process.env.NTXPAY_CLIENT_ID, clientSecret: process.env.NTXPAY_CLIENT_SECRET, diff --git a/en/guides/balance.mdx b/en/guides/balance.mdx index 8584afd..de745c7 100644 --- a/en/guides/balance.mdx +++ b/en/guides/balance.mdx @@ -23,7 +23,7 @@ Authorization: Bearer {token} #### Request ```bash -curl -X GET https://sandbox.ntxpay.com/api/balance \ +curl -X GET https://sandbox.mx.ntxpay.com/api/balance \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." ``` @@ -59,7 +59,7 @@ curl -X GET https://sandbox.ntxpay.com/api/balance \ import axios from 'axios'; async function getBalance(token: string) { - const { data } = await axios.get('https://sandbox.ntxpay.com/api/balance', { + const { data } = await axios.get('https://sandbox.mx.ntxpay.com/api/balance', { headers: { Authorization: `Bearer ${token}` }, }); @@ -85,7 +85,7 @@ async function safeSpeiCashOut(amountCentavos: number, token: string, dto: any) ); } - return axios.post('https://sandbox.ntxpay.com/api/spei/cash-out', dto, { + return axios.post('https://sandbox.mx.ntxpay.com/api/spei/cash-out', dto, { headers: { Authorization: `Bearer ${token}` }, }); } diff --git a/en/guides/get-started.mdx b/en/guides/get-started.mdx index 62ce736..9071aa6 100644 --- a/en/guides/get-started.mdx +++ b/en/guides/get-started.mdx @@ -20,7 +20,7 @@ The NTX Pay México API lets your company perform payment operations, check bala Register your webhook URL via `POST /api/webhooks-config` so you can receive simulated webhook events. ```bash - curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ + curl -X POST https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -36,7 +36,7 @@ The NTX Pay México API lets your company perform payment operations, check bala Authenticate, make API calls, and use the `X-Sandbox-Scenario` header to simulate different outcomes (immediate confirmation, failure, expiration, etc.). ```bash - curl -X POST https://sandbox.ntxpay.com/api/spei/cash-in \ + curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-in \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: cash_in_failed" \ -H "Content-Type: application/json" \ @@ -53,7 +53,7 @@ The NTX Pay México API lets your company perform payment operations, check bala | Environment | URL | Provider | |---|---|---| -| Sandbox | `https://sandbox.ntxpay.com` | `sandbox` (simulated transactions) | +| Sandbox | `https://sandbox.mx.ntxpay.com` | `sandbox` (simulated transactions) | | Production | Provided at onboarding | `smartfastpay` | ## Support diff --git a/en/guides/migrating-from-voluti.mdx b/en/guides/migrating-from-voluti.mdx index e62b13a..dbeb50c 100644 --- a/en/guides/migrating-from-voluti.mdx +++ b/en/guides/migrating-from-voluti.mdx @@ -18,7 +18,7 @@ The NTX Pay México API was designed so that customers coming from **Voluti SPEI | Item | Voluti | NTX Pay | |---|---|---| | Production host | `api.spei.magenpay.io` | Provided at onboarding | -| Sandbox host | — | `sandbox.ntxpay.com` | +| Sandbox host | — | `sandbox.mx.ntxpay.com` | | Versioning | `/api/v1` | `/api` | | Auth header | `Authorization: API_KEY:NONCE:SIGNATURE` | `Authorization: Bearer ` | | Credential issuance | API key + secret from panel | `POST /api/signup` → `clientId/clientSecret`; then `POST /api/auth/token` with cert X.509 | @@ -51,7 +51,7 @@ curl -X POST https://api.spei.magenpay.io/api/v1/transaction/cashin \ }' # NTX Pay — IDENTICAL payload works -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-in \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-in \ -H "Authorization: Bearer $JWT" \ -d '{ "amount": "100.00", @@ -104,7 +104,7 @@ curl -X POST https://api.spei.magenpay.io/api/v1/transaction/cashout \ }' # NTX Pay — same payload accepted -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $JWT" \ -d '{ "amount": "100.00", @@ -124,7 +124,7 @@ The dedicated endpoint keeps 1-to-1 semantics with Voluti's `conciliation`: curl -X GET https://api.spei.magenpay.io/api/v1/transaction/order_abc_123/conciliation # NTX Pay -curl -X GET https://sandbox.ntxpay.com/api/spei/transaction/order_abc_123 \ +curl -X GET https://sandbox.mx.ntxpay.com/api/spei/transaction/order_abc_123 \ -H "Authorization: Bearer $JWT" ``` diff --git a/en/guides/quickstart.mdx b/en/guides/quickstart.mdx index 1c3ebf8..f46c5bf 100644 --- a/en/guides/quickstart.mdx +++ b/en/guides/quickstart.mdx @@ -12,7 +12,7 @@ description: 'Signup, authentication and first SPEI transaction' ## 1. Create account ```bash -curl -X POST https://sandbox.ntxpay.com/api/signup \ +curl -X POST https://sandbox.mx.ntxpay.com/api/signup \ -H "Content-Type: application/json" \ -d '{ "holderName": "Maria Lopez", @@ -31,7 +31,7 @@ The response includes `credentials.clientId` and `credentials.clientSecret`. The ```bash ENCODED_CERT=$(cat client.cert.pem | python3 -c "import sys,urllib.parse; print(urllib.parse.quote(sys.stdin.read()))") -curl -X POST https://sandbox.ntxpay.com/api/auth/token \ +curl -X POST https://sandbox.mx.ntxpay.com/api/auth/token \ -H "X-SSL-Client-Cert: $ENCODED_CERT" \ -H "Content-Type: application/json" \ -d '{"clientId":"qr-93-550e8400","clientSecret":"a1b2..."}' @@ -42,7 +42,7 @@ Returns `access_token` with 10-minute validity. ## 3. Configure webhook ```bash -curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ +curl -X POST https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -56,7 +56,7 @@ The response includes the `secret` used to validate the HMAC signature. ## 4. Create SPEI charge ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-in \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-in \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -72,7 +72,7 @@ Returns `destinationClabe`. The payer transfers to that CLABE; confirmation arri | Environment | URL | Provider | |---|---|---| -| Sandbox | `https://sandbox.ntxpay.com` | `sandbox` (simulated transactions) | +| Sandbox | `https://sandbox.mx.ntxpay.com` | `sandbox` (simulated transactions) | | Production | Provided at onboarding | `smartfastpay` | Sandbox account: `isSandbox: true` in signup. diff --git a/en/guides/sandbox-testing.mdx b/en/guides/sandbox-testing.mdx index 715aeae..59a407f 100644 --- a/en/guides/sandbox-testing.mdx +++ b/en/guides/sandbox-testing.mdx @@ -16,7 +16,7 @@ The **sandbox** is an isolated environment with simulated transactions. Useful f 1. Create an account with `isSandbox: true` in `POST /api/signup`: ```bash -curl -X POST https://sandbox.ntxpay.com/api/signup \ +curl -X POST https://sandbox.mx.ntxpay.com/api/signup \ -H "Content-Type: application/json" \ -d '{ "holderName": "Test", @@ -28,7 +28,7 @@ curl -X POST https://sandbox.ntxpay.com/api/signup \ ``` 2. The created account will have `mainProvider: "sandbox"` (instead of `smartfastpay`) -3. Always use the host `https://sandbox.ntxpay.com` for that account +3. Always use the host `https://sandbox.mx.ntxpay.com` for that account ## Differences vs Production @@ -91,7 +91,7 @@ When comfortable: 1. Create a **new account** via `POST /api/signup` on your production host (provided at onboarding) **without** `isSandbox` 2. Only change: - - Host: `sandbox.ntxpay.com` → production host (provided at onboarding) + - Host: `sandbox.mx.ntxpay.com` → production host (provided at onboarding) - Credentials (`clientId`/`clientSecret`) - X.509 certificate (production is distinct from sandbox) 3. Reconfigure webhooks on the production account diff --git a/en/guides/signup.mdx b/en/guides/signup.mdx index 0583331..6c2503a 100644 --- a/en/guides/signup.mdx +++ b/en/guides/signup.mdx @@ -24,7 +24,7 @@ On creation, NTX Pay: #### Request — Individual (sandbox) ```bash -curl -X POST https://sandbox.ntxpay.com/api/signup \ +curl -X POST https://sandbox.mx.ntxpay.com/api/signup \ -H "Content-Type: application/json" \ -d '{ "holderName": "Maria Lopez", @@ -40,7 +40,7 @@ curl -X POST https://sandbox.ntxpay.com/api/signup \ #### Request — Legal Entity (production) ```bash -curl -X POST https://sandbox.ntxpay.com/api/signup \ +curl -X POST https://sandbox.mx.ntxpay.com/api/signup \ -H "Content-Type: application/json" \ -d '{ "holderName": "Acme S.A. de C.V.", @@ -113,7 +113,7 @@ curl -X POST https://sandbox.ntxpay.com/api/signup \ | SPEI confirmation | Immediate (simulated) | Real (seconds to minutes via Banxico) | | Cost | Free | Tariffs in production | | Limits | Permissive | Per contract | -| Base endpoint | `https://sandbox.ntxpay.com` | Provided at onboarding | +| Base endpoint | `https://sandbox.mx.ntxpay.com` | Provided at onboarding | ## Common Errors diff --git a/en/guides/spei-cash-in.mdx b/en/guides/spei-cash-in.mdx index 3ceb10b..4d8d165 100644 --- a/en/guides/spei-cash-in.mdx +++ b/en/guides/spei-cash-in.mdx @@ -27,7 +27,7 @@ Content-Type: application/json #### Request ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-in \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-in \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ diff --git a/en/guides/spei-cash-out.mdx b/en/guides/spei-cash-out.mdx index 4ea7224..cbfd285 100644 --- a/en/guides/spei-cash-out.mdx +++ b/en/guides/spei-cash-out.mdx @@ -21,7 +21,7 @@ Content-Type: application/json #### Request ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -105,7 +105,7 @@ if (balance.availableCentavos < amountCentavos) { async function speiCashOut(token: string, dto: any) { try { const { data } = await axios.post( - 'https://sandbox.ntxpay.com/api/spei/cash-out', + 'https://sandbox.mx.ntxpay.com/api/spei/cash-out', dto, { headers: { Authorization: `Bearer ${token}` } }, ); diff --git a/en/guides/transactions-list.mdx b/en/guides/transactions-list.mdx index 0a9113c..2b22c48 100644 --- a/en/guides/transactions-list.mdx +++ b/en/guides/transactions-list.mdx @@ -34,7 +34,7 @@ Authorization: Bearer {token} #### Request ```bash -curl -X GET "https://sandbox.ntxpay.com/api/transactions?status=CONFIRMED&paymentMethod=SPEI&limit=50" \ +curl -X GET "https://sandbox.mx.ntxpay.com/api/transactions?status=CONFIRMED&paymentMethod=SPEI&limit=50" \ -H "Authorization: Bearer $TOKEN" ``` @@ -75,7 +75,7 @@ let offset = 0; const limit = 50; while (true) { - const { data } = await axios.get('https://sandbox.ntxpay.com/api/transactions', { + const { data } = await axios.get('https://sandbox.mx.ntxpay.com/api/transactions', { headers: { Authorization: `Bearer ${token}` }, params: { limit, offset, status: 'CONFIRMED' }, }); diff --git a/en/guides/webhooks/setup.mdx b/en/guides/webhooks/setup.mdx index 2fb6d64..a66cc9b 100644 --- a/en/guides/webhooks/setup.mdx +++ b/en/guides/webhooks/setup.mdx @@ -16,7 +16,7 @@ Webhook configuration goes through three endpoints: ### Request ```bash -curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ +curl -X POST https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -59,7 +59,7 @@ curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ ## List Webhooks ```bash -curl -X GET https://sandbox.ntxpay.com/api/webhooks-config \ +curl -X GET https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" ``` @@ -86,7 +86,7 @@ curl -X GET https://sandbox.ntxpay.com/api/webhooks-config \ ## Remove Webhook ```bash -curl -X DELETE https://sandbox.ntxpay.com/api/webhooks-config/42 \ +curl -X DELETE https://sandbox.mx.ntxpay.com/api/webhooks-config/42 \ -H "Authorization: Bearer $TOKEN" ``` diff --git a/en/index.mdx b/en/index.mdx index b2a4fc5..ec71c09 100644 --- a/en/index.mdx +++ b/en/index.mdx @@ -9,7 +9,7 @@ Public gateway for SPEI (instant interbank transfers) integration. Receive and s | Environment | URL | |---|---| -| Sandbox | `https://sandbox.ntxpay.com` | +| Sandbox | `https://sandbox.mx.ntxpay.com` | | Production | Provided at onboarding | ## Authentication diff --git a/en/sandbox/authentication.mdx b/en/sandbox/authentication.mdx index f123c80..87fb1a8 100644 --- a/en/sandbox/authentication.mdx +++ b/en/sandbox/authentication.mdx @@ -14,7 +14,7 @@ Sandbox authentication uses the same two layers as production: Together they return a **JWT** (10-minute validity) used on the remaining endpoints as `Authorization: Bearer ...`. - Sandbox credentials are **distinct** from production. If you use production credentials against `https://sandbox.ntxpay.com`, you will get `401`. The HTTP contract is identical — what changes is the certificate + clientId/clientSecret pair. + Sandbox credentials are **distinct** from production. If you use production credentials against `https://sandbox.mx.ntxpay.com`, you will get `401`. The HTTP contract is identical — what changes is the certificate + clientId/clientSecret pair. ## Get a Token @@ -22,7 +22,7 @@ Together they return a **JWT** (10-minute validity) used on the remaining endpoi ### POST /api/auth/token ```bash -curl -X POST https://sandbox.ntxpay.com/api/auth/token \ +curl -X POST https://sandbox.mx.ntxpay.com/api/auth/token \ -H "X-SSL-Client-Cert: $ENCODED_CERT" \ -H "Content-Type: application/json" \ -d '{ @@ -47,7 +47,7 @@ curl -X POST https://sandbox.ntxpay.com/api/auth/token \ On a sandbox account, any authenticated call simulates the full pipeline without moving real money: ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -78,4 +78,4 @@ The token expires in **10 minutes (600s)**. There is no refresh token — get a ## Detailed documentation -For the full step-by-step (certificate encoding, examples in multiple languages, etc.) see [Authentication](/en/guides/authentication) in the main guide — the only difference is the base URL `https://sandbox.ntxpay.com`. +For the full step-by-step (certificate encoding, examples in multiple languages, etc.) see [Authentication](/en/guides/authentication) in the main guide — the only difference is the base URL `https://sandbox.mx.ntxpay.com`. diff --git a/en/sandbox/cash-in.mdx b/en/sandbox/cash-in.mdx index a55bd82..d2d8f69 100644 --- a/en/sandbox/cash-in.mdx +++ b/en/sandbox/cash-in.mdx @@ -13,7 +13,7 @@ In sandbox, confirmation is **simulated** ~1 second after CLABE creation (instea ## Example ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-in \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-in \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ diff --git a/en/sandbox/cash-out.mdx b/en/sandbox/cash-out.mdx index 841e545..23a6d00 100644 --- a/en/sandbox/cash-out.mdx +++ b/en/sandbox/cash-out.mdx @@ -17,7 +17,7 @@ Your sandbox account needs balance. Run at least one [cash-in](/en/sandbox/cash- ## Example ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -69,7 +69,7 @@ After ~1 second (`success` scenario): Force specific behaviors via the `X-Sandbox-Scenario` header: ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: error:insufficient-funds" \ -H "Content-Type: application/json" \ diff --git a/en/sandbox/introduction.mdx b/en/sandbox/introduction.mdx index 2795606..efaa38f 100644 --- a/en/sandbox/introduction.mdx +++ b/en/sandbox/introduction.mdx @@ -20,7 +20,7 @@ Your API credentials are **structurally the same** as those you would use in pro | Environment | URL | |---|---| -| Sandbox | `https://sandbox.ntxpay.com` | +| Sandbox | `https://sandbox.mx.ntxpay.com` | All documented routes (`/api/auth/token`, `/api/spei/cash-in`, `/api/spei/cash-out`, `/api/transactions`, `/api/webhooks-config`) are available exactly at this host. @@ -36,7 +36,7 @@ Register your `webhookUrl` on the sandbox account exactly as you would in produc | Aspect | Sandbox | Production | |---|---|---| -| Base URL | `https://sandbox.ntxpay.com` | Provided at onboarding | +| Base URL | `https://sandbox.mx.ntxpay.com` | Provided at onboarding | | Provider | `sandbox` (simulated) | Real bank (Banxico/SPEI) | | Balance | Simulated | Real funds | | SPEI cash-in confirmation | Immediate (~1s) | Real (seconds to minutes) | diff --git a/en/sandbox/scenarios.mdx b/en/sandbox/scenarios.mdx index 15f6e81..8f66bad 100644 --- a/en/sandbox/scenarios.mdx +++ b/en/sandbox/scenarios.mdx @@ -9,7 +9,7 @@ mode: 'wide' Add the header `X-Sandbox-Scenario: ` to any cash-in or cash-out call. Without the header, the sandbox uses the `success` scenario by default. ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: error:insufficient-funds" \ -H "Content-Type: application/json" \ diff --git a/en/sandbox/webhooks.mdx b/en/sandbox/webhooks.mdx index 5ea6507..a90f248 100644 --- a/en/sandbox/webhooks.mdx +++ b/en/sandbox/webhooks.mdx @@ -18,7 +18,7 @@ The only difference is **speed**: sandbox webhooks fire ~1 second after the requ ## Register URL ```bash -curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ +curl -X POST https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -94,7 +94,7 @@ Your endpoint must respond `2xx` within **5 seconds** — any `5xx`, timeout, or Force the webhook to come back as `FAILED` or with delay: ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: delayed:30s" \ -H "Content-Type: application/json" \ diff --git a/es/guides/authentication.mdx b/es/guides/authentication.mdx index c9e6358..a233950 100644 --- a/es/guides/authentication.mdx +++ b/es/guides/authentication.mdx @@ -38,7 +38,7 @@ ENCODED_CERT=$(cat client.cert.pem | python3 -c "import sys,urllib.parse; print( #### Request ```bash -curl -X POST https://sandbox.ntxpay.com/api/auth/token \ +curl -X POST https://sandbox.mx.ntxpay.com/api/auth/token \ -H "X-SSL-Client-Cert: $ENCODED_CERT" \ -H "Content-Type: application/json" \ -d '{ @@ -63,7 +63,7 @@ curl -X POST https://sandbox.ntxpay.com/api/auth/token \ Incluye el `access_token` en todas las requests autenticadas: ```bash -curl -X GET https://sandbox.ntxpay.com/api/balance \ +curl -X GET https://sandbox.mx.ntxpay.com/api/balance \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." ``` @@ -95,7 +95,7 @@ const encodedCert = encodeURIComponent(cert); async function getToken(): Promise { const { data } = await axios.post( - 'https://sandbox.ntxpay.com/api/auth/token', + 'https://sandbox.mx.ntxpay.com/api/auth/token', { clientId: process.env.NTXPAY_CLIENT_ID, clientSecret: process.env.NTXPAY_CLIENT_SECRET, diff --git a/es/guides/balance.mdx b/es/guides/balance.mdx index baa2de1..39a8ed9 100644 --- a/es/guides/balance.mdx +++ b/es/guides/balance.mdx @@ -23,7 +23,7 @@ Authorization: Bearer {token} #### Request ```bash -curl -X GET https://sandbox.ntxpay.com/api/balance \ +curl -X GET https://sandbox.mx.ntxpay.com/api/balance \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." ``` @@ -59,7 +59,7 @@ curl -X GET https://sandbox.ntxpay.com/api/balance \ import axios from 'axios'; async function getBalance(token: string) { - const { data } = await axios.get('https://sandbox.ntxpay.com/api/balance', { + const { data } = await axios.get('https://sandbox.mx.ntxpay.com/api/balance', { headers: { Authorization: `Bearer ${token}` }, }); @@ -85,7 +85,7 @@ async function safeSpeiCashOut(amountCentavos: number, token: string, dto: any) ); } - return axios.post('https://sandbox.ntxpay.com/api/spei/cash-out', dto, { + return axios.post('https://sandbox.mx.ntxpay.com/api/spei/cash-out', dto, { headers: { Authorization: `Bearer ${token}` }, }); } diff --git a/es/guides/get-started.mdx b/es/guides/get-started.mdx index 91f3f16..d98add3 100644 --- a/es/guides/get-started.mdx +++ b/es/guides/get-started.mdx @@ -20,7 +20,7 @@ La API NTX Pay México permite que tu empresa realice operaciones de pago, consu Registra la URL de tu webhook vía `POST /api/webhooks-config` para recibir eventos simulados. ```bash - curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ + curl -X POST https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -36,7 +36,7 @@ La API NTX Pay México permite que tu empresa realice operaciones de pago, consu Autentica, realiza las llamadas a la API y usa el header `X-Sandbox-Scenario` para simular diferentes resultados (confirmación inmediata, falla, expiración, etc.). ```bash - curl -X POST https://sandbox.ntxpay.com/api/spei/cash-in \ + curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-in \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: cash_in_failed" \ -H "Content-Type: application/json" \ @@ -53,7 +53,7 @@ La API NTX Pay México permite que tu empresa realice operaciones de pago, consu | Ambiente | URL | Provider | |---|---|---| -| Sandbox | `https://sandbox.ntxpay.com` | `sandbox` (transacciones simuladas) | +| Sandbox | `https://sandbox.mx.ntxpay.com` | `sandbox` (transacciones simuladas) | | Producción | Provista en el onboarding | `smartfastpay` | ## Soporte diff --git a/es/guides/migrating-from-voluti.mdx b/es/guides/migrating-from-voluti.mdx index ebe3365..c45140f 100644 --- a/es/guides/migrating-from-voluti.mdx +++ b/es/guides/migrating-from-voluti.mdx @@ -18,7 +18,7 @@ La API NTX Pay México fue diseñada para que clientes provenientes de **Voluti | Item | Voluti | NTX Pay | |---|---|---| | Host producción | `api.spei.magenpay.io` | Provista en el onboarding | -| Host sandbox | — | `sandbox.ntxpay.com` | +| Host sandbox | — | `sandbox.mx.ntxpay.com` | | Versionado | `/api/v1` | `/api` | | Auth header | `Authorization: API_KEY:NONCE:SIGNATURE` | `Authorization: Bearer ` | | Obtención de credenciales | API key + secret entregados desde el panel | `POST /api/signup` → `clientId/clientSecret`; luego `POST /api/auth/token` con cert X.509 | @@ -51,7 +51,7 @@ curl -X POST https://api.spei.magenpay.io/api/v1/transaction/cashin \ }' # NTX Pay — payload IDÉNTICO funciona -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-in \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-in \ -H "Authorization: Bearer $JWT" \ -d '{ "amount": "100.00", @@ -104,7 +104,7 @@ curl -X POST https://api.spei.magenpay.io/api/v1/transaction/cashout \ }' # NTX Pay — mismo payload aceptado -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $JWT" \ -d '{ "amount": "100.00", @@ -124,7 +124,7 @@ El endpoint dedicado mantiene semántica 1-a-1 con el `conciliation` de Voluti: curl -X GET https://api.spei.magenpay.io/api/v1/transaction/order_abc_123/conciliation # NTX Pay -curl -X GET https://sandbox.ntxpay.com/api/spei/transaction/order_abc_123 \ +curl -X GET https://sandbox.mx.ntxpay.com/api/spei/transaction/order_abc_123 \ -H "Authorization: Bearer $JWT" ``` diff --git a/es/guides/quickstart.mdx b/es/guides/quickstart.mdx index a7691cb..fe1abb5 100644 --- a/es/guides/quickstart.mdx +++ b/es/guides/quickstart.mdx @@ -12,7 +12,7 @@ description: 'Signup, autenticación y primera transacción SPEI' ## 1. Crear cuenta ```bash -curl -X POST https://sandbox.ntxpay.com/api/signup \ +curl -X POST https://sandbox.mx.ntxpay.com/api/signup \ -H "Content-Type: application/json" \ -d '{ "holderName": "Maria Lopez", @@ -31,7 +31,7 @@ La respuesta trae `credentials.clientId` y `credentials.clientSecret`. El `clien ```bash ENCODED_CERT=$(cat client.cert.pem | python3 -c "import sys,urllib.parse; print(urllib.parse.quote(sys.stdin.read()))") -curl -X POST https://sandbox.ntxpay.com/api/auth/token \ +curl -X POST https://sandbox.mx.ntxpay.com/api/auth/token \ -H "X-SSL-Client-Cert: $ENCODED_CERT" \ -H "Content-Type: application/json" \ -d '{"clientId":"qr-93-550e8400","clientSecret":"a1b2..."}' @@ -42,7 +42,7 @@ Retorna `access_token` con validez de 10 minutos. ## 3. Configurar webhook ```bash -curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ +curl -X POST https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -56,7 +56,7 @@ La respuesta trae el `secret` usado para validar la firma HMAC. ## 4. Crear cobro SPEI ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-in \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-in \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -72,7 +72,7 @@ Retorna `destinationClabe`. El pagador transfiere a esa CLABE; la confirmación | Ambiente | URL | Provider | |---|---|---| -| Sandbox | `https://sandbox.ntxpay.com` | `sandbox` (transacciones simuladas) | +| Sandbox | `https://sandbox.mx.ntxpay.com` | `sandbox` (transacciones simuladas) | | Producción | Provista en el onboarding | `smartfastpay` | Cuenta sandbox: `isSandbox: true` en el signup. diff --git a/es/guides/sandbox-testing.mdx b/es/guides/sandbox-testing.mdx index 3b04b21..994d212 100644 --- a/es/guides/sandbox-testing.mdx +++ b/es/guides/sandbox-testing.mdx @@ -16,7 +16,7 @@ El sandbox es un **modo de operación** de tu cuenta — no un ambiente separado | Aspecto | Sandbox | Producción | |---|---|---| -| Base URL | `https://sandbox.ntxpay.com` | Provista en el onboarding | +| Base URL | `https://sandbox.mx.ntxpay.com` | Provista en el onboarding | | Cuenta | Dedicada de sandbox | Dedicada de producción | | Credenciales | Certificado + `clientId`/`clientSecret` propios | Certificado + credenciales propios | | Saldo | Simulado | Fondos reales | @@ -68,7 +68,7 @@ El header **no altera la respuesta HTTP**. La API siempre responde `201 Created` ```bash cURL -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: error:insufficient-funds" \ -H "Content-Type: application/json" \ @@ -82,7 +82,7 @@ curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ ```javascript JavaScript const response = await axios.post( - 'https://sandbox.ntxpay.com/api/spei/cash-out', + 'https://sandbox.mx.ntxpay.com/api/spei/cash-out', { amountCentavos: 15000, destinationClabe: '012180001234567890', @@ -100,7 +100,7 @@ const response = await axios.post( ```python Python response = requests.post( - "https://sandbox.ntxpay.com/api/spei/cash-out", + "https://sandbox.mx.ntxpay.com/api/spei/cash-out", json={ "amountCentavos": 15000, "destinationClabe": "012180001234567890", diff --git a/es/guides/signup.mdx b/es/guides/signup.mdx index 1d2fe5d..f4dba80 100644 --- a/es/guides/signup.mdx +++ b/es/guides/signup.mdx @@ -24,7 +24,7 @@ Al crearla, NTX Pay: #### Request — Persona Física (sandbox) ```bash -curl -X POST https://sandbox.ntxpay.com/api/signup \ +curl -X POST https://sandbox.mx.ntxpay.com/api/signup \ -H "Content-Type: application/json" \ -d '{ "holderName": "Maria Lopez", @@ -40,7 +40,7 @@ curl -X POST https://sandbox.ntxpay.com/api/signup \ #### Request — Persona Moral (producción) ```bash -curl -X POST https://sandbox.ntxpay.com/api/signup \ +curl -X POST https://sandbox.mx.ntxpay.com/api/signup \ -H "Content-Type: application/json" \ -d '{ "holderName": "Acme S.A. de C.V.", @@ -113,7 +113,7 @@ curl -X POST https://sandbox.ntxpay.com/api/signup \ | Confirmación SPEI | Inmediata (simulada) | Real (segundos a minutos vía Banxico) | | Costo | Gratuito | Tarifas en producción | | Límites | Permisivos | Según contrato | -| Endpoint base | `https://sandbox.ntxpay.com` | Provista en el onboarding | +| Endpoint base | `https://sandbox.mx.ntxpay.com` | Provista en el onboarding | ## Errores Comunes diff --git a/es/guides/spei-cash-in.mdx b/es/guides/spei-cash-in.mdx index fa2594a..096c8d2 100644 --- a/es/guides/spei-cash-in.mdx +++ b/es/guides/spei-cash-in.mdx @@ -27,7 +27,7 @@ Content-Type: application/json #### Request ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-in \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-in \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ diff --git a/es/guides/spei-cash-out.mdx b/es/guides/spei-cash-out.mdx index b53db54..1cbce69 100644 --- a/es/guides/spei-cash-out.mdx +++ b/es/guides/spei-cash-out.mdx @@ -21,7 +21,7 @@ Content-Type: application/json #### Request ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -105,7 +105,7 @@ if (balance.availableCentavos < amountCentavos) { async function speiCashOut(token: string, dto: any) { try { const { data } = await axios.post( - 'https://sandbox.ntxpay.com/api/spei/cash-out', + 'https://sandbox.mx.ntxpay.com/api/spei/cash-out', dto, { headers: { Authorization: `Bearer ${token}` } }, ); diff --git a/es/guides/transactions-list.mdx b/es/guides/transactions-list.mdx index 7847020..7211983 100644 --- a/es/guides/transactions-list.mdx +++ b/es/guides/transactions-list.mdx @@ -34,7 +34,7 @@ Authorization: Bearer {token} #### Request ```bash -curl -X GET "https://sandbox.ntxpay.com/api/transactions?status=CONFIRMED&paymentMethod=SPEI&limit=50" \ +curl -X GET "https://sandbox.mx.ntxpay.com/api/transactions?status=CONFIRMED&paymentMethod=SPEI&limit=50" \ -H "Authorization: Bearer $TOKEN" ``` @@ -75,7 +75,7 @@ let offset = 0; const limit = 50; while (true) { - const { data } = await axios.get('https://sandbox.ntxpay.com/api/transactions', { + const { data } = await axios.get('https://sandbox.mx.ntxpay.com/api/transactions', { headers: { Authorization: `Bearer ${token}` }, params: { limit, offset, status: 'CONFIRMED' }, }); diff --git a/es/guides/webhooks/setup.mdx b/es/guides/webhooks/setup.mdx index c1b9eff..ed5f935 100644 --- a/es/guides/webhooks/setup.mdx +++ b/es/guides/webhooks/setup.mdx @@ -16,7 +16,7 @@ La configuración de webhooks se hace vía tres endpoints: ### Request ```bash -curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ +curl -X POST https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -59,7 +59,7 @@ curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ ## Listar Webhooks ```bash -curl -X GET https://sandbox.ntxpay.com/api/webhooks-config \ +curl -X GET https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" ``` @@ -86,7 +86,7 @@ curl -X GET https://sandbox.ntxpay.com/api/webhooks-config \ ## Remover Webhook ```bash -curl -X DELETE https://sandbox.ntxpay.com/api/webhooks-config/42 \ +curl -X DELETE https://sandbox.mx.ntxpay.com/api/webhooks-config/42 \ -H "Authorization: Bearer $TOKEN" ``` diff --git a/es/index.mdx b/es/index.mdx index 6b8bc26..1debbb1 100644 --- a/es/index.mdx +++ b/es/index.mdx @@ -9,7 +9,7 @@ Gateway público para integración con SPEI (transferencias interbancarias insta | Ambiente | URL | |---|---| -| Sandbox | `https://sandbox.ntxpay.com` | +| Sandbox | `https://sandbox.mx.ntxpay.com` | | Producción | Provista en el onboarding | ## Autenticación diff --git a/es/sandbox/authentication.mdx b/es/sandbox/authentication.mdx index b6d1274..509cd81 100644 --- a/es/sandbox/authentication.mdx +++ b/es/sandbox/authentication.mdx @@ -14,7 +14,7 @@ La autenticación de sandbox usa las mismas dos capas que producción: En conjunto, devuelven un **JWT** (validez de 10 minutos) usado en los demás endpoints como `Authorization: Bearer ...`. - Las credenciales de sandbox son **distintas** de las de producción. Si usas credenciales de producción contra `https://sandbox.ntxpay.com`, recibirás `401`. El contrato HTTP es idéntico — lo que cambia es el par certificado + clientId/clientSecret. + Las credenciales de sandbox son **distintas** de las de producción. Si usas credenciales de producción contra `https://sandbox.mx.ntxpay.com`, recibirás `401`. El contrato HTTP es idéntico — lo que cambia es el par certificado + clientId/clientSecret. ## Obtener Token @@ -22,7 +22,7 @@ En conjunto, devuelven un **JWT** (validez de 10 minutos) usado en los demás en ### POST /api/auth/token ```bash -curl -X POST https://sandbox.ntxpay.com/api/auth/token \ +curl -X POST https://sandbox.mx.ntxpay.com/api/auth/token \ -H "X-SSL-Client-Cert: $ENCODED_CERT" \ -H "Content-Type: application/json" \ -d '{ @@ -47,7 +47,7 @@ curl -X POST https://sandbox.ntxpay.com/api/auth/token \ En una cuenta sandbox, cualquier llamada autenticada simula el pipeline completo sin mover dinero real: ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -78,4 +78,4 @@ El token expira en **10 minutos (600s)**. No hay refresh token — genera uno nu ## Documentación detallada -Para el paso a paso completo (codificación del certificado, ejemplos en múltiples lenguajes, etc.) mira [Autenticación](/es/guides/authentication) en la guía general — la única diferencia es la base URL `https://sandbox.ntxpay.com`. +Para el paso a paso completo (codificación del certificado, ejemplos en múltiples lenguajes, etc.) mira [Autenticación](/es/guides/authentication) en la guía general — la única diferencia es la base URL `https://sandbox.mx.ntxpay.com`. diff --git a/es/sandbox/cash-in.mdx b/es/sandbox/cash-in.mdx index bc0fb98..f7347c3 100644 --- a/es/sandbox/cash-in.mdx +++ b/es/sandbox/cash-in.mdx @@ -13,7 +13,7 @@ En sandbox, la confirmación es **simulada** ~1 segundo después de crear la CLA ## Ejemplo ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-in \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-in \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ diff --git a/es/sandbox/cash-out.mdx b/es/sandbox/cash-out.mdx index 2f5b3f7..48f00a2 100644 --- a/es/sandbox/cash-out.mdx +++ b/es/sandbox/cash-out.mdx @@ -17,7 +17,7 @@ Tu cuenta sandbox necesita saldo. Realiza al menos un [cash-in](/es/sandbox/cash ## Ejemplo ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -69,7 +69,7 @@ Tras ~1 segundo (escenario `success`): Fuerza comportamientos específicos vía el header `X-Sandbox-Scenario`: ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: error:insufficient-funds" \ -H "Content-Type: application/json" \ diff --git a/es/sandbox/introduction.mdx b/es/sandbox/introduction.mdx index 75f1ee9..fd381cd 100644 --- a/es/sandbox/introduction.mdx +++ b/es/sandbox/introduction.mdx @@ -20,7 +20,7 @@ Tus credenciales de API son **estructuralmente las mismas** que usarías en prod | Ambiente | URL | |---|---| -| Sandbox | `https://sandbox.ntxpay.com` | +| Sandbox | `https://sandbox.mx.ntxpay.com` | Todas las rutas documentadas (`/api/auth/token`, `/api/spei/cash-in`, `/api/spei/cash-out`, `/api/transactions`, `/api/webhooks-config`) están disponibles exactamente en este host. @@ -36,7 +36,7 @@ Registra tu `webhookUrl` en la cuenta sandbox exactamente como lo harías en pro | Aspecto | Sandbox | Producción | |---|---|---| -| Base URL | `https://sandbox.ntxpay.com` | Provista en el onboarding | +| Base URL | `https://sandbox.mx.ntxpay.com` | Provista en el onboarding | | Provider | `sandbox` (simulado) | Banco real (Banxico/SPEI) | | Saldo | Simulado | Fondos reales | | Confirmación SPEI cash-in | Inmediata (~1s) | Real (segundos a minutos) | diff --git a/es/sandbox/scenarios.mdx b/es/sandbox/scenarios.mdx index eab4e08..d061f6a 100644 --- a/es/sandbox/scenarios.mdx +++ b/es/sandbox/scenarios.mdx @@ -9,7 +9,7 @@ mode: 'wide' Agrega el header `X-Sandbox-Scenario: ` a cualquier llamada de cash-in o cash-out. Sin el header, el sandbox usa el escenario `success` por defecto. ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: error:insufficient-funds" \ -H "Content-Type: application/json" \ diff --git a/es/sandbox/webhooks.mdx b/es/sandbox/webhooks.mdx index 48d68bd..609e5fd 100644 --- a/es/sandbox/webhooks.mdx +++ b/es/sandbox/webhooks.mdx @@ -18,7 +18,7 @@ La única diferencia es la **velocidad**: los webhooks de sandbox son disparados ## Registrar URL ```bash -curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ +curl -X POST https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -94,7 +94,7 @@ Tu endpoint necesita responder `2xx` en hasta **5 segundos** — cualquier `5xx` Fuerza que el webhook salga como `FAILED` o con delay: ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: delayed:30s" \ -H "Content-Type: application/json" \ diff --git a/pt-br/guides/authentication.mdx b/pt-br/guides/authentication.mdx index 6f6b3c2..eb5ccc9 100644 --- a/pt-br/guides/authentication.mdx +++ b/pt-br/guides/authentication.mdx @@ -39,7 +39,7 @@ ENCODED_CERT=$(cat client.cert.pem | python3 -c "import sys,urllib.parse; print( #### Request ```bash -curl -X POST https://sandbox.ntxpay.com/api/auth/token \ +curl -X POST https://sandbox.mx.ntxpay.com/api/auth/token \ -H "X-SSL-Client-Cert: $ENCODED_CERT" \ -H "Content-Type: application/json" \ -d '{ @@ -64,7 +64,7 @@ curl -X POST https://sandbox.ntxpay.com/api/auth/token \ Inclua o `access_token` em todas as requisições autenticadas: ```bash -curl -X GET https://sandbox.ntxpay.com/api/spei/transaction/order-abc-123 \ +curl -X GET https://sandbox.mx.ntxpay.com/api/spei/transaction/order-abc-123 \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." ``` @@ -98,7 +98,7 @@ const encodedCert = encodeURIComponent(cert); async function getToken(): Promise { const { data } = await axios.post( - 'https://sandbox.ntxpay.com/api/auth/token', + 'https://sandbox.mx.ntxpay.com/api/auth/token', { clientId: process.env.NTXPAY_CLIENT_ID, clientSecret: process.env.NTXPAY_CLIENT_SECRET, @@ -125,7 +125,7 @@ encoded_cert = urllib.parse.quote(cert) def get_token() -> str: resp = requests.post( - "https://sandbox.ntxpay.com/api/auth/token", + "https://sandbox.mx.ntxpay.com/api/auth/token", json={ "clientId": os.environ["NTXPAY_CLIENT_ID"], "clientSecret": os.environ["NTXPAY_CLIENT_SECRET"], @@ -166,7 +166,7 @@ public class NtxPayAuth { ); HttpRequest req = HttpRequest.newBuilder() - .uri(URI.create("https://sandbox.ntxpay.com/api/auth/token")) + .uri(URI.create("https://sandbox.mx.ntxpay.com/api/auth/token")) .header("X-SSL-Client-Cert", encodedCert) .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString(body)) @@ -211,7 +211,7 @@ func getToken() (string, error) { req, err := http.NewRequest( "POST", - "https://sandbox.ntxpay.com/api/auth/token", + "https://sandbox.mx.ntxpay.com/api/auth/token", bytes.NewReader(payload), ) if err != nil { diff --git a/pt-br/guides/get-started.mdx b/pt-br/guides/get-started.mdx index b2164a4..c440b53 100644 --- a/pt-br/guides/get-started.mdx +++ b/pt-br/guides/get-started.mdx @@ -21,7 +21,7 @@ A API NTX Pay México permite que sua empresa realize operações de pagamento, Registre a URL do seu webhook via `POST /api/webhooks-config` para receber eventos simulados. ```bash - curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ + curl -X POST https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -34,7 +34,7 @@ A API NTX Pay México permite que sua empresa realize operações de pagamento, Autentique, faça chamadas à API e use o header `X-Sandbox-Scenario` para simular diferentes resultados (confirmação imediata, falha, expiração, etc.). ```bash - curl -X POST https://sandbox.ntxpay.com/api/spei/cash-in \ + curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-in \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: error:insufficient-funds" \ -H "Content-Type: application/json" \ @@ -51,7 +51,7 @@ A API NTX Pay México permite que sua empresa realize operações de pagamento, | Ambiente | URL | Provider | |---|---|---| -| Sandbox | `https://sandbox.ntxpay.com` | `sandbox` (transações simuladas) | +| Sandbox | `https://sandbox.mx.ntxpay.com` | `sandbox` (transações simuladas) | ## Suporte diff --git a/pt-br/guides/sandbox-testing.mdx b/pt-br/guides/sandbox-testing.mdx index 5b45a3c..4d595c1 100644 --- a/pt-br/guides/sandbox-testing.mdx +++ b/pt-br/guides/sandbox-testing.mdx @@ -8,7 +8,7 @@ mode: 'wide' O sandbox é o ambiente público da NTX Pay México para integração e testes: -- **Base URL única**: `https://sandbox.ntxpay.com` +- **Base URL única**: `https://sandbox.mx.ntxpay.com` - **Provedor bancário simulado** — não toca Banxico nem a rede SPEI real - **Saldo simulado** — sem movimentação financeira real - **Webhooks simulados** disparados ~1 segundo após cada request @@ -41,7 +41,7 @@ O header **não altera a resposta HTTP**. A API sempre responde `201 Created` co ```bash cURL -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: error:insufficient-funds" \ -H "Content-Type: application/json" \ @@ -55,7 +55,7 @@ curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ ```javascript JavaScript const response = await axios.post( - 'https://sandbox.ntxpay.com/api/spei/cash-out', + 'https://sandbox.mx.ntxpay.com/api/spei/cash-out', { amountCentavos: 15000, destinationClabe: '012180001234567890', @@ -73,7 +73,7 @@ const response = await axios.post( ```python Python response = requests.post( - "https://sandbox.ntxpay.com/api/spei/cash-out", + "https://sandbox.mx.ntxpay.com/api/spei/cash-out", json={ "amountCentavos": 15000, "destinationClabe": "012180001234567890", diff --git a/pt-br/guides/webhooks/setup.mdx b/pt-br/guides/webhooks/setup.mdx index 50c1c1c..c529d31 100644 --- a/pt-br/guides/webhooks/setup.mdx +++ b/pt-br/guides/webhooks/setup.mdx @@ -17,7 +17,7 @@ A configuração de webhooks é feita via três endpoints: ### Request ```bash -curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ +curl -X POST https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -60,7 +60,7 @@ curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ ## Listar Webhooks ```bash -curl -X GET https://sandbox.ntxpay.com/api/webhooks-config \ +curl -X GET https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" ``` @@ -87,7 +87,7 @@ curl -X GET https://sandbox.ntxpay.com/api/webhooks-config \ ## Remover Webhook ```bash -curl -X DELETE https://sandbox.ntxpay.com/api/webhooks-config/42 \ +curl -X DELETE https://sandbox.mx.ntxpay.com/api/webhooks-config/42 \ -H "Authorization: Bearer $TOKEN" ``` diff --git a/pt-br/sandbox/authentication.mdx b/pt-br/sandbox/authentication.mdx index b0b00a6..5831584 100644 --- a/pt-br/sandbox/authentication.mdx +++ b/pt-br/sandbox/authentication.mdx @@ -14,7 +14,7 @@ A autenticação em sandbox usa as mesmas duas camadas que produção: Em conjunto, retornam um **JWT** (validade 10 minutos) usado nos demais endpoints como `Authorization: Bearer ...`. - As credenciais de sandbox são **distintas** das de produção. Se você usar credenciais de produção contra `https://sandbox.ntxpay.com`, receberá `401`. O contrato HTTP é idêntico — o que muda é o par certificado + clientId/clientSecret. + As credenciais de sandbox são **distintas** das de produção. Se você usar credenciais de produção contra `https://sandbox.mx.ntxpay.com`, receberá `401`. O contrato HTTP é idêntico — o que muda é o par certificado + clientId/clientSecret. ## Obter Token @@ -22,7 +22,7 @@ Em conjunto, retornam um **JWT** (validade 10 minutos) usado nos demais endpoint ### POST /api/auth/token ```bash -curl -X POST https://sandbox.ntxpay.com/api/auth/token \ +curl -X POST https://sandbox.mx.ntxpay.com/api/auth/token \ -H "X-SSL-Client-Cert: $ENCODED_CERT" \ -H "Content-Type: application/json" \ -d '{ @@ -47,7 +47,7 @@ curl -X POST https://sandbox.ntxpay.com/api/auth/token \ Em uma conta sandbox, qualquer chamada autenticada simula um pipeline completo sem mover dinheiro real: ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -78,4 +78,4 @@ O token expira em **10 minutos (600s)**. Não há refresh token — gere um novo ## Documentação detalhada -Para o passo a passo completo (encoding do certificado, exemplos em múltiplas linguagens, etc.) veja [Autenticação](/pt-br/guides/authentication) no guia geral — a única diferença é a base URL `https://sandbox.ntxpay.com`. +Para o passo a passo completo (encoding do certificado, exemplos em múltiplas linguagens, etc.) veja [Autenticação](/pt-br/guides/authentication) no guia geral — a única diferença é a base URL `https://sandbox.mx.ntxpay.com`. diff --git a/pt-br/sandbox/cash-in.mdx b/pt-br/sandbox/cash-in.mdx index 2229f82..c02d88d 100644 --- a/pt-br/sandbox/cash-in.mdx +++ b/pt-br/sandbox/cash-in.mdx @@ -13,7 +13,7 @@ No sandbox, a confirmação é **simulada** ~1 segundo após a criação da CLAB ## Exemplo ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-in \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-in \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ diff --git a/pt-br/sandbox/cash-out.mdx b/pt-br/sandbox/cash-out.mdx index 6ed370e..3965bb3 100644 --- a/pt-br/sandbox/cash-out.mdx +++ b/pt-br/sandbox/cash-out.mdx @@ -17,7 +17,7 @@ Sua conta sandbox precisa ter saldo. Faça pelo menos um [cash-in](/pt-br/sandbo ## Exemplo ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -69,7 +69,7 @@ Após ~1 segundo (cenário `success`): Force comportamentos específicos via header `X-Sandbox-Scenario`: ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: error:insufficient-funds" \ -H "Content-Type: application/json" \ diff --git a/pt-br/sandbox/introduction.mdx b/pt-br/sandbox/introduction.mdx index e879ef7..5fe3dc4 100644 --- a/pt-br/sandbox/introduction.mdx +++ b/pt-br/sandbox/introduction.mdx @@ -20,7 +20,7 @@ Suas credenciais de API são as **mesmas estruturalmente** que você usaria em p | Ambiente | URL | |---|---| -| Sandbox | `https://sandbox.ntxpay.com` | +| Sandbox | `https://sandbox.mx.ntxpay.com` | Todas as rotas documentadas (`/api/auth/token`, `/api/spei/cash-in`, `/api/spei/cash-out`, `/api/transactions`, `/api/webhooks-config`) estão disponíveis exatamente neste host. @@ -36,7 +36,7 @@ Registre seu `webhookUrl` na conta sandbox exatamente como faria em produção | Aspecto | Sandbox | Produção | |---|---|---| -| Base URL | `https://sandbox.ntxpay.com` | Fornecida no onboarding | +| Base URL | `https://sandbox.mx.ntxpay.com` | Fornecida no onboarding | | Provider | `sandbox` (simulado) | Banco real (Banxico/SPEI) | | Saldo | Simulado | Fundos reais | | Confirmação SPEI cash-in | Imediata (~1s) | Real (segundos a minutos) | diff --git a/pt-br/sandbox/scenarios.mdx b/pt-br/sandbox/scenarios.mdx index ea57292..190dac9 100644 --- a/pt-br/sandbox/scenarios.mdx +++ b/pt-br/sandbox/scenarios.mdx @@ -9,7 +9,7 @@ mode: 'wide' Adicione o header `X-Sandbox-Scenario: ` a qualquer chamada de cash-in ou cash-out. Sem o header, o sandbox usa o cenário `success` por padrão. ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: error:insufficient-funds" \ -H "Content-Type: application/json" \ diff --git a/pt-br/sandbox/webhooks.mdx b/pt-br/sandbox/webhooks.mdx index c4b67cc..e6072a4 100644 --- a/pt-br/sandbox/webhooks.mdx +++ b/pt-br/sandbox/webhooks.mdx @@ -18,7 +18,7 @@ A única diferença é a **velocidade**: webhooks de sandbox são disparados ~1 ## Registrar URL ```bash -curl -X POST https://sandbox.ntxpay.com/api/webhooks-config \ +curl -X POST https://sandbox.mx.ntxpay.com/api/webhooks-config \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -94,7 +94,7 @@ Seu endpoint precisa responder `2xx` em até **5 segundos** — qualquer `5xx`, Force o webhook sair como `FAILED` ou com delay: ```bash -curl -X POST https://sandbox.ntxpay.com/api/spei/cash-out \ +curl -X POST https://sandbox.mx.ntxpay.com/api/spei/cash-out \ -H "Authorization: Bearer $TOKEN" \ -H "X-Sandbox-Scenario: delayed:30s" \ -H "Content-Type: application/json" \