API Documentation
Offramps API
Offramps API
  • Guides
    • Getting Started
  • API Reference
    • Authentication
    • Agreements
      • Agreements#Show
    • Users
      • Users#Create
      • Users#Show
      • Users#Index
    • KYC Sessions
      • KYC#Create
    • Payment Details
      • PaymentDetails#Create
      • PaymentDetails#Index
      • PaymentDetails#Show
      • PaymentDetails#Validate
      • PaymentDetails#Deactivate
      • Rail Availability
      • Required Fields For Local Currency Payouts
      • Required Fields For Swift Currency Payouts
    • Quotes
      • How to make a payment
      • Quotes#Create
      • Quotes#Show
      • Quotes#Execute
      • Quote#Rate
    • Offramps
      • Offramps#Index
      • Offramps#Create
      • Offramps#Update
      • Offramps#Show
      • Limitations
    • Webhooks
      • KYC Webhook
      • Offramp Webhook
      • Payment Detail Webhook
      • Webhook Signatures
    • Errors
    • Conversions
      • Conversions#Create
  • Sandbox Only
    • Sandbox Special Moves
Powered by GitBook
On this page
  • Update the status of a User's KYC application
  • Update the status of a Payment Detail
  • Simulate Webhooks
  • Using the Goerli/Sepolia network
  1. Sandbox Only

Sandbox Special Moves

Only used when developing in Sandbox

PreviousConversions#Create

When developing on the staging server, you can ping these endpoints to simulate a KYB/C check passing or a Payment Detail being approved.

Update the status of a User's KYC application

Note: only the status attribute can be updated to one of the values listed . If you want to clear the User, set status to approved.

curl https://{{base_url}}/sandbox/users/:user_id/kycs
-X PATCH \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-type: application/json"
-d '{
    "kyc": {
        "status": "approved"
    }
}'

Update the status of a Payment Detail

Note: only the status attribute can be updated to one of the values listed . If you flip the status to approved any pending Outstanding Actions associated with the Payment Detail will be marked and verified as complete.

curl https://{{base_url}}/sandbox/users/:user_id/payment_details/:payment_detail_id
-X PATCH \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-type: application/json"
-d '{
    "payment_detail": {
        "status": "approved"
    }
}'

Simulate Webhooks

Sometimes you want to test webhook handling without having to perform the actions necessary to trigger a webhook firing. This endpoint will return a payload in response to your request, but will then also send an asynchronous response to your defined callback URL. You can use this endpoint to trigger web-hooks with a variety of statuses to test how your integration will handle them. To test against specific objects you can also send a UUID for offramp_id, onramp_id, user_id or payment_detail_id. The payload we return will reflect the specified UUID for that attribute.

curl https://{{base_url}}/sandbox/webhook?webhook_type=WEBHOOK_TYPE&status=STATUS&user_id=USER_ID&payment_detail_id=PAYMENT_DETAIL_ID&offramp_id=OFFRAMP_ID
-X GET \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-type: application/json"

Webhook Type

Possible values for webhook_type
Possible values for statuses

kyc

"not_started", "initiated", "pending_assessment", "application_queued", "awaiting_manual_review", "retry_required", "retry_denied", "approved", "failed", "full_clearance" NB: approved KYC will not have all the rails immediately cleared. This is similar to productione, where some currencies/rails require additional checks. Full clearance will approve all rails.

payment_detail

"initiated", "approved", "pending", "failed"

offramp

"initiated", "pending_internal_assessment", "sending_fiat", "ongoing_checks", "fiat_sent", "bounced", "failed"

onramp

"initiated", "sending_fiat", "crypto_sent", "failed"

Query Parmas

Query param
Required
Description

webhook_type

true

The webhook you want to simulate

status

true

The status you want to simulate

user_id

false

User ID

payment_detail_id

false

Payment Detail ID

quote_id

false

Quote ID

offramp_id

false

Offramp ID

onramp_id

false

Onramp ID

sepa_disabled

false

Can be used to test a kyc edge case, where a user is cleared for all rails apart from sepa. Value must be a boolean.

Using the Goerli/Sepolia network

When executing a quote in the the staging environment, you can specify your Crypto Transfer to have a blockchain value of ethereum and anetworkvalue of goerli/sepolia.

With these values submitted, you can also submit a tx_id of a transaction on the Goerli/Sepolia network for validation.

here
here