LogoLogo
  • Introduction
  • Getting Started
    • Your Zum Rails Account
    • Developer Quickstart
  • Payments
    • Introduction
    • Payment Rails
    • Bank Payments
      • EFT
      • ACH
    • Interac e-Transfer
      • Send & Request
      • Review Transactions
    • Card Payments
      • Visa Direct
      • Credit Card
      • Push-to-debit
  • User Tokenization
    • Zūm Connect
  • Invoices & Subscriptions
    • Overview
    • Products
    • Invoices
    • Subscriptions
  • Data Aggregation
    • Overview
    • Use Cases
    • Supported Institutions
    • Data
    • How it works
    • Testing
  • Insights
    • Overview
    • Income
    • Expenses
    • Insights
  • Brand Customization
    • Brand Customization
  • API Reference
    • Overview
    • Authentication
    • Users
    • Transactions
    • Funding Source
    • Products
    • Product Prices
    • Invoices
    • Subscriptions
    • Aggregation
    • Insights
    • Wallets
    • Operations
      • Transaction Limits
      • Review Transactions
      • Daily Auto-Withdrawal Summary
    • Webhooks
    • Errors
    • Idempotency
    • Country & Region Codes
  • Archived Documentation
Powered by GitBook
On this page
  • Introduction
  • How it works?
  • Transaction Limits
  • 3D Secure
  • Transaction Events
  • Testing
  1. Payments
  2. Card Payments

Visa Direct

Introduction

Visa rails to send and pull funds directly to visa debit card. Visa Direct offers fast, secure, and convenient payment solutions with global reach. Other benefits of Visa Direct include:

  • Speed: Near-instant transfers, often within minutes, compared to traditional methods.

  • Global Reach: Available in 200+ countries and supports multiple currencies.

  • Convenience: Easy to use, requiring only a recipient’s Visa card details.

  • Security: Built-in fraud prevention and encryption via Visa’s trusted network.

  • Accessibility: Available to anyone with a Visa card, no need for a bank account.

  • Versatile: Ideal for consumer-to-consumer, business-to-consumer, and government payments.

How it works?

Visa Direct works by enabling real-time payments directly to a recipient’s Visa debit, credit, or prepaid card. Here’s how it works step-by-step:

  • Initiating the Transfer: The sender uses a Züm Rails to send money to a recipient’s Visa debit, credit, or prepaid card, providing their card details.

  • Transaction Processing: The sender's bank or service provider requests the payment through Visa’s network, which verifies and authorizes the transaction.

  • Sending the Funds: Visa Direct transfers the funds instantly (or within a few minutes) to the recipient’s card.

  • Recipient Access: The recipient can immediately use the funds for purchases or withdrawals.

Transaction Types

  • You can receive funds using Visa Direct from a user (Accounts Receivable)

  • or you can pay a user using Visa Direct (Accounts Payable)

Transaction Limits

Transaction Limit
Minimum
Maximum

Amount limit per transaction

$0.00

Unlimited

Maximum volume per day

$0.00

Unlimited

Transaction per day

$0.00

$99,999,999

Maximum Volume Per Month

$0.00

Unlimited

3D Secure

3D Secure (3DS) adds an extra layer of authentication to card-not-present (CNP) transactions, helping prevent unauthorized card use and protecting both you and Zūm Rails from fraud.

What is 3D Secure?

When a customer makes a card payment, 3D Secure prompts them to complete an extra verification step—usually by entering a code sent by their bank or through biometric verification via their banking app. This process is commonly known through card network brands like Visa Secure or Mastercard Identity Check.

Successfully authenticated payments are covered by a liability shift. If a 3DS-authenticated payment is later disputed as fraudulent, the liability shifts from you to the card issuer (e.g., TD, CIBC, Scotiabank).

How to Implement 3D Secure?

1. Get Authorized

2. Create a 3DS Connect Token

Create a token with the following payload:

{
  "ConnectTokenType": "ThreeDS",
  "UserId": "1111c68f-e927-4e93-b55a-bbec31aaa111",
  "Amount": 10.0,
  "Configuration": {
    "TransactionMethod": "VisaDirect"
  }
}

3. Initialize the 3DS SDK

Pass the token into the 3DS SDK. If a challenge is required, the SDK will display a popup for the customer to complete the authentication. When the flow is completed, the SDK returns a callback with the following parameters:

{
  "userId": "57c7c68f-e927-4e93-b55a-bbec31aaa632",
  "cardEci": "05",
  "cardDsTransId": "d65e93c3-35ab-41ba-b307-767bfc19eae3",
  "cardAuthenticationValue": "9ec1JHwF5eWa8/j/hlS5DjHZBsY=",
  "origin": "ZUM_RAILS"
}
  1. Use 3DS Parameters in the Transaction API

To complete the payment, include the following values in your transaction creation request:

  • cardEci

  • cardDsTransId

  • cardAuthenticationValue

NOTE

These values are required for all card transactions that involve 3DS, except for Visa Direct Accounts Payable.

Testing Credentials

Networks/Brands
Card Number
Type of Transaction
ECI
Status/Success

Visa

4005519200000004; 4124939999999990; 4444333322221111

Frictionless

05

Y

Visa

4009348888881881; 4485660000000007

Frictionless

07

N

Visa

4012000033330026; 4485666666666668

Challenge/Prompt

Depends on the challenge completion

Depends on the challenge completion

Visa

4012000077777777; 4124930001898619

-

-

Error: Card not enrolled

Visa

4166676667666746

Frictionless

00

R - Issuer rejected authentication and requests authorization not to be attempted

Mastercard

5555341244441115; 5406004444444443; 5407721000353481

Frictionless

02

Y

Mastercard

5577000055770004; 5415244444444444

Frictionless

00

N

Mastercard

5100060000000002; 5472065555555557

Challenge/Prompt

Depends on the challenge completion

Depends on the challenge completion

Amex

370000000000002; 370000999999990

Frictionless

05

Y

Amex

370000000100018; 370000222222228

Frictionless

07

N

Amex

378282246310005; 340000111111117

Challenge/Prompt

Depends on the challenge completion

Depends on the challenge completion

Transaction Events

  • Transaction with type Accounts Receivable started

  • Wallet was funded

  • Transaction completed

Testing

To simulate an Visa Direct failure, include an event name from the list above in the COMMENT field when creating a transaction. If you don't mention an event in the COMMENT, the transaction will change its status to "Completed" in the sandbox environment. Learn more about testing in Transactions.

{
  "ZumRailsType": "FundZumWallet",
  "TransactionMethod": "VisaDirect",
  "Amount": 123.45,
  "Memo": "Memo description",
  "Comment": "This transaction will succeed because there's no keyword",
  "UserID": "1d431e8b-...85452adb4eee",
  "WalletId": "8ebd932b-...b92633e14297"
}
{
  "ZumRailsType": "FundZumWallet",
  "TransactionMethod": "VisaDirect",
  "Amount": 123.45,
  "Memo": "Memo description",
  "Comment": "VisaDirectInsufficientFunds",
  "UserID": "1d431e8b-...85452adb4eee",
  "WalletId": "8ebd932b-...b92633e14297"
}
PreviousCard PaymentsNextCredit Card

Last updated 2 days ago

To use 3D Secure, you must first authenticate with the Zūm Rails API. Refer to our Guide.

For a full list of parameters and payload structure, please refer to the .

To get started with 3D Secure, please contact us via the chat feature in the Zūm Rails portal or email us at .

Authentication
support@zumrails.com
Transaction API Reference