API Documentation
Integrate with our card issuing platform. All API requests should be sent with the `Content-Type: application/json` header.
Authentication: All API requests must include your publickey and secretkey in the request headers.
EURO-MASTER API
Use these endpoints to issue, retrieve, fund, freeze, unfreeze, and
inspect EUR virtual Mastercard cards. All requests require publickey and secretkey headers.
Create Card
Issue a new EURO-MASTER virtual card. The issuance fee is debited from the funding wallet.
Endpoint: POST /api/createcard
Request Body Parameters:
firstName(required): Cardholder first namelastName(required): Cardholder last nameemail(required): Cardholder email address
Get Card
Retrieve current status, balance, currency, and stored card metadata.
Endpoint: POST /api/getcard
Request Body Parameters:
cardid(required): Card ID returned from create cardemail(required): Cardholder email address
Get All Cards
Retrieve all EURO-MASTER cards for a specific cardholder email.
Endpoint: POST /api/getallcards
Request Body Parameters:
email(required): Cardholder email address
Get Exchange Rate
Retrieve the current FX rate used for EURO-MASTER wallet to card conversions.
Endpoint: GET /api/getfx
Headers:
publickey(required): Your public API keysecretkey(required): Your secret API key
Get Sensitive
Retrieve a signed JavaScript embed URL that displays sensitive card details in an iframe.
Endpoint: POST /api/getcardsensitive
Request Body Parameters:
cardid(required): Card ID returned from create cardemail(required): Cardholder email address
Fund Card
Fund a EURO-MASTER card. Send the original USDC amount. The live USDC to EUR rate is fetched when the transfer executes.
Endpoint: POST /api/fundcard
Request Body Parameters:
cardid(required): Card ID returned from create cardemail(required): Cardholder email addressamount(required): Amount in USDC. Minimum is 3.
Withdraw from Card
Withdraw funds from a EURO-MASTER card. The amount is returned to your funding wallet, minus a $1 fee.
Endpoint: POST /api/withdraw
Request Body Parameters:
cardid(required): Card IDemail(required): Cardholder email addressamount(required): Amount in USDC to withdraw. Must be greater than 1.
Get Transactions
Retrieve paginated transactions for a EURO-MASTER card.
Endpoint: POST /api/gettransactions
Request Body Parameters:
cardid(required): Card ID returned from create cardemail(required): Cardholder email addresspage(optional): Page numberlimit(optional): Number of transactions per pagedateFrom,dateTo,types,dateSort(optional): Provider transaction filters
Block Card
Freeze a EURO-MASTER card.
Endpoint: POST /api/blockcard
Unblock Card
Unfreeze a EURO-MASTER card.
Endpoint: POST /api/unblockcard
Terminate Card
Permanently terminate a EURO-MASTER card. A $1 fee is applicable.
Endpoint: POST /api/terminatecard
Webhooks
EURO-MASTER webhook events are sent to your configured webhook URL. The payload structure depends on the event type.
Transaction Event
{
"type": "transaction",
"data": {
"cardId": "string",
"id": "string",
"amount": "number",
"currency": "string",
"settledAmount": "number",
"merchant": "string",
"transactionDate": "date",
"clearingDate": "date",
"declineReason": "string",
"type": ["AUTHORIZATION", "REFUND"],
"status": ["APPROVED", "FAILED", "CLEARED"],
"mcc": "string",
"merchantId": "string",
"merchantCountry": "string"
}
}
Extra Fee Event
{
"type": "extraFee",
"data": {
"type": ["transaction"],
"amount": "number",
"currency": "string",
"settledAmount": "number",
"cardId": "string",
"from": ["master-account", "card"],
"status": ["success"]
}
}
Card Issue Event
{
"type": "card-issue",
"data": {
"id": "string",
"status": "success | failed"
}
}
3DS Event
{
"status": "success",
"type": "3ds",
"data": {
"id": "string",
"status": ["APPROVED", "DECLINED", "PENDING"],
"amount": {
"amount": "number",
"currency": "string"
},
"merchant": {
"name": "string",
"country": "string"
},
"card": {
"cardId": "string"
}
}
}
Card State Event
{
"status": "success",
"type": "card-state",
"data": {
"id": "string",
"cardBalance": "number",
"maskedCardNumber": "string",
"status": ["active", "deleted", "freezed", "pending", "failed", "expired", "blocked"]
}
}
Visacard API
An Initial Loading of $3 is required per card issuance. If your user card balance is insufficient, Decline Fees and Cross border fees will be debited from your main wallet. Decline Fees: $0.75 (second onwards), FX Fee: 2% + $0.5
Create Visacard
Creates a new virtual Visacard.
Endpoint: POST
/api/visacard/createcard
Fund Visacard
Funds a Visacard from your visa wallet. A topup fee of $1 + 1% applies.
Endpoint: POST /api/visacard/fundcard
Get Card Details
Retrieves details for a specific Visacard.
Endpoint: POST /api/visacard/getcard
Get All Cards
Retrieves a list of all Visacards for a specific user email.
Endpoint: POST
/api/visacard/getallcards
Block / Unblock Card
Blocks or unblocks a specific Visacard.
Endpoints:
POST /api/visacard/blockcardPOST /api/visacard/unblockcard
Spend Controls
Update spending limits and merchant/category controls for a Visa card. All spend-limit fields are optional.
Endpoint: PUT
/api/visacard/spendcontrols
Request Body Parameters:
cardid(required): The unique identifier of the cardemail(required): The email address of the card ownersingle_transaction(optional): Single transaction limitdaily(optional): Daily spending limitweekly(optional): Weekly spending limitmonthly(optional): Monthly spending limitallowed_categories(optional): Allowed categories arrayblocked_categories(optional): Blocked categories arrayallowed_merchants(optional): Allowed merchants arrayblocked_merchants(optional): Blocked merchants array
Terminate Card
Terminate a Visa card by sending a deletion request.
Endpoint: POST /api/terminate
Headers:
publickey(required): Your public API keysecretkey(required): Your secret API keyContent-Type: application/json
Request Body Parameters:
cardid(required): The unique identifier of the card to terminateemail(required): The email address of the card owner
See POSTMAN collection
Giftcards API
Get All Giftcards
Retrieve a paginated list of all available giftcards in the catalog. You can filter the results using query parameters.
Endpoint: GET /api/getgiftcards
Query Parameters:
page(optional): Page number (default: 1)limit(optional): Number of items per page (default: 20)search(optional): Search by title, currency, or regioncountry(optional): Filter by region/countrycurrency(optional): Filter by exact currency code (e.g., USD)
curl -X GET "https://pagocards.com/api/getgiftcards?page=1&limit=20&search=amazon" \
-H "publickey: YOUR_PUBLIC_KEY" \
-H "secretkey: YOUR_SECRET_KEY"
Get Giftcard By SKU
Retrieve details of a specific giftcard using its SKU.
Endpoint: GET /api/getgiftcard/{sku}
curl -X GET https://pagocards.com/api/getgiftcard/1000 \
-H "publickey: YOUR_PUBLIC_KEY" \
-H "secretkey: YOUR_SECRET_KEY"
Get Exchange Rates
Fetch the current exchange rates required if purchasing giftcards priced in currencies other than USD.
Endpoint: GET /api/getexchangerates
curl -X GET https://pagocards.com/api/getexchangerates \
-H "publickey: YOUR_PUBLIC_KEY" \
-H "secretkey: YOUR_SECRET_KEY"
Check SKU Availability
Verify if a specific quantity and price of a giftcard SKU is available for purchase before placing an order.
Endpoint: GET
/api/checkskuavailability/{sku}?item_count=1&price=10.00
curl -X GET "https://pagocards.com/api/checkskuavailability/1000?item_count=1&price=25.00" \
-H "publickey: YOUR_PUBLIC_KEY" \
-H "secretkey: YOUR_SECRET_KEY"
Purchase Giftcard
Purchase a giftcard using the user's giftcard wallet balance. The total cost is automatically deducted.
Endpoint: POST /api/purchasegiftcard
curl -X POST https://pagocards.com/api/purchasegiftcard \
-H "Content-Type: application/json" \
-d '{
"sku": "1000",
"quantity": 1,
"amount": 25.00,
"publickey": "YOUR_PUBLIC_KEY",
"secretkey": "YOUR_SECRET_KEY"
}'
Get Giftcard Order
Retrieve details and the share link for a specific purchased giftcard order using its reference code.
Endpoint: GET
/api/getgiftcardorder/{referencecode}
curl -X GET https://pagocards.com/api/getgiftcardorder/01c79b97-8ab4-423c-a11d-225897f2135a \
-H "publickey: YOUR_PUBLIC_KEY" \
-H "secretkey: YOUR_SECRET_KEY"
Get Giftcard Order History
Retrieve a paginated list of all giftcard purchase records associated with the API key.
Endpoint: GET
/api/getgiftcardorderhistory
Query Parameters:
page(optional): Page number (default: 1)limit(optional): Number of items per page (default: 20)
curl -X GET "https://pagocards.com/api/getgiftcardorderhistory?page=1&limit=20" \
-H "publickey: YOUR_PUBLIC_KEY" \
-H "secretkey: YOUR_SECRET_KEY"
Payouts API
Use these endpoints to create payout quotes and initialize payouts. Both requests require publickey and secretkey headers.
Get Payout Quote
Endpoint: POST /api/payouts/getpayoutquote
Initialize Payout
Initialize and finalize a payout for an existing quote.
Endpoint: POST /api/payouts/{quoteId}/initialize
Allowed Values:
account_type:checkingorsavingsbeneficiary.type:individualorbusiness
Admin API
Use these endpoints to retrieve wallet balances, transactions, deposits, and issued cards tied to the provided admin API keys.
Get Admin Balance
Retrieve the current funding, visa, and giftcard wallet balances for the authenticated admin account.
Endpoint: GET /api/admin/balance
Headers:
publickey(required): Your public API keysecretkey(required): Your secret API key
Get Admin Transactions
Retrieve paginated transactions for the authenticated admin account. Results can be filtered by transaction UUID and description text.
Endpoint: GET /api/admin/transactions
Headers:
publickey(required): Your public API keysecretkey(required): Your secret API key
Query Parameters:
page_number(optional): Page number (default: 1)per_page(optional): Items per page (default: 20, max: 100)uuid(optional): Exact match against the transactionuuidcolumnsearchterm(optional): Partial match against the transactiondescriptioncolumn
Get Admin Deposits
Retrieve paginated deposit records for the authenticated admin account.
Endpoint: GET /api/admin/deposits
Headers:
publickey(required): Your public API keysecretkey(required): Your secret API key
Query Parameters:
page_number(optional): Page number (default: 1)per_page(optional): Items per page (default: 15, max: 100)
Get All Admin Cards
Retrieve issued cards associated with the authenticated admin API keys. Results can be filtered by brand.
Endpoint: POST /api/admin/allcards
Headers:
publickey(required): Your public API keysecretkey(required): Your secret API key
Request Body Parameters:
brand(optional): Filter byvisaormasterper_page(optional): Number of cards per page (default: 15)