Documentation V3
  • Localpayment documentation V3
  • INTRODUCTION TO OUR SOLUTION
    • Intro to our Documentation
    • Intro to Payment Methods in Emerging Markets
    • Merchant Dashboard
      • Dashboard Navigation
      • Login
      • User Roles
      • Roles
      • Users
      • Whitelist your IPs
      • Whitelist your BINs
      • Setup your Webhooks
      • Reports
        • Balance
        • Projected Balance
        • Activity
        • Transaction Detail
        • FIDES Report
      • Virtual accounts
      • Refunds
        • Refund Bank Transfer
        • Refund Card Capture
        • Refund Cash
      • Chargeback
      • Internal Domestic Transfer
      • Internal Foreign Transfer
      • Currency Exchange
        • Create
      • Wire In
      • Wire Out
    • Intro to FX operations
    • Business definitions
      • Payins
      • Payouts
    • Onboarding & Integration
    • Postman Collection
  • ENVIRONMENTS
    • Environments
  • BEFORE A PAYMENT
    • Access Token
    • Validations
      • Document Validation
      • Bank Account Validation
      • Validate BIN
    • Holidays
    • Search Payment Method
    • Search Bank Codes
    • Cash Agents Geolocalization
    • Installments Plan Quote
    • Currency Exchange Quote
    • Billing Service
      • Create
        • Mexico
      • Check Billing status
      • Download Billing
  • REQUEST A PAYMENT
    • Payins
      • Bank Transfer
        • Direct debit
          • DEBIN (Argentina)
          • Transfiya (Colombia)
          • Wallet Fri (Guatemala)
        • Virtual Account
          • Mexico
            • Request Individual
            • Request Batch
            • Check Virtual account
            • Delete Virtual account
            • Enable or Disable Virtual Account
          • Brazil
            • Request Individual
            • Check Virtual account
            • Alias ​​configuration
          • Argentina
            • Request Individual
            • Request Batch
            • Check virtual account
            • Delete Virtual account
          • Refund Virtual Account
        • Online Reference Code Payments
          • Mexico
        • Refund Bank Transfer
        • Cancel
        • APMs
          • CODI (Mexico)
          • ETPAY (Chile)
          • Fintoc (Chile)
          • Boleto (Brazil)
          • PIX (Brazil)
            • Refund Pix
          • PSE (Colombia)
          • QR (Bolivia)
          • QR (Guatemala)
          • QR (Argentina)
          • QR (Perú)
      • Cash
        • Cash
          • APMs
            • Boleto (Brazil)
        • Cancel
        • Refund Cash
      • Debit Card
        • Capture
        • Refund Capture
      • Credit Card
        • Capture
        • Create Authorization
        • Capture Authorization
        • Cancel Authorization
        • Refund Capture
        • Installments
        • Save Cards
          • Save Card
          • Get Card
          • Delete Card
        • 3D-Secure
        • Validate card
        • Chargebacks
          • Notification
          • Send documentation
          • Close Chargeback
    • Payin Subscriptions
      • Create a subscription
      • Update subscription
      • Cancel
    • Payin Subscriptions Plan
      • Create subscription plan
      • Update subscription plan
      • Get subscription plan
    • Payouts
      • Search available banks
      • Create
        • Argentina
        • Bolivia
        • Brazil
        • Chile
        • Colombia
          • Colombia ACH
          • Colombia Transfiya
        • Costa Rica
        • Dominic Republic
        • Guatemala
        • Honduras
        • Mexico
        • Panama
        • Peru
        • Kenya
      • Manual Upload
        • Create Batch Upload
        • Batch Pending Authorization
        • Cancel Batch Pending Authorization
        • Batch Activity
      • Proof of Payment (POP)
      • Cancel
      • Commit payout
      • Attach documents
      • Ripplenet getway
    • Payouts Double Signature
      • Authorize
    • Checkout
      • Webcheckout
        • Credit Card
        • Debit Card
        • Cash
        • Bank Transfer
      • Link Payment
      • Frequent Items
      • Iframe
      • Smart Checkout/ iframe
      • Virtual Pos
      • Plugins
        • Magento
        • Shopify
        • Google Pay
        • WooCommerce
  • AFTER A PAYMENT
    • Check Status
    • Check Payment
    • Check Payment list
    • Check Subscription
    • Account Balance
      • Balance Reconciliation
      • Current Balance Amount
    • Withholding Certificates
    • Proof of Payment
    • RFI - Documentation
  • SETTLEMENT & EXCHANGE
    • Wire In
    • Wire Out
    • Currency Exchange Bulk
      • Quote
      • Bulk
      • Currency exchange - Front end
    • Internal Transfers
      • Internal Domestic Transfer
      • Internal Foreign Transfer
  • NOTIFICATIONS
    • Callbacks - Webhooks
      • Configurations
      • Payins
        • Payin Bank Transfer
        • PSE Colombia
        • Payin Virtual Account
        • Payin Cash
        • Payin Credit Card
        • Payin Debit Card
      • Payouts
    • SFTP- Email Reports
  • API REFERENCE GUIDE
    • Validation Error Codes
    • Transaction Type & Status
      • Payin
      • Subscriptions
      • Payout
      • Chargeback
      • Credit
      • Currency Exchange
      • Debit
      • Expenses
      • Internal Transfer
      • Recall
      • Refund
      • Return
      • Recurring Fee
      • Wire in
      • Wire out
    • Payout Methods + SLA
      • Latam
    • Payin Methods + SLA
      • Argentina
      • Bolivia
      • Brazil
      • Chile
      • Colombia
      • Dominican Republic
      • Guatemala
      • Mexico
      • Panama
      • Peru
    • Currency Codes
      • Latam
    • Country Codes
      • Latam
    • Bank codes
      • Latam
        • Argentina
        • Bolivia
        • Brazil
        • Chile
        • Colombia
        • Costa Rica
        • Dominican Republic
        • Guatemala
        • Honduras
        • Mexico
        • Panamá
        • Peru
    • Bank account validations
      • Latam
        • Argentina
        • Bolivia
        • Brazil
        • Chile
        • Colombia
        • Costa Rica
        • Dominican Republic
        • Guatemala
        • Mexico
        • Panama
        • Peru
    • Document Validations
      • Argentina
      • Bolivia
      • Brazil
      • Chile
      • Colombia
      • Costa Rica
      • Dominican Republic
      • El Salvador
      • Guatemala
      • Honduras
      • Mexico
      • Panama
      • Peru
    • Concept Codes
  • FLOWS AND CHARACTERISTICS
    • Account Currencies
    • Involved Parties
    • Payin Status Flow
      • Payins
        • Payin Status Flow - Card
        • Payin Status Flow - Bank
        • Payin Status Flow -Cash
      • Refund - Card
      • Refund - Cash & Bank
      • Chargeback
    • Payout Status Flow
      • Payout - Bank
      • Return
      • Recall
    • Payin Subscription Flow
      • Payins Subscription Status Flow - Card
    • Virtual Account Status Flow
    • Settlement Status Flow
      • Wire In
      • Wire Out
    • Payin Methods Flow
      • Argentina
      • Bolivia
      • Brazil
      • Chile
      • Colombia
      • Dominican Republic
      • Guatemala
      • Honduras
      • Mexico
      • Panama
      • Peru
  • HOLIDAYS
    • 2021
    • 2022
    • 2023
    • 2024
    • 2025
  • COMPLIANCE
    • Values
    • Prohibited Countries
    • Prohibited Business
    • Compliance Program Docs
    • Licenses
    • Terms & Conditions
  • GLOSSARY
    • Payments Explained
    • FAQ
  • PLUGINS
    • Magento
    • Shopify
    • Google Pay
    • WooCommerce
    • Ripplenet
Powered by GitBook
On this page

Was this helpful?

  1. REQUEST A PAYMENT
  2. Payins
  3. Credit Card

3D-Secure

For extra fraud protection, 3D Secure (3DS) requires customers to complete an additional verification step with the card issuer when paying. Typically, you direct the custo; This action is a preventative measure to protect your e-commerce business and your customers from payment fraud.

Created by Visa and MasterCard, 3D Secure also referred to as 3DS is a technical standard that adds a layer of security in online credit and debit card transactions.

The term 3DS stands for 3 Domain Server. The technology is so named because each 3D Secure transaction involves three parties:

  • The Acquirer Domain: the merchant's bank accepting card payments.

  • The Issuer Domain: the organization that issued the card being used in the online transaction.

  • The Interoperability Domain: payment systems that act as connectors between an Acquirer Domain and an Issuer Domain.

How does a 3D Secure payment work?

When the card requires the additional validation step, our request will respond with a redirectUrl property and the INPROGRESS state to which the end user must be redirected to complete the operation. Once the end user completes that step, the payin will change to one of two possible states and the state change notification will be sent. It can go to the COMPLETED state (in case all validations are passed) or REJECTED (with an error code 835: The cardholder did not take a further authentication step)

Below you will find an example of the response to a payin with Card payment method for a card with 3DSecure activated.

Use these examples to test in Stage:

  • For 3DS 4000000000003220

  • not 3DS 4000000000003055

{
      "externalId": "{{$timestamp}}",
      "paymentMethod": {
        "type": "CreditCard",
        "code": "1300",
        "flow": "DIRECT"
      },
      "country": "Country",
      "currency": "Currency",
      "amount": 1234,
      "accountNumber": "{{Account Number}}",
      "conceptCode": "0001",
      "comment": "Test order details",
      "merchant": {
        "type": "COMPANY",
        "name": "Merchant name"
      },
      "payer": {
        "type": "INDIVIDUAL",
        "name": "Firstname",
        "lastname": "Lastname",
        "document": {
          "type": "{{document type}}",
          "id": "Document id"
        },
        "email": "payersemail@mail.com"
      },
      "intermediaries": [],
      "card": {
        "token": "{{token}}
        "bin": "400000",
        "brand": "VISA",
        "country": "US",
        "name": "Card Name",
        "last4": "3220",
        "expirationYear": 2025,
        "expirationMonth": 11,
        "installments": 1
      },
      "transactionType": "PayIn",
      "clientCode": "0100",
      "file": false
      "redirectUrl": {
        "onSuccess": "https://www.google.com",
        "onError": "https://www.google.com"
    }
    }
{
    "transactionType": "PayIn",
    "externalId": "{{ExternalId}}",
    "internalId": "{{Internalid}}",
    "paymentMethod": {
        "type": "CreditCard",
        "code": "1300",
        "flow": "DIRECT"
    },
    "country": "Country",
    "currency": "currency",
    "amount": 1234.0,
    "accountNumber": "{{AcountNumber}}",
    "confirmed": {
        "currency": "currency",
        "amount": 123.0,
        "fxQuote": 0.1
    },
    "payment": {
        "currency": "currency",
        "fxQuote": 0.0,
        "financingFee": 0.0,
        "amount": 123.0
    },
    "localTaxes": [
        {
            "code": "0003",
            "percentage": 0.38,
            "description": "IOF",
            "currency": "currency",
            "fxSource": 1.0,
            "fxQuote": 0.0,
            "amount": 4.69,
            "account": "{{AccountNumber}}"
        }
    ],
    "withHoldings": [],
    "fees": {
        "description": "Fee",
        "currency": "currency",
        "fxSource": 0.11,
        "fxQuote": 1.0,
        "amount": 1.0,
        "account": "{{AcountNumber}}"
    },
    "status": {
        "code": "100",
        "description": "INPROGRESS",
        "detail": "The payin is pending the confirmation"
    },
    "merchant": {
        "type": "COMPANY",
        "name": "Merchant name"
    },
    "payer": {
        "type": "INDIVIDUAL",
        "name": "Firstname",
        "lastname": "Lastname",
        "document": {
            "type": "Document",
            "id": "DocumentId"
        },
        "email": "mail@mail.com"
    },
    "intermediaries": [],
    "date": {
        "creationDate": "2023-09-13T17:51:11.504+00:00",
        "processedDate": "2023-09-13T17:51:13.050701"
    },
    "card": {
        "token": "XXX%2Bu3XX58SnU%2FXuXX6uRKkwuBijX9brPt1tCr%2B1XXX%3D",
        "bin": "400000",
        "brand": "VISA",
        "country": "US",
        "name": "APPRO",
        "last4": "0000",
        "expirationYear": 2029,
        "expirationMonth": 08
    },
    "redirectUrl": "https://web-checkout.stage.localpayment.com/redirect/aXX0cXX6Ly9ob29xxx5zdHJpcXXuY29tLzNkX3NlY0VyXX0yL0hvc3RlZD9tZXJjaGFudX1hY0N0XzFKdHJmYkw5RVZiU1oySkgmcGF5bWVudF9xxxRlbnQ9cXlfM05weERZTDlFVmXXXjXXXXXXXXXXa2kyJnBheW1lbnRfaW50ZW50X2NsaWVudF9zXXXyZXQ9cGlfM05weERZTDlFVmJTWjXXXXXXXXXXXa2kyX3NlY3JldF9hek5FV1cyQm1BU3RDZHpjRzF0MkVTQ3BuJnB1Ymxpc2hhYmxlX2tleT1wa190ZXN0XzUxSnRyZmJMOUVWYlNaMkpISUF2WjJGREh0aWpwd0JFUWE5SG4xbTA1WHlPS0d3MjlncW1PTGJ6R3hUTm01M0V6VGVBbkk0aTRHWnFpUDliNkJuME5DWDFjMDBrbFNZdmwxQiZzb3VyY2U9cGF5YXR0XzNOcHhXXXw5RVZiU1oySkgxbXX1Q3XrxX",
    "errors": []
}

We can set a static URL for the redirection. The flow is that we redirect to that URL when the 3DS process finishes with the parameters internal Id and external Id, in case of being a static page it will not do anything with those parameters and will always show the same.

In this redirection we send the internal and external data by query so that you can consult, if you wish, the current state before displaying a fixed banner. For example if you pass us a ticket web page with URL "https://cliente.com/ticket", when a 3DS process ends, we redirect you to "https://cliente.com/ticket?internalId=xxxx&externalId=yyyyy".

This allows that ticket web page to read the internal and external parameters and query the payment status to display a dynamic message depending on the final status of the payment.

If that ticket page is static there is no problem either, it will display a fixed message without reading the parameters we send it. In the request you have to include the field "redirectUrl" with the value you want. It will redirect to that URL passing as parameter the external Id and the internal Id. If this URL is not provided, it redirects to the URL of our ticket.

It is sent in this way, in the request :

redirectUrl: { "onSuccess": "This is you URL "onError": "" }

It is necessary to configure the URL to redirect the 3DS process, the management must be requested through our support team and indicate the URL to be configured.

PreviousDelete CardNextValidate card

Last updated 7 months ago

Was this helpful?