Registering Payment Methods
How to register FIAT accounts by Country
Registering a Fiat Account
This endpoint allows the creation of fiat accounts. Find more information contextual to each country in our Registering payment methods section. To distinguish between first-party (owned by the customer) and third-party (beneficiary) accounts, use the isExternal field:
In order to register a FIAT account for a third party, simply call the Create Payment Method endpoint.
Register a First-Party Account
To create a first-party account (owned by the customer), you may omit the isExternal field or set it to false.
Request Body
curl --location 'https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts' \
\--header 'Content-Type: application/json' \
\--header 'accept: */*' \
\--header 'api-key: xxxxxxx' \
\--header 'api-secret: xxxxxxx' \
\--data {
"customerId": "21ef567b-d4c5-4bad-b4ce-ce975cc1ac57",
"type": "SPEI",
"fiatAccountFields": {
"accountNumber": "012020477538404708",
"accountType": "CLABE"
}
}curl --location 'https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts' \
\--header 'Content-Type: application/json' \
\--header 'accept: */*' \
\--header 'api-key: xxxxxxx' \
\--header 'api-secret: xxxxxxx' \
\--data {
"customerId": "1a9f7cea-34e4-4f6d-bbbc-02cf4e253105",
"type": "PIX",
"fiatAccountFields": {
"accountNumber": "[email protected]",
"accountType": "EMAIL"
}curl --location 'https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts' \
\--header 'Content-Type: application/json' \
\--header 'accept: */*' \
\--header 'api-key: xxxxxxx' \
\--header 'api-secret: xxxxxxx' \
\--data {
"customerId": "2fdb5f9a-351f-40e1-b0b4-6a671ca0cbae",
"type": "COELSA",
"fiatAccountFields": {
"accountNumber": "xxxxxxxxxxxxxxxxxxxxxx",
"accountType": "CBU"
}
}curl --location 'https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts' \
\--header 'Content-Type: application/json' \
\--header 'accept: */*' \
\--header 'api-key: xxxxxxx' \
\--header 'api-secret: xxxxxxx' \
\--data {
"customerId": "3e2b09c3-8f83-4396-b121-3ca25f8a2f65",
"type": "ACH",
"fiatAccountFields": {
"accountNumber": "03052833711",
"accountType": "AHORRO",
"accountName": "BANCAMIA"
}
}curl --location 'https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts' \
\--header 'Content-Type: application/json' \
\--header 'accept: */*' \
\--header 'api-key: xxxxxxx' \
\--header 'api-secret: xxxxxxx' \
--data '{
"customerId": "6e3dd476-1ea0-458d-9394-e4e99d16d51c",
"type": "ACH_DOM",
"fiatAccountFields": {
"accountNumber": "9608006792",
"accountType": "CORRIENTE",
"accountName": "BANCO DE RESERVAS DE LA R.D"
}
}curl --location 'https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts' \
\--header 'Content-Type: application/json' \
\--header 'accept: */*' \
\--header 'api-key: xxxxxxx' \
\--header 'api-secret: xxxxxxx' \
\--data {curl --location 'https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts' \
--header 'Content-Type: application/json' \
--header 'Content-Type: application/json' \
--header 'api-key: --' \
--header 'api-secret: --' \
--data '{
"customerId": "fa4a4b2c-935a-4728-aa24-79ff03633027",
"type": "ACH_BOL",
"fiatAccountFields": {
"accountNumber": "2502466367",
"accountBankCode": "BNB0"
},
"isExternal": false
}'curl --location 'https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts' \
--header 'Content-Type: application/json' \
--header 'Content-Type: application/json' \
--header 'api-key: alfredpay./MZC/_3fpFzjK7vMGrw0mdjdJhtDWs~C' \
--header 'api-secret: bjXv~V5~yzzic.IX6qLUAr7BmSoZVZY4' \
--data '{
"customerId": "fa4a4b2c-935a-4728-aa24-79ff03633027",
"type": "ACH_CHL",
"fiatAccountFields": {
"accountNumber": "12312312326",
"accountType": "CHECKING",
"accountBankCode": "0001"
},
"isExternal": false
}''https://pennyapi-service.alfredpay.app/api/v1/third-party-service/penny/fiatAccounts' \
--header 'Content-Type: application/json' \
--header 'api-key: -' \
--header 'api-secret: -' \
--data '{
"customerId": "51679014-8a2b-44a5-b92f-401a7e0c94b1",
"type": "B89",
"fiatAccountFields": {
"accountNumber": "215268129205",
"accountType": "AHORRO",
"accountName": "CITIBANK"
},
"isExternal": false
}'curl --request POST \
--url https://pennyapi-service.alfredpay.app/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: */*' \
--header 'api-key: */*' \
--header 'api-secret: zZ/' \
--data '{
"customerId": "167eee39-9d57-4a2c-bcd2-a5480c12e420",
"type": "BANK_CN",
"fiatAccountFields": {
"accountNumber": "2098769830",
"accountName": "Sample Customer",
"metadata": {
"accountHolderName": "Business example name",
"networkIdentifier": "HADDSFHXXX",
"typeCustomer": "BUSINESS",
"bankStreet": "SAMPLE address name street 1",
"bankCity": "Hong Kong",
"bankState": "Hong Kong",
"bankCountry": "HK",
"bankPostalCode": "000000",
"beneficiaryAddress": {
"street": "RECIPIENT_STREET_ADDRESS",
"city": "RECIPIENT_CITY",
"country": "HK",
"stateProvince": "RECIPIENT_PROVINCE",
"postalCode": "RECIPIENT_POSTAL_CODE"
}
}
}
}'Response Example
{
"fiatAccountId": "797466c0-9774-4875-acfd-06adcc16596c",
"type": "SPEI",
"accountNumber": "012020477538404708",
"accountType": "CLABE",
"bankName": "BBVA MEXICO",
"createdAt": "2024-12-03T15:48:54.557Z"
}{
"fiatAccountId": "9da71221-b063-416b-bf17-9253def968d6",
"type": "PIX",
"accountNumber": "[email protected]",
"accountType": "EMAIL",
"createdAt": "2024-12-03T18:14:04.835Z"
}{
"fiatAccountId": "9da71221-b063-416b-bf17-9253def968d6",
"type": "COELSA",
"accountNumber": "1234567890123456789012",
"accountType": "CBU",
"createdAt": "2024-12-03T18:14:04.835Z"
}{
"fiatAccountId": "64922400-a5c2-4d52-b0fe-c72f5ae99e57",
"type": "ACH",
"accountNumber": "3128588509",
"accountType": "AHORRO",
"accountName": "BANCAMIA",
"bankName": "BANCAMIA",
"createdAt": "2025-02-18T21:41:19.564Z"
}{
"fiatAccountId": "2046e7c4-06b1-4669-b1df-1960f64059f7",
"type": "ACH_DOM",
"accountNumber": "9608006792",
"accountType": "CORRIENTE",
"accountName": "BANCO DE RESERVAS DE LA R.D.",
"bankName": "BANCO DE RESERVAS DE LA R.D.",
"createdAt": "2025-06-23T19:58:34.758Z"
}{
"customerId": "{{customerId}}",
"type": "ACH_BOL",
"fiatAccountFields": {
"accountNumber": "2502466301",
"accountBankCode": "BNB0"
},
"isExternal": false
{
"fiatAccountId": "d0028764-cffc-448a-8fb5-7d742174be64",
"type": "ACH_CHL",
"accountNumber": "12312312301",
"accountType": "CHECKING",
"createdAt": "2025-10-29T18:54:24.336Z",
"isExternal": false
}{
"fiatAccountId": "f5b90577-e88c-4f6d-b4be-7a808bd5ecc8",
"type": "B89",
"accountNumber": "215268129205",
"accountType": "CORRIENTE",
"accountName": "CITIBANK",
"bankName": "CITIBANK",
"createdAt": "2025-10-29T18:37:53.983Z"
}{
"fiatAccountId": "84b6a09b-d4c8-45c9-a48c-as97das965",
"type": "BANK_CN",
"accountNumber": "98790837459734875",
"accountName": "China Bank Example",
"bankName": "China Bank Example",
"createdAt": "2026-03-16T14:13:47.263Z",
"isExternal": false
}Register a Third-Party Account
To create a third-party account (used to send funds to an external beneficiary), set isExternal to true.
Request Body
curl --location 'https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts' \
\--header 'Content-Type: application/json' \
\--header 'accept: */*' \
\--header 'api-key: xxxxxxx' \
\--header 'api-secret: xxxxxxx' \
\--data {
"customerId": "21ef567b-d4c5-4bad-b4ce-ce975cc1ac57",
"type": "SPEI",
"fiatAccountFields": {
"accountNumber": "012020477538404708",
"accountType": "CLABE"
},
"isExternal": true
}'Response Example
{
"fiatAccountId": "797466c0-9774-4875-acfd-06adcc16596c",
"type": "SPEI",
"accountNumber": "012020477538404708",
"accountType": "CLABE",
"bankName": "BBVA MEXICO",
"createdAt": "2024-12-03T15:48:54.557Z"
}
The only difference between a first-party and a third-party account is the presence of the isExternal: true field. If isExternal is not provided, the account will be treated as first-party by default.
alfred allows you to:
- Pay a vendor in fiat, even if the original funds are in stablecoins.
- Collect fiat from a merchant and deliver stablecoins to a consumer.
- Peer-to-peer (P2P) transfers between individuals are supported, subject to applicable limits.
alfred may, at its discretion, request additional information or documentation to support a third-party payment.
🇦🇷 Argentina (AR): COELSA
Type: COELSA
AccountType Variants:
1. CBU (Clave Bancaria Uniforme)
Identifier: CBU (22 digits, e.g. 0290013110000576749489)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "COELSA",
"fiatAccountFields": {
"accountNumber": "0290013110000576749489",
"accountType": "CBU"
},
"isExternal": true
}'2. CVU (Clave Virtual Uniforme)
Identifier: CVU (22 digits, e.g. 0000003100054854230351)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "COELSA",
"fiatAccountFields": {
"accountNumber": "0000003100054854230351",
"accountType": "CVU"
},
"isExternal": true
}'3. ALIAS
Identifier: ALIAS (6-20 alphanumeric characters, e.g. alias.test123)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "COELSA",
"fiatAccountFields": {
"accountNumber": "alias.test123",
"accountType": "ALIAS"
},
"isExternal": true
}'Note: For Argentina, isExternal is automatically determined by comparing the customer's DNI with the bank's DNI. If they are different, it is marked as isExternal: true. No additional fields are required in metadata.
🇧🇷 Brazil (BR): PIX
Type: PIX
AccountType Variants:
1. EMAIL
Identifier: EMAIL (e.g. [email protected])
Required Metadata: documentNumber, accountHolderName
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "PIX",
"fiatAccountFields": {
"accountNumber": "[email protected]",
"accountType": "EMAIL",
"metadata": {
"documentNumber": "12312312",
"accountHolderName": "Da Silva"
}
},
"isExternal": true
}'2. PHONE
Identifier: PHONE (Brazilian phone number, e.g. +5511999999999)
Required Metadata: documentNumber, accountHolderName
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "PIX",
"fiatAccountFields": {
"accountNumber": "+5511999999999",
"accountType": "PHONE",
"metadata": {
"documentNumber": "12345678901",
"accountHolderName": "João Silva"
}
},
"isExternal": true
}'3. CPF
Identifier: CPF (11 digits, e.g. 12345678901)
Required Metadata: documentNumber, accountHolderName
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "PIX",
"fiatAccountFields": {
"accountNumber": "12345678901",
"accountType": "CPF",
"metadata": {
"documentNumber": "12345678901",
"accountHolderName": "Maria Santos"
}
},
"isExternal": true
}'4. EVP (Chave Aleatória)
Identifier: EVP (UUID, e.g. 550e8400-e29b-41d4-a716-446655440000)
Required Metadata: documentNumber, accountHolderName
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "PIX",
"fiatAccountFields": {
"accountNumber": "550e8400-e29b-41d4-a716-446655440000",
"accountType": "EVP",
"metadata": {
"documentNumber": "12345678901",
"accountHolderName": "Carlos Oliveira"
}
},
"isExternal": true
}'🇧🇴 Bolivia (BOL): ACH_BOL
Type: ACH_BOL
AccountType Variants:
1. ACCOUNT_NUMBER
Identifier: Account Number (e.g. 2502466368)
Required Metadata: accountHolderName, documentNumber, accountHolderLastName, email
Additional Fields: accountBankCode (e.g. BNB0)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "ACH_BOL",
"fiatAccountFields": {
"accountNumber": "2502466368",
"accountBankCode": "BANCO_GANADERO",
"accountType": "CHECKING",
"metadata": {
"accountHolderName": "Luis",
"accountHolderLastName": "Morales",
"documentNumber": "12312312",
"email": "[email protected]"
}
},
"isExternal": true
}'Note: Bolivia does not specifically validate accountType in the code, but uses ACCOUNT_NUMBER as the standard type.
🇨🇴 Colombia (CO): ACH
Type: ACH
AccountType Variants:
1. CORRIENTE
Identifier: Checking Account Number (e.g. 51600008149)
Required Metadata: accountHolderName, documentType, documentNumber
Additional Fields: accountName (bank name, e.g. Bancolombia)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "ACH",
"fiatAccountFields": {
"accountNumber": "51600008149",
"accountType": "CORRIENTE",
"accountName": "Bancolombia",
"metadata": {
"accountHolderName": "Test",
"documentType": "CC",
"documentNumber": "1234567890"
}
},
"isExternal": true
}'2. AHORRO
Identifier: Savings Account Number (e.g. 51600008149)
Required Metadata: accountHolderName, documentType, documentNumber
Additional Fields: accountName (bank name, e.g. Bancolombia)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "ACH",
"fiatAccountFields": {
"accountNumber": "51600008149",
"accountType": "AHORRO",
"accountName": "Bancolombia",
"metadata": {
"accountHolderName": "Test",
"documentType": "CC",
"documentNumber": "1234567890"
}
},
"isExternal": true
}'3. NEQUI
Identifier: Nequi Number (10-11 digits, e.g. 3001234567)
Required Metadata: accountHolderName, documentType, documentNumber
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "ACH",
"fiatAccountFields": {
"accountNumber": "3001234567",
"accountType": "NEQUI",
"metadata": {
"accountHolderName": "Juan Pérez",
"documentType": "CC",
"documentNumber": "1234567890"
}
},
"isExternal": true
}'Note: For CORRIENTE and AHORRO, the accountName field is mandatory and must exactly match the name of a supported bank.
🇩🇴 Dominican Republic (DO): ACH_DOM
Type: ACH_DOM
AccountType Variants:
1. CORRIENTE
Identifier: Checking Account Number (e.g. 9608006794)
Required Metadata: accountHolderName, documentType, documentNumber, email
Additional Fields: accountName (bank name, e.g. BANCO DE RESERVAS DE LA R.D)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "ACH_DOM",
"fiatAccountFields": {
"accountNumber": "9608006794",
"accountType": "CORRIENTE",
"accountName": "BANCO DE RESERVAS DE LA R.D",
"metadata": {
"accountHolderName": "Rafael Trujillo",
"documentType": "National ID",
"documentNumber": "12312312",
"email": "[email protected]"
}
},
"isExternal": true
}'2. AHORRO
Identifier: Savings Account Number (e.g. 9608006794)
Required Metadata: accountHolderName, documentType, documentNumber, email
Additional Fields: accountName (bank name, e.g. BANCO DE RESERVAS DE LA R.D)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "ACH_DOM",
"fiatAccountFields": {
"accountNumber": "9608006794",
"accountType": "AHORRO",
"accountName": "BANCO DE RESERVAS DE LA R.D",
"metadata": {
"accountHolderName": "Rafael Trujillo",
"documentType": "National ID",
"documentNumber": "12312312",
"email": "[email protected]"
}
},
"isExternal": true
}'🇲🇽 Mexico (MX): SPEI
Type: SPEI
AccountType Variants:
1. CLABE
Identifier: CLABE (18 digits, e.g. 072180465644370317)
Required Metadata: accountHolderName
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "SPEI",
"fiatAccountFields": {
"accountNumber": "072180465644370317",
"accountType": "CLABE",
"metadata": {
"accountHolderName": "Porfirio Díaz"
}
},
"isExternal": true
}'🇨🇱 Chile (CL): ACH_CHL
Type: ACH_CHL
AccountType Variants:
1. CHECKING
Identifier: Checking Account Number (e.g. 12312312335)
Required Metadata: accountHolderName, email, documentNumber (RUT), accountHolderLastName
Additional Fields: accountBankCode (bank code, e.g. 0001)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "ACH_CHL",
"fiatAccountFields": {
"accountNumber": "12312312335",
"accountType": "CHECKING",
"accountBankCode": "BANCODELESTADODECHILE",
"metadata": {
"accountHolderName": "Augusto",
"accountHolderLastName": "Monasterios",
"email": "[email protected]",
"documentNumber": "12.345.678-9"
}
},
"isExternal": true
}'2. SAVING
Identifier: Savings Account Number (e.g. 12312312335)
Required Metadata: accountHolderName, email, documentNumber (RUT)
Additional Fields: accountBankCode (bank code, e.g. 0001)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "ACH_CHL",
"fiatAccountFields": {
"accountNumber": "12312312335",
"accountType": "SAVING",
"accountBankCode": "0001",
"metadata": {
"accountHolderName": "Augusto Monasterios",
"email": "[email protected]",
"documentNumber": "12.345.678-9"
}
},
"isExternal": true
}'🇵🇪 Peru (PE): ACH_PER
Type: ACH_PER
AccountType Variants:
1. CORRIENTE
Identifier: Checking Account Number (7-17 digits, e.g. 51600008149)
Required Metadata: accountHolderName, accountHolderLastName, documentNumber, phoneNumber, bankCity, documentType, bankAddress, email
Additional Fields: accountName (bank code, must match type_id of supported banks)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "ACH_PER",
"fiatAccountFields": {
"accountNumber": "51600008149",
"accountType": "CORRIENTE",
"accountName": "001",
"metadata": {
"accountHolderName": "Juan",
"accountHolderLastName": "Pérez",
"documentNumber": "12345678",
"phoneNumber": "+51987654321",
"bankCity": "Lima",
"documentType": "DNI",
"bankAddress": "Av. Principal 123",
"email": "[email protected]"
}
},
"isExternal": true
}'2. AHORRO
Identifier: Savings Account Number (7-14 digits, e.g. 51600008149)
Required Metadata: accountHolderName, accountHolderLastName, documentNumber, phoneNumber, bankCity, documentType, bankAddress
Additional Fields: accountName (bank code, must match type_id of supported banks)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "ACH_PER",
"fiatAccountFields": {
"accountNumber": "51600008149",
"accountType": "AHORRO",
"accountName": "001",
"metadata": {
"accountHolderName": "Juan",
"accountHolderLastName": "Pérez",
"documentNumber": "12345678",
"phoneNumber": "+51987654321",
"bankCity": "Lima",
"documentType": "DNI",
"bankAddress": "Av. Principal 123"
}
},
"isExternal": true
}'Note: Valid values for documentType in Peru are: DNI, PASAPORTE, CE, RUC, SOCIAL SEC.
🇺🇸 United States (US): BANK_USA
Type: BANK_USA
AccountType Variants:
1. CHECKING
Identifier: Checking Account Number (8-34 digits, e.g. 123456789012)
Required Metadata: None (uses direct fields from payload)
Additional Required Fields:
accountName(bank name)routingNumber(routing number)bankStreet,bankCity,bankState,bankPostalCode,bankCountry(bank address)currency(optional)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "BANK_USA",
"fiatAccountFields": {
"accountNumber": "123456789012",
"accountType": "CHECKING",
"accountName": "Chase Bank",
"routingNumber": "021000021",
"bankStreet": "123 Main St",
"bankCity": "New York",
"bankState": "NY",
"bankPostalCode": "10001",
"bankCountry": "USA",
"currency": "USD"
},
"isExternal": true
}'2. SAVING
Identifier: Savings Account Number (8-34 digits, e.g. 123456789012)
Required Metadata: None (uses direct fields from payload)
Additional Required Fields:
accountName(bank name)routingNumber(routing number)bankStreet,bankCity,bankState,bankPostalCode,bankCountry(bank address)currency(optional)
curl --request POST \
--url https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts \
--header 'Content-Type: application/json' \
--header 'accept: /' \
--header 'api-key: alfredpay' \
--header 'api-secret: hLacEq' \
--data '{
"customerId": "042cc6b4-6774-45b4-a686-95a0e7b1b8be",
"type": "BANK_USA",
"fiatAccountFields": {
"accountNumber": "123456789012",
"accountType": "SAVING",
"accountName": "Chase Bank",
"routingNumber": "021000021",
"bankStreet": "123 Main St",
"bankCity": "New York",
"bankState": "NY",
"bankPostalCode": "10001",
"bankCountry": "USA",
"currency": "USD"
},
"isExternal": true
}'Account Type Summary by Country
| Country | Type | Valid accountTypes |
|---|---|---|
| 🇦🇷 Argentina | COELSA | CBU, CVU, ALIAS |
| 🇧🇷 Brazil | PIX | EMAIL, PHONE, CPF, EVP |
| 🇧🇴 Bolivia | ACH_BOL | ACCOUNT_NUMBER |
| 🇨🇴 Colombia | ACH | CORRIENTE, AHORRO, NEQUI |
| 🇩🇴 Dominican Republic | ACH_DOM | CORRIENTE, AHORRO |
| 🇲🇽 Mexico | SPEI | CLABE |
| 🇨🇱 Chile | ACH_CHL | CHECKING, SAVING |
| 🇵🇪 Peru | ACH_PER | CORRIENTE, AHORRO |
| 🇺🇸 United States | BANK_USA | CHECKING, SAVING |
Important Notes
-
Argentina (COELSA): The
isExternalfield is automatically determined by comparing the customer's DNI with the bank's DNI. No additional fields are required in metadata. -
Brazil (PIX): All types require
documentNumberandaccountHolderNamein metadata. -
Colombia (ACH): For
CORRIENTEandAHORRO, theaccountNamefield is mandatory and must exactly match the name of a supported bank. -
Dominican Republic (ACH_DOM): Requires
emailin metadata in addition to other fields. -
Chile (ACH_CHL): Requires
emailanddocumentNumber(RUT) in metadata. -
Peru (ACH_PER): Requires multiple fields in metadata including
accountHolderLastName,phoneNumber,bankCity,documentType,bankAddress, andemail(for CORRIENTE only). -
United States (BANK_USA): Does not use metadata, all fields are passed directly in
fiatAccountFields. -
Bolivia (ACH_BOL): Requires
accountBankCodein addition to metadata. Does not requireaccountTypefield.
Endpoint
POST https://penny-api-restricted-dev.alfredpay.io/api/v1/third-party-service/penny/fiatAccounts
Headers
Content-Type: application/json
accept: /
api-key: alfredpay
api-secret: hLacEqUpdated 19 days ago
