Direct Workflow

Yuno provides a convenient 3DS payment option, which offers additional security and verification measures for online transactions. To perform 3DS payments within Yuno, you will use the DIRECT workflow. On this page, you will find a description of how to use 3DS DIRECT.

3DS DIRECT

To create payments with the 3DS DIRECT workflow, you need to fulfill some requirements.

Requirements

Before using 3DS DIRECT, you need to enable 3DS in your Yuno Dashboard and specify the scenarios in which you want your customers to be able to use it. These scenarios must be indicated on your CARD route. Additionally, you will require the following 3DS setup data in the payment provider connection:

  • Acquirer BIN: This is the Bank Identification Number (BIN) used to clear and settle the transaction, along with the country in which it is licensed for use.
  • Merchant ID: This is the affiliation number provided by the acquirer.
  • Merchant Category Code (MCC): The acquirer will provide a specific code representing your merchant category.
  • Merchant's Name: Refers to the official name or business name of the company or entity conducting the commercial transaction.
  • Merchant URL: The merchant's website or online platform.
  • Country Code: The country where the payment needs to be processed, following the ISO 3166-1 Standard Country Codes.

Using an external MPI for authentication

If you are using an external MPI to perform the authentication, the following parameters are required for a successful connection with the provider:
  • Acquirer BIN
  • Acquirer country code
  • Merchant ID
  • MCC

Integration Workflow

📘

External integration

If you are already integrated to an external 3DS solution, you can skip these next steps and send the 3DS verification data directly in the payment creation inside the payment_method.detail.card.three_d_secure object.

The Workflow to create a payment with 3DS is summarized in the image below.

3DS Setup

Before creating your payment, you'll need to use the Setup service with the card data so we can establish a connection with the 3DS service provider and get the three_d_secure_setup_id to continue with the payment.

Once you get the setup_id, you'll need to initiate Yuno's web sdk so we can collect the user's device information and continue with the payment.

How to create a payment

To create a payment with 3DS DIRECT, you will use the Create Payment endpoint. To create the payment request, you need to provide:

  • The card.data inside the correspondingpayment_method.
  • The card.three_d_secure_setup_id obtained in the 3DS Setup endpoint, also inside the correspondingpayment_method.
  • A callback_url to redirect the customer after completing the challenge, if required.

As described on the 3DS Card Verification page, a payment with 3DS may require an additional challenge to check the customer's identity. If an additional verification step is necessary related to a 3DS verification challenge, the response to the Create Payment endpoint will have the following:

  • The PENDING/WAITING_ADDITIONAL_STEP status/sub status.
  • A sdk_action_required set as true.
  • A redirect_url defined in payment.payment_method.payment_method_detail.card.

You are responsible for redirecting your customers to the URL provided by the redirect_url to complete the challenge. Once the customer successfully completes the 3DS challenge, they will be automatically redirected to the callback_url, which you provided when creating the payment with the Create Payment endpoint.

The Yuno webhooks will promptly notify you about the outcome of the 3DS challenge and the final payment status. This ensures that you receive real-time updates on the progress and completion of the payment transaction. Also, you can always get the payment information by using our get payment service.

Transactions status

A 3DS transaction functions similarly to a regular purchase transaction. It progresses through different states that represent the authorization process. Once the 3DS transaction is marked as SUCCEEDED, Yuno proceeds to the processor and generates a PURCHASE transaction to charge the client. The following table describes all possible states and their descriptions.

StatusDescription
CREATEDPayment is created and waiting for Yuno's SDK session id.
PENDINGThe challenge is required, and the redirect_url is returned by Yuno.
IN_PROCESSThe user is completing the challenge.
SUCCEEDEDThe challenge was completed correctly.
DECLINEDThe challenge was completed but declined by the bank.
ERRORAn error occurred while redirecting to the user's challenge.

As mentioned before, if the payment is PENDING/WAITING_ADDITIONAL_STEP, the 3DS transaction will be PENDING when a Challenge is required. After the challenge is completed, either successfully or not, the payment and transaction will be updated to the corresponding states (SUCCEEDED or DECLINED).