API Flow
Step 1: Create Cardholder if not exist yet
POST {{domain}}/api/v1/card_issuing/cardholders
{
"program_id": 2,
"external_tag": "tag",
"first_name": "John",
"last_name": "Doe",
"date_of_birth": "01-01-1980",
"email": "[email protected]",
"phone": "1231231234",
"postal_code": "84121",
"city": "Moonbase One",
"state": "UT",
"address1": "123 Fake Street",
"address2": "apartment 2",
"country": "840",
"sin": "987654321",
"shipping_method":"3",
"load_amount": 500
}
Response
{
"data": {
"company_id": "2",
"created_at": "2021-03-17T18:56:57Z",
"external_tag": "heh",
"id": 150,
"primary_processor_reference": "129201103105",
"username": null,
"value_load_result": {
"code": "success",
"message": ""
}
}
}
Step 2: Create External Account P2P
POST {{domain}}/api/v1/card_issuing/cardholders/150/external_accounts
{
"name": "Bob Smith",
"email": "[email protected]",
"type": "person_to_person"
}
Response
{
"data": {
"cardholder_id": 149,
"created_at": "2021-03-17T19:02:21Z",
"email": "[email protected]",
"id": 25,
"name": "Bob Smith",
"type": "person_to_person",
"updated_at": "2021-03-17T19:02:21Z"
}
}
Step 3: Create P2P Transfer
{{domain}}/api/v1/card_issuing/external_transfers
{
"account_id": 122,
"external_account_id": 25,
"external_tag": "P2P",
"amount": 100,
"message": "hello there",
"transfer_type": "direct_send_transfer"
}
Response
{
"account_id": 122,
"amount": 100,
"cardholder_id": 149,
"external_account_id": 25,
"external_tag": "P2P",
"fee_amount": 50,
"fee_applied": true,
"fee_id": 19,
"id": 146,
"message": "hello there",
"payment_id": 89,
"program_id": 2,
"status": "notification_sent",
"transaction_id": "0"
}
An email will then be sent to [email protected]
containing information on how to redeem the transferred amount.
Currently, VISA Direct is supported. There are plans to add the ability for users to select their redemption method based on their company's payment gateway integration. They may have more options on how to redeem.