Skip to main content

Credit card

Quick Reference

WhatAccept credit card payments
WhyCards with installments, 3DS and antifraud — one API call
Reading Time10 min
DifficultyBeginner
PrerequisitesAuthentication → Environment

Why accept cards with A55

Without A55With A55
Integrate each acquirer separatelySingle endpoint covers 8 card brands and 29 acquirers
Build your own 3DS and antifraud pipelineBuilt-in 3DS 2.2 and risk engine — toggle with one field
Handle installment math per issuerSend installment_count; A55 manages split and settlement
Monitor chargebacks across dashboardsUnified webhook lifecycle from auth to chargeback resolution

Key concepts

ConceptRole
3DS / Antifraud3-D Secure verifies the cardholder; AF scores risk before the acquirer.
Authorization / CaptureAuth reserves or approves funds; capture: true completes in one step, capture: false is pre-auth.
Installments / Refund / Chargebackinstallment_count drives splits; refund returns funds; chargeback is issuer dispute handling.

Brands and installments

SegmentInstallments
Visa, Mastercard, Amex, Elo, AuraYes
Diners, DiscoverNo
JCBNot supported
Installment rules

installment_count 1 pays in full; 2–6 and 7–12 use monthly splits (higher rates may apply for longer plans). Rules follow your acquirer agreement.


Transaction flow


Create a credit card charge

curl -X POST https://core-manager.a55.tech/api/v1/bank/wallet/charge/ \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"wallet_uuid": "00000000-0000-0000-0000-000000000000",
"merchant_id": "11111111-1111-1111-1111-111111111111",
"payer_name": "John Doe",
"payer_email": "johndoe@example.com",
"payer_tax_id": "12345678901",
"payer_cell_phone": "+5511999999999",
"items": [{"name":"Product","quantity":1,"total_amount":100,"unit_amount":100,"sku":"SKU-001","code":"P001"}],
"payer_address": {"street":"Sample St","address_number":"123","complement":"","neighborhood":"Centro","city":"São Paulo","state":"SP","postal_code":"01000-000","country":"BR"},
"currency": "BRL",
"installment_value": 100,
"installment_count": 1,
"due_date": "2026-12-31",
"description": "Order #1234",
"type_charge": "credit_card",
"card_name": "John Doe",
"card_number": "4111111111111111",
"card_expiry_month": "12",
"card_expiry_year": "2030",
"card_cvv": "123",
"capture": true,
"threeds_authentication": false,
"webhook_url": "https://yoursite.com/webhook",
"redirect_url": "https://yoursite.com/return"
}'
3DS pending flow

If threeds_authentication: true and the issuer requires a challenge, the response returns status: "pending" with url_3ds. Final status arrives via webhook.


Response example

{
"charge_uuid": "51dcca6e-7310-4b73-a94c-90835408f2ff",
"local_currency": 100,
"currency": "BRL",
"type": "credit_card",
"status": "confirmed",
"installment_count": 1,
"installments": [{ "installment_number": 1, "status": "confirmed", "local_currency": 100, "currency": "BRL" }]
}

Status lifecycle

StatusMeaning
pending3DS or async step in progress
confirmed / paidAuthorized or captured successfully
errorDeclined or failed
canceledVoided before completion
refundedRefund processed
Cross-border

For cross-border transactions, confirm currency, card brand, and payment method availability. Contact support to enable the desired setup.

Visa Data Only sends enriched transaction data to issuers through 3DS rails — without any challenge redirect. Merchants in Square's pilot saw up to +646 basis points improvement across 6 million transactions. No friction. No cart abandonment.

A55 supports this today with one flag: data_only: true. For Visa and Mastercard credit card transactions in LATAM, this is the most effective approval rate optimization available.

Learn how to activate Data Only →