v1

latestOpenAPI 3.0.02026-07-242830146.7 KB
Request

Create request with userIp required

post/v3/request

Headers

X-Request-Signaturestring

Signature to sign the request. For more information see https://docs.payb.is/reference/signing-requests

Request body

partnerUserIdstring

The customers unique ID in your system in order to link the request to the existing user’s account or to create a new one in Paybis system. Use the same ID for each request from the same customer to avoid duplicates.

partnerTransactionIdstring nullable

The transaction ID in your system to associate the request with.

quoteIdstring uuid4 nullable

The quote ID. If provided Widget will start with predefined amount and crypto. Otherwise user will be able to specify amount in Widget and choose desired cryptocurrency for purchase.

cryptoWalletAddressobject nullable

Payout wallet details. Optional for buy crypto flow and required for swap crypto flow. Allowed or disallowed by the allow_pass_wallet setting.

cryptoWalletAddressForRefundobject nullable

Refund wallet details. Optional for all flows

emailstring email nullable

The customers email address. If specified, user will not be asked to enter his email during the Widget journey. Pay attention email must be matched with partnerUserId for all upcoming requests, unique user on Paybis side is identified by a combination of partnerUserId + email.

applicantSumsubTokenstring nullable

The shared KYC token from Sumsub. If specified, user will not be required to go through the KYC process during the Widget journey.

locale'en' | 'ru' | 'es' | 'it' | 'fr' | 'de' | 'pt' | 'ko'

The customer’s preferred locale in ISO alpha-2 format. It defines the language of Widget UI. User will be able to change in Widget Menu.

passwordlessboolean

Set passwordless authentication for the customer.

trustedKycboolean

Set trusted KYC flow for the customer.

paymentMethodstring nullable

Set payment method.

payoutMethodstring nullable

Set payout method.

flow'buyCrypto' | 'sellCrypto' | 'swapCrypto' nullable

Set transaction flow.

cryptoPaymentMethod'manual' | 'partner_controlled_with_redirect' | 'partner_controlled_with_sdk_event'

Defines how the payment process is handled within the sellCrypto flow. Possible values:

  • manual: The user is required to manually transfer funds from any wallet app to the destination wallet shown on widget UI.
  • partner_controlled_with_sdk_event: The user confirms transaction details in the widget, and the partner receives a corresponding SDK event. The partner then obtains the payment details from Paybis and arranges the payment within their own app.
  • partner_controlled_with_redirect: The user confirms the transaction in the widget and is redirected to the partner's app to complete the payment. The partner obtains the payment details from Paybis. It is required to pass depositCallbackUrl for this option.

If this property is not set for sellCrypto flow, it is assumed to be "manual".

depositCallbackUrlstring uri

Used to redirect the user to the deposit page on the partner's site if the cryptoPaymentMethod is set to "partner_controlled_with_redirect".

If this property is set, but the cryptoPaymentMethod is either set to "manual" or not set at all, a validation error will be returned.

salesItemDescriptionstring nullable

Textual description of the item being sold.

merchantCompanyNamestring nullable

Name of the merchant as it will appear on the payment details screen.

userIpstring

user IP address (ipv4 or ipv6), private IPs are not allowed

Example request

{
  "partnerUserId": "1bc166bd-1808-4009-8454-aceb47ba8750",
  "partnerTransactionId": "685012ea897448430c0fac55",
  "quoteId": "d77e0cf5-1c26-4bc8-8f4d-d81dff4cffb5",
  "cryptoWalletAddress": {
    "address": "n4VQ5YdHf7hLQ2gWQYYrcxoE5B7nWuDFNF",
    "currencyCode": "BTC-TESTNET"
  },
  "cryptoWalletAddressForRefund": {
    "address": "n4VQ5YdHf7hLQ2gWQYYrcxoE5B7nWuDFNF",
    "currencyCode": "BTC-TESTNET"
  },
  "email": "doe.john@paybis.com",
  "applicantSumsubToken": "token_hash",
  "locale": "en",
  "passwordless": false,
  "paymentMethod": "credit-card",
  "flow": "sellCrypto",
  "cryptoPaymentMethod": "partner_controlled_with_sdk_event",
  "salesItemDescription": "subscription renewal",
  "merchantCompanyName": "Your Brand",
  "userIp": "74.125.224.72"
}

Response

A request item successfully created.

requestIdstring uuid4

ID of the purchase used as an argument required for Widget initialization

oneTimeTokenstring nullable

One-time authentication token used as an argument on Widget initialization for automatic login of the customer

Example response

{
  "requestId": "eb65176e-6cac-46ad-95f3-26734755d34786",
  "oneTimeToken": null
}