post https://widget-api.sandbox.paybis.com/v2/request
Payment request initiation method
Request method
This method allows to retrieve the requestId
required to run Widget UI via Widget SDK.
To ensure the security of your integration, signature verification is required for all Public and Private API requests.
Making Requests
This endpoint must be called from your application's backend. If you plan to make client-to-server requests, use the public endpoint.
Getting a
requestId
requestId
is related to a specific transaction in the Widget. In order to resume an ongoing transaction, your application needs to use the samerequestId
used to initiate that transaction.- In order to start a new transaction, a new
requestId
must be obtained and the Paybis Widget should be launched with it.- You can pass the KYC information (see
applicantSumsubToken
andtrustedKyc
fields) when creatingrequestId
to skip KYC for verified users. Read more in Trusted KYC and Shared KYC.- Use the Get Payment Methods endpoint to retrieve the list of available methods that can be passed in the
paymentMethod
field.- Request method provides an option to set the Single sign-on flow for customers that have active session on your end.
- In the flow without quote, you can limit the number of cryptocurrencies available on Paybis Widget exchange form in 2 ways:
- pass a single
cryptowalletaddress
object: the cryptocurrency will be locked on the exchange form and the wallet address entry step is skipped in Widget flow.- pass an array of
cryptowalletaddress
objects: the client will be able to choose crypto from the list you have provided and the related wallet will be used for payout (wallet entry step is skipped).
{
// The unique identifier for the user in your system.
// This helps link the request to the user's existing account or create a new one
"partnerUserId": "4bb689aa-fd24-46fb-b793-e44c26d24e7a",
// The preferred language for the user interface of the widget
"locale": "en"
}
{
// The unique identifier for the user in your system.
// This helps link the request to the user's existing account or create a new one
"partnerUserId": "4bb689aa-fd24-46fb-b793-e44c26d24e7a",
// The preferred language for the user interface of the widget
"locale": "en"
// The ID of a previously generated quote.
"quoteId": "99b51850-87c1-4af0-bcf3-ae8684b076c0",
// Details about the cryptocurrency wallet where the purchased cryptocurrency should be sent
"cryptoWalletAddress":
{
// The actual address of the cryptocurrency wallet
"address": "1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2",
// The cryptocurrency code associated with the wallet address.
"currencyCode": "BTC-TESTNET"
}
}
{
// The unique identifier for the user in your (the partner's) system.
// This helps link the request to the user's existing account or create a new one if needed
"partnerUserId": "4bb689aa-fd24-46fb-b793-e44c26d24e7a",
// The ID of a previously generated quote.
// This pre-fills the amount and cryptocurrency selection in widget
"quoteId": "99b51850-87c1-4af0-bcf3-ae8684b076c0",
// The user's email address. This might be used for communication or identification purposes.
"email": "[email protected]",
// The preferred language for the user interface (UI) of the widget
"locale": "en",
// Details about the cryptocurrency wallet where the purchased cryptocurrency should be sent
"cryptoWalletAddress":
{
// The actual address of the cryptocurrency wallet
"address": "1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2",
// The cryptocurrency code associated with the wallet address.
// In this case, it's Bitcoin on the testnet
"currencyCode": "BTC-TESTNET"
},
// The payment method has chosen to use for the transaction
"paymentMethod": "credit-card",
// Indicates that the user has already completed the KYC process from Partner's end.
"trustedKyc": true,
// Enables a passwordless authentication flow for the user
"passwordless": true
}
{
// The unique identifier for the user in your system.
// This helps link the request to the user's existing account or create a new one
"partnerUserId": "4bb689aa-fd24-46fb-b793-e44c26d24e7a",
// The preferred language for the user interface of the widget
"locale": "en"
// Indicates that the user has already completed the KYC process from Partner's end.
"trustedKyc": true,
// Provides KYC information that has already been verified by your platform,
"trustedKycInfo": {
"firstName": "John", // User's first name
"lastName": "Doe", // User's last name
"dateOfBirth": "1990-01-15", // User's date of birth (YYYY-MM-DD format)
"country": "US", // User's country of residence
"state": "CA", // User's state of residence (if applicable)
"address": "123 Main St", // User's street address (optional)
"city": "Anytown", // User's city of residence (optional)
"zip_code": "12345", // User's ZIP or postal code (optional)
"phone": "+15555551212", // User's phone number (optional)
"documentType": "passport", // Type of identification document used for KYC (optional)
"documentNumber": "AB123456" // ID number of the identification document (optional)
}
}