Visa Direct Payments

161161

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.