To manage certain aspects of the 3D Secure (3DS) authentication, you will need to integrate with the following APIs.
Wise Platform API
The Wise Platform API is a REST-based interface that enables programmatic access to Wise's payment infrastructure. All endpoints return JSON-formatted responses and use standard HTTP methods and status codes.
We strongly recommend first reading our Getting Started Guide to help you set up credentials and make your first call.
Before you begin
To use this API reference effectively, you should have:
- Received Valid API credentials from Wise (Client ID and Client Secret)
- Understand OAuth 2.0 authentication
- Be familiar with RESTful API concepts
Core API resources
| Resource | Purpose |
|---|---|
| Quote | Exchange rate and fee calculations |
| Recipient | Beneficiary account management |
| Transfer | Payment creation and execution |
| Balance | Multi-currency account operations |
| Profile | Account ownership details |
| Rate | Current and historical exchange rates |
Not sure which workflow to build?
Start with our Integration Guides for step-by-step implementation examples.
Request
Once the customer has accepted or rejected the push notification for a 3DS challenge, you can use this endpoint to notify us of the result.
You must call this endpoint before the expiration time, otherwise it will return a 400 error. You can find the expiration information from the 3DS challenge webhook event.
Only the first call to this endpoint will be processed. Any subsequent duplicate requests will be ignored, although you will still receive a success response.
This endpoint is SCA protected when it applies. If your profile is registered within the UK and/or EEA, SCA most likely applies to you. For more information, please read implementing SCA.
Transaction reference as received in the 3DS challenge webhook event.
- Production Environmenthttps://api.wise.com/v3/spend/profiles/{profileId}/3dsecure/challenge-result
- Sandbox Environmenthttps://api.wise-sandbox.com/v3/spend/profiles/{profileId}/3dsecure/challenge-result
curl -i -X POST \
'https://api.wise.com/v3/spend/profiles/{profileId}/3dsecure/challenge-result' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"transactionReference": "148579538",
"challengeStatus": "APPROVED"
}'Additional Customer Verification
In certain situations, additional evidence is required to verify customers and ensure we’re compliant with the KYC regulations.
Additional Verification APIs support a list of evidences that can be found in the Supported Evidences guide.
If you use the Customer Account with Partner KYC model and your customers are primarily based in the EU, refer to this Onboarding EU customers guide for instructions on how to use these APIs.
If you use the Customer Account with Partner KYC model and you are onboarding high risk business customers based primarily based in the US, refer to this Onboarding High Risk US Businesses guide for instructions on how to use these APIs.
Balance
Create and manage balance accounts within a multi-currency account.
Each profile can hold multiple balance accounts in different currencies. A STANDARD balance is limited to one per currency, while SAVINGS balances (Jars) allow multiple in the same currency. Creating the first balance for a profile automatically creates the multi-currency account.
Balances include an investmentState field. Only balances with NOT_INVESTED can be operated on via the API. Invested balances should be shown but not actionable.
For a complete guide on multi-currency accounts, see Multi-Currency Accounts.