Skip to content

Logo

InstaXchange

From fiat to crypto. One integration.

Supports in this guide: Payments

Provider website: instaxchange.com


What you need to do for start processing transactions (brief summary)

  1. Get your credentials (from InstaXchange)
  2. Connect in Dashboard
  3. Send an API request

Prerequisites: get from InstaXchange

Contact your InstaXchange account manager to get your account verified and receive the following credentials.

  • Account Reference ID -> Corefy field account_reference_id.
  • Webhook Secret Word -> Corefy field webhook_secret_word -> used to verify callback notifications from InstaXchange.
  • To Currency -> Corefy field to_currency -> one of USDC, USDC-POLYGON, BTC, ETH, SOL - the cryptocurrency InstaXchange converts the fiat payment into.

Important

InstaXchange is a fiat-to-crypto on-ramp - the customer pays with a local fiat method (card, bank transfer, etc.) and the equivalent amount is delivered in crypto to a wallet address, which you specify per transaction (see fields.blockchain_address below).


Payments processing (connect Provider account, create payment-invoice)

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

Open InstaXchange in the provider directory and press Connect at InstaXchange Provider Overview page in the New connection section.

Step 2 - Fill in fields and select settings

  • Account Reference ID
  • Webhook Secret Word
  • To Currency
  • Test Mode -> (enable if you are using sandbox credentials)

Choose Currency / Features; check with your Corefy account manager which fiat payment methods are enabled for your account.

Success

You have connected InstaXchange Provider account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice and redirects the customer to an InstaXchange-hosted page to pay with a local fiat method. Available methods - iDEAL, PayID, PIX, Interac, SEPA transfer, UPI, Apple Pay, Google Pay, card, Fawry, BLIK, PayPal - depend on what's enabled for your account.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "7b8c9d01-2e3f-4a5b-8c67-8d9e0f1a2b3c",
      "service": "payment_card_crypto_usd_hpp",
      "currency": "USD",
      "amount": 10,
      "fields": {
        "blockchain_address": "0x53e2a1e4E920FFaa3084086CfcC4f20EcB646E6c"
      }
    }
  }
}

Important

fields.blockchain_address (the destination wallet to receive the purchased crypto) is required - it falls back to the address Constant if omitted.

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "8c9d0e12-3f4a-4b6c-8d78-9e0f1a2b3c4d",
      "service": "payment_card_crypto_usd_hpp",
      "currency": "USD",
      "amount": 10,
      "fields": {
        "blockchain_address": "0x53e2a1e4E920FFaa3084086CfcC4f20EcB646E6c"
      },
      "customer": {
        "reference_id": "cus_123",
        "name": "John Smith",
        "email": "johnsmith@gmail.com",
        "phone": "+15551234567",
        "date_of_birth": "1990-05-20",
        "address": {
          "country": "US",
          "region": "NY",
          "street": "1 Main street"
        }
      }
    }
  }
}

customer is entirely optional. customer.email, customer.name (first/last), customer.phone, and customer.address.region are forwarded as-is with no Constants fallback; customer.date_of_birth, customer.address.country, and customer.address.street fall back to the Constants below if missing.


Extended request (MAX)

Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow


Options

  • finalize_after_hours -> optional, number (minimum 1) - timeout period in hours after which an unfinished transaction is automatically finalized as expired with a failed status.

Constants (fallback fields)

Constants are static values that Corefy can send to the provider instead of dynamic data from your API request, when those fields are missing in the request.

Priority (predictable rule): 1. If a value is present in the request -> Corefy uses the request value 2. Else if the constant is set -> Corefy uses the constant 3. Else -> provider may reject the request or apply its defaults (depends on provider)

Currently available constants (constant -> Corefy API field)

  • address -> fallback for fields.blockchain_address
  • date_of_birth -> customer.date_of_birth
  • country -> customer.address.country
  • address_line1 -> customer.address.street

Refunds

This connector does not support refunds.


Additional info

  1. Callback routing is automatic - Corefy generates the callback/return URLs per transaction, nothing to configure in InstaXchange's own back-office.
  2. Active reconciliation is available - Payments support an active status request, in addition to the asynchronous callback.
  3. No payouts - this connector does not support payouts through Corefy.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify Account Reference ID/Webhook Secret Word for the selected environment
  • Payment stuck in pending for too long -> set finalize_after_hours to automatically fail transactions that never complete within that window
  • Refund request fails -> refunds aren't supported by this connector
  • Currency or service is not supported -> confirm allowed methods/currencies in your InstaXchange account and in Corefy

Question

Still looking for help connecting your InstaXchange account? Please contact our support team!