🛠️
Integration Guide
  • 🔎Overview
    • 👋Welcome to XGateway
      • Integrate with XGateway
      • Supported currencies
      • KYC
  • ⚙️Integration Guides
    • Crypto Payments using Checkout
    • SEPA Secure payments using Checkout
    • Alternative Payment Methods using Checkout
    • Crypto Payments using API
    • Advanced features of Invoice creation
  • ❔Miscellaneous
    • Keys and authentication
    • Check transaction status
    • Environments
    • Invoice currencies
    • Deposit data confirmation
    • Callbacks
      • Transaction callback
      • Bank Account callback
      • KYC callback
    • Withdrawal initiation with API
    • Disputes resolution
  • 💱Payment flows
    • Transaction flowchart
    • KYC checks diagram
    • Confirmation subprocess
    • User flow for Crypto Payments
    • User flow for SEPA Secure
    • Fees structure
      • Adjustable BTC Minimum Deposit Fee Framework
  • 🏤Back office
Powered by GitBook
On this page
  1. Miscellaneous
  2. Callbacks

KYC callback

During the KYC process within the SEPA Secure flow, the customer's status can change multiple times. To keep you informed, we will send you a callback whenever there is a status update, along with information about any missing documents or errors that occurred during the KYC.

For the time being, SEPA Secure is provided only within the Checkout flow. There is no need to receive this type of callbacks.

Sends the KYC details to you

POST https://your-callback-url-here.com/endpoint-to-handle-kyc-status

Request Body

Name
Type
Description

callbackType

"kyc"

The type of callback

customerId

String

The unique customer ID in the merchant system

docsMissing

Array({docType: string}) | null

The array of missing docs.

hash

String

The base64-encoded hash is generated using the sha512 algorithm and includes the customer ID, and secret key.

The string that will be hashed: {customer ID}.{secretKey}.

kycRejectLabel

String | null

The message indicates the reason for rejecting KYC.

kycEndUserErrorMessage

String | null

The message provides a detailed description of the error that occurred during KYC.

status

String

Status of KYC:

  • KYC_NEEDED: KYC process required

  • PENDING_KYC_DATA: Awaiting KYC data

  • KYC_PENDING: KYC is in progress

  • SOFT_KYC_FAILED: Non-critical KYC failure

  • HARD_KYC_FAILED: Critical KYC failure

  • FULL_USER: KYC completed successfully

The callback URL is the URL you provide during the sign-up process.

The callback you get after a confirmed or failed transaction might look like this:

{
  "callbackType": "kyc",
  "customerId": "demo_customer_id",
  "docsMissing": ["SELFIE", "PASSPORT"],
  "kycRejectLabel": "BAD_SELFIE, BAD_PASSPORT",
  "kycEndUserErrorMessage": null,
  "status": "SOFT_KYC_FAILED"
}

The callback data here is presented only for the demo purpose.

You may then handle this information as necessary. You don't need to send us anything back other than a success status so that we know the callback has been received and handled on your side.

PreviousBank Account callbackNextWithdrawal initiation with API

Last updated 6 days ago

❔