Mock Services
The Alviere Sandbox Environment operates independently of external third-party services typically involved in executing transactions. To bridge this gap, we have integrated mock services and scenarios that replicate the production environment experience. These simulated examples are designed to facilitate your testing process, helping you to prepare for various situations that may arise when customers start using your services.
Please be aware that not all of these scenarios may be necessary or compatible with your particular program. It's important to consult with your Alviere implementation team to identify which scenarios are relevant to your needs. For instance, in the case of KYC, if your program is limited to the IDENTITY and SANCTIONS Processing Stages, only those specific test conditions can be utilized. Attempting to use test conditions from other Processing Stages will lead to the Account status changing to ACTIVE, provided all required data attributes are submitted, as these conditions might not be pertinent to your program's setup.
KYCCopied!
During the Account onboarding process, we created scenarios to simulate different Processing Stages of the identity validation process. This is accomplished by submitting specific data attributes during the
Create Account
requests. The table below outlines the conditions that should be used to trigger the different account statuses.
Note that data attributes submitted in the request outside of the conditions below will result in all processing stages being automatically accepted where the Account status results in being
ACTIVE
.
Card IssuanceCopied!
When a card is created it will flow through various statuses until it becomes
ACTIVE
. The core statuses follow this path:CREATED
→
PROCESSING
→ … → READY_TO_ACTIVATE
→ ACTIVE
Below is an example of the Alviere Portal showing three different Non-Reloadable Prepaid Debit Cards in various statuses (i.e., PROCESSING
, READY_TO_ACTIVATE
and ACTIVE
). The card status
field will change in the Portal as the card advances through the various stages in Production but in Sandbox, the card cannot advance through all the Statuses automatically since the system is not connected to external production environments.

Simulate activation of a cardCopied!
To simulate what will occur in a production environment requires a few extra API calls. Here is how to advance the card to make it
ACTIVE
:
-
Open PostMan and navigate to Import
-
Click on the Raw Text menu option
-
Copy and paste the cURL details below to advance the card status from
PROCESSING
toREADY_TO_ACTIVATE
. Thecard_uuid
field should be updated with the card you want to advance to the next processing stage. -
Click Import on the next screen
-
Click the Send button
-
A successful update will result in a response of
200 Success
-
To activate the card, use the
Activate Card
endpoint. Note: the last 4 and the expiration date can be obtained in the Portal by going to the Cardholder’s Issued Card section, locating the card and clicking the “eye” under Actions. A successful response will not have an error message displayed.
curl --location --request POST 'https://mock.snd.alviere.com/shipCard' \ --header 'Content-Type: application/json' \ --data-raw '{ "card_uuid" : "94fdd7cf-9c8c-4996-a852-4dda59153568" }'
Notes:
-
This step is NOT needed in production.
-
The steps above outline the process using Postman but you can use any utility to execute these requests.
-
Before this cURL can be issued the card status has to be in either
SET_TO_EMBOSS
orPROCESSING
. If the card status isCREATED
the process above will not work.
Simulate swiping a cardCopied!
Now that the card is active you can use the SwipeCard request to generate a card transaction.
Note: This step is NOT needed in production.
The steps below outline the process using Postman but you can use any utility to execute these requests.
-
Open PostMan and navigate to Import
-
Click on the ‘Raw Text’ menu option
-
Copy and paste the cURL details below to simulate swiping a card and click Continue
curl --location --request POST 'https://mock.snd.alviere.com/swipeCard' \ --header 'Content-Type: application/json' \ --data-raw '{ "card_uuid" : "b053ccd1-6f93-46c2-8384-68d4a040ca08", "amount" : 1.99 }'
-
Click Import on the next screen.
-
Update the card_UUID with your card and the amount with the transaction value
-
Click the Send button
-
A successful update will result in a response of
200 Success
-
You can see below the transaction is shown in Portal with the Status =
PROCESSING_PAYMENT

Simulate different Card BrandsCopied!
During the card creation process for Card Issuance Create Card , you can create cards from different brands. The table below outlines the conditions that should be used to create cards from different brands.
Test Conditions |
Card Brand created |
---|---|
firstName = "Mestre" |
MASTERCARD |
firstName = "Vision" |
VISA |
firstName = "Baymax" |
AMEX |
firstName = "DISCO" |
DISCOVERY |
Shipping address variationsCopied!
When a physical card is shipped, it is possible that the post office will return the card to the sender. To simulate returned mail you can use the following data attributes when submitting a
Create Card
request.
Test Conditions |
Card Status |
---|---|
Shipping Address:
|
RETURNED_MAIL |
Card and Bank ProcessingCopied!
Card payment methodsCopied!
Test cards
In order to test different card scenarios, our sandbox environment requires the use of a known and valid card number therefore we provide various test cards for your use. In addition, we provide the ability to simulate transaction failures and delays. The following sections outline what we have available for your use.
We provide various test cards for various scenarios for your use. You can use the Payment methods Create Card
endpoint to create a card payment method.
Note: Even though our Sandbox Environment is not connected to external services, you should never use a real card number.
Card Number |
Card Network |
Card Sub-network |
---|---|---|
4111111111111111 |
VISA |
CREDIT |
4000000760000002 |
VISA |
DEBIT |
4001370077777777 |
VISA |
PREPAID |
6011000990139424 |
DISCOVER |
CREDIT |
6011111111111117 |
DISCOVER |
DEBIT |
6011000991300009 |
DISCOVER |
PREPAID |
371449635398431 |
AMEX |
CREDIT |
378282246310005 |
AMEX |
DEBIT |
378734493671000 |
AMEX |
PREPAID |
5403879999999997 |
MASTERCARD |
CREDIT |
5152537170792358 |
MASTERCARD |
DEBIT |
5105105105105100 |
MASTERCARD |
PREPAID |
Unhappy path statuses
Status |
Test conditions |
---|---|
|
Use the "Delete card" API endpoint |
|
Create a card with a zip code of less than 5 digits or more than 9 digits |
3D-S scenarios
Test data |
Test outcome |
---|---|
Transaction amount: |
Transaction |
Transaction amount: |
Transaction |
Transaction amount: |
Transaction |
Transaction amount: any other |
Transaction |
Bank payment methodsCopied!
Unhappy path statuses
Status |
Test conditions |
---|---|
|
Use the "Delete bank account" API endpoint |
|
Create a bank account using an invalid routing number |
International transfersCopied!
For international transfers, the following test scenarios are supported.
Fail Scenarios
Test data |
Test outcome |
---|---|
Transaction amount: |
Transaction |
Bank payout :Bank transfer failed after pushing the funds
-
Requirements:
-
Funding method ->
CASH
: destination amount must be10000
or20000
for both MXN and COP currencies (in USD:$5.0
or10.0
, for a default exchange rate of0.05
).
-
-
Outcome: After 15 seconds (this period is ONLY for testing purposes) the
INTERNATIONAL_TRANSFER
will becomeFAILED
due to failure to transfer. AREFUND
transaction will be created in statusPENDING
, with status_reasonREQUIRES_REFUND_METHOD
.Therefund_method
parameter needs to be set via the refund transaction endpoint thereafter for the refund to be processed correctly.
Cash payout : Beneficiary Fails to Collect Funds
-
Requirements:
-
Funding method ->
CASH
: destination amount must be10000
or20000
for both MXN and COP currencies (in USD:$5.0
or10.0
, for a default exchange rate of0.05
).
-
-
Outcome: After 15 seconds (this period is ONLY for testing purposes) the
INTERNATIONAL_TRANSFER
will remain inCOMPLETED
. AREFUND
transaction will be created in statusPENDING
, with status_reasonREQUIRES_REFUND_METHOD
.Therefund_method
parameter needs to be set via the refund transaction endpoint thereafter for the refund to be processed correctly.
Cancellation scenarios
The Sandbox environment allows clients to simulate and test different scenarios for canceling international transfers. Below are the flows you can test, along with the required conditions for each:
Bank payouts
1. Canceling a Transaction Within the 30-Minute Period
-
Description: This is the default behavior. Transactions can be canceled as long as the 30-minute cancellation window has not expired.
-
Outcome: The transaction is successfully canceled.
2. Canceling a Transaction After the 30-Minute Period (Cancellation accepted)
-
Requirements:
-
Funding method ->
WALLET
,BANK_PM
,CARD_PM
: destination amount must be one of (7600
||13100
) for both MXN and COP currencies (in USD:$3,80
or $6,55
, for an default exchange rate of0,05
). This will allow the transaction to be canceled successfully. -
Funding method ->
CASH
: any amount can be used for this scenario.
-
-
Outcome: The transaction is successfully canceled, even though the 30-minute window has elapsed.
3. Canceling a Transaction After the 30-Minute Period (Cancellation rejected)
-
Requirements:
-
The destination amount must be
13140
(inMXN
orCOP
).-
Equivalent to
$6.57
USD, assuming a default exchange rate of0.05
.
-
-
-
Outcome: The cancellation request is rejected by the payout provider.
Cash pickups
1. Cancellation Happy Path
-
Requirements:
-
Funding method ->
WALLET
,BANK_PM
,CARD_PM
,CASH
: destination amount must be one of (7600
||13100
) for both MXN and COP currencies (in USD:$3.80
or$6.55
, for a default exchange rate of0.05
). This will allow the transaction to be canceled successfully.
-
-
Outcome: The transaction is successfully canceled
2. Cancellation Request Rejected – Cash Not Picked Up by Beneficiary
-
Requirements:
-
Funding method ->
WALLET
,BANK_PM
,CARD_PM
,CASH
: destination amount must be13140
cents in MXN/COP (in USD:$6.57
for an exchange rate of0.05
).
-
-
Outcome: Cancellation request is rejected (API returns 400).
Scenario 3: Cancellation Request Rejected – Cash Already Picked Up
-
Requirements:
-
Funding method ->
WALLET
,BANK_PM
,CARD_PM
,CASH
: destination amount must be any amount outside of the following list:7500
,7600
,11160
,13000
,13100
,13140
,10000
,20000
.
-
-
Outcome: Cancellation request is rejected (API returns 400).
Cash LoadingCopied!
When a cash load transaction is initiated, it flows through various statuses. The core statuses follow this path:
CREATED
→ PROCESSING_PAYMENT
→ COMPLETED
In the Sandbox environment, cash load transactions are simulated since the system is not connected to external production environments. The mock service allows you to test the cash load functionality using barcodes.
Simulate Cash Load with Barcode
To simulate what will occur in a production environment, follow these steps using Postman or any API client:
-
Open Postman and navigate to Import
-
Click on the Raw Text menu option
-
Copy and paste the cURL details below to simulate a cash load transaction
-
Update the
barcode_uuid
with your generated barcode via the create barcode API and set the desiredamount
-
Click Import on the next screen
-
Click the Send button
-
A successful update will result in a response of
200 Success
curl --location 'https://mock.snd.alviere.com/cashloadWithBarcode' \ --header 'Content-Type: application/json' \ --data '{ "barcode_uuid" : "f84a40dd-3fbc-4478-bf89-ca5b30a95272", "amount": 123.12 }'
To simulate a successful cash load transaction, follow these steps:
-
Ensure your barcode UUID is valid and hasn't been used before, and belongs to a
CHECKING
wallet -
Set an amount that meets the minimum requirement ($5 USD)
-
Send the request as shown in the example above
Example Transaction Response
After a successful cash load, you can retrieve the transaction details which will look like this:
{ "transaction": { "transaction_uuid": "776b2949-ac18-4238-98db-e1482207bc8f", "wallet_uuid": "6bff373e-f376-4af7-872a-8520756767e5", "account_uuid": "6bff373e-f376-4af7-872a-8520756767e5", "external_id": "db6e0e7d-e323-4258-8ce5-18090209d525", "transaction_type": "CASH_LOADING", "status": "COMPLETED", "description": "", "amount": 200, "currency": "USD", "type_details": { "payments_details": { "cash_loading": { "cash_loading_location": { "store_network_id": "7805446fa58cb76d059c828c3c0bda49", "store_name": "Dollar General", "terminal_id": "terminal-000" } } } }, "refunded": false, "disputed": false, "created_at": "2025-05-20T09:30:20.440433Z", "updated_at": "2025-05-20T09:30:20.440433Z", "metadata": { "customer_id": "CUST-83643", "device_id": "DEV-353", "transaction_id": "c3a30ab1-3649-4f66-8c3e-dfc105e428ff" } } }
To simulate a failed cash load transaction, follow these steps:
-
Use a barcode UUID which was used before
-
Set an amount that meets the minimum requirement ($5 USD)
-
Send the request as shown in the example above
Example Transaction Response
After the operation, you can retrieve the transaction details which will look like this:
{ "transaction": { "transaction_uuid": "776b2949-ac18-4238-98db-e1482207bc8f", "wallet_uuid": "6bff373e-f376-4af7-872a-8520756767e5", "account_uuid": "6bff373e-f376-4af7-872a-8520756767e5", "external_id": "db6e0e7d-e323-4258-8ce5-18090209d525", "transaction_type": "CASH_LOADING", "status": "FAILED", "description": "", "amount": 200, "currency": "USD", "type_details": { "payments_details": { "cash_loading": { "cash_loading_location": { "store_network_id": "7805446fa58cb76d059c828c3c0bda49", "store_name": "Dollar General", "terminal_id": "terminal-000" } } } }, "refunded": false, "disputed": false, "created_at": "2025-05-20T09:30:20.440433Z", "updated_at": "2025-05-20T09:30:20.440433Z", "metadata": { "customer_id": "CUST-83643", "device_id": "DEV-353", "transaction_id": "c3a30ab1-3649-4f66-8c3e-dfc105e428ff" } } }
Transaction Fraud checksCopied!
For transactions subjected to fraud checks during the authorization stage, specific amounts may lead to varying outcomes in the approval process for these transactions.
The outcomes can be seen described below:
Test data |
Test outcome |
---|---|
Consumer email domain: |
Transaction |
Consumer email domain: |
Transaction |
The transactions suitable for testing this workflow include the following:
-
LOAD_FUNDS
-
INTERNATIONAL_TRANSFER
-
CARD_ISSUED_INITIAL
-
WITHDRAW_FUNDS
-
BANK_DEBIT
-
PAYMENT
-
WALLET_TRANSFER
-
CHECK_DEPOSIT
Transaction Sanctions checksCopied!
For transactions subjected to sanctions checks during the authorization stage, specific amounts may lead to varying outcomes in the approval process for these transactions.
The outcomes can be seen described below:
Test data |
Test outcome |
---|---|
Transaction amount: |
Transaction |
The transactions suitable for testing this workflow include the following:
-
INTERNATIONAL_TRANSFER
-
BANK_DEBIT
to local Beneficiaries