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
- 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 astrue
. - 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.
Status | Description |
---|---|
CREATED | Payment is created and waiting for Yuno's SDK session id. |
PENDING | The challenge is required, and the redirect_url is returned by Yuno. |
IN_PROCESS | The user is completing the challenge. |
SUCCEEDED | The challenge was completed correctly. |
DECLINED | The challenge was completed but declined by the bank. |
ERROR | An 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).
Updated 14 days ago