For the complete documentation index, see llms.txt. This page is also available as Markdown.

Create a Pay-Out Instance

This endpoint creates a new Open Banking Pay-Out payment instance and returns a widget launch URL. The merchant can use this URL to launch the Tylt CrossRamp Open Banking Pay-Out widget, where the merchant’s end customer submits a payout request.

Flow outcome:

  • The end customer receives a PHP bank transfer into their provided bank account via istaPay or Pesonet

  • The merchant’s USDT balance is debited for the corresponding amount (plus applicable fees, if any).

  • Settlement is executed in PHP, while funding is taken in USDT from the merchant wallet.

Endpoint

POSThttps://api.tylt.money/v2/prime-fiat/php/instance/payout

Request Headers

Name
Type
Example
Description

X-TLP-APIKEY

string

93ee3c5e133697251b5362bcf9cc8532476785t8768075616f58d88

Your Tylt API Key, used to identify your account in API requests.

X-TLP-SIGNATURE

string

d0afef3853dfc8489c8b9affa5825171fdd7y7685675e4966a05f66ed2b3eaf9462b3c9c0

HMAC SHA-256 signature generated using the API Secret Key to secure the request.

Request Body

Field Name

Type

Description

userDetails

JSON Object

Custom fields associated with the end user making a payment to the merchant. These fields are echoed back in webhook notifications and other API responses for tracking and reconciliation.You may send an empty object ({}).

Reserved keys (auto-populate payment widget)

The following keys are reserved. If you include any of them, they will be used to pre-fill the corresponding fields in the hosted payment widget:

  • firstName (string)

  • lastName (string)

  • email (string)

  • country (string)

  • dob (string, format: YYYY-MM-DD)

If a reserved field is not provided, the end user will be prompted to enter that field in the widget (if required by the flow).

payeeDetails

JSON Object

Bank Account Details (Payout Destination)

Use this object to capture the user’s payout destination bank account—i.e., the bank account where fiat funds will be paid out.

The following keys are reserved. If you include any of them, they will be used to pre-fill the corresponding fields in the hosted payment widget:

  • accountNumber (string)

  • bic(string)

  • bankName(string)

If a reserved field is not provided, the end user will be prompted to enter that field in the widget (if required by the flow). The list of supported banks, wallets, financial institutions that are active can be found here

merchantOrderId

string

Mandatory. A UUID used by the merchant to reference this instance or any transaction related to it.

callBackUrl

string

Mandatory. The URL to which payment status updates are sent.

redirectUrl

string

Mandatory. The URL to redirect the user after completing the payment.

amount

number

Mandatory. This is the amount the user wants to withdraw in PHP.

currencySymbol

string

Mandatory. Supported Currency is "PHP" only

merchantDetails

JSON Object

The merchantDetails object identifies the merchant on whose behalf the transaction is being processed. This information is required for transaction attribution, reconciliation, risk screening, and regulatory reporting. If the integrator is acting as a Merchant of Record, the details of the underlying end merchant must be provided. If the integrator is the end merchant, the details of its own business must be provided. The following fields must be provided inside the merchantDetails object:

  • merchantName The legal or DBA name of the merchant.

  • merchantUrl The official website URL of the merchant. This must be a valid HTTPS URL representing the merchant’s active operating website.

  • merchantInternalId A unique internal identifier assigned by the merchant. This identifier is used for reconciliation, reporting, and ongoing transaction tracking and must remain consistent across transactions.

All fields within merchantDetails are mandatory. Transactions submitted without this object, or with incomplete merchant details, will be rejected. Transactions with new merchantDetails go through an automated internal review process.

autoPayout

number

Set to 1 if you want the payout to be processed automatically, without requiring the user to interact with the Pay-Out widget.

When set to 0, the user must manually confirm the payout through the widget interface. For auto-payout to work, payeeDetails need to complete and accurate.

cryptoUi

number

Controls the visual mode of the hosted payment widget. Default is 1. If set to 1, the widget UI is adapted to showcase a crypto purchase flow. If set to 0, the widget UI is adapted to showcase a fiat payment flow.

provider

string

Optional. Defaults to PSMD. Allowed values: PSMD, CONNECX.

Code Snippet

Response

Field
Type
Description

instanceId

String

Unique identifier for the Open Banking payment instance.

merchantOrderId

String

Merchant-provided order reference used for internal tracking and reconciliation.

url

String

Hosted checkout URL where the customer is redirected to complete the PHP payout using instaPay or Pesonet channels.

userDetails

Object

Merchant-supplied customer metadata returned exactly as provided in the request.

merchantDetails

Object

Object containing merchant identification information associated with the transaction.

payeeDetails

Object

Object containing users bank account details where the payment will be made.

fiatAmount

Number

Amount to be paid by the customer.

fiatCurrencySymbol

String

Fiat currency used in the transaction — always EUR.

cryptoAmount

Number

Amount of USDT to be debited from the merchant upon successful initiation of the payout.

cryptoCurrencySymbol

String

Crypto currency used for settlement — always USDT.

rate

Number

PHP → USDT conversion rate applied at the time the quote was generated.

Last updated