VISA Direct

Skibo555
New Contributor

VISA Direct

Does Visa Direct API offers a way where my users' input their card details and my app will be able to pull funds from their card and send the funds to an account number provided by the sender (sender being my user), provided my user uses a Visa card and the recipient uses Visa card too? Be it cross-border or domestic?

2 REPLIES 2
SyedSa
Community Moderator

Re: VISA Direct

Hi @Skibo555, Thank you for reaching out. An agent will get back to you soon. Until then, if any community member has information that may be helpful, feel free to reply to this thread.

DianaVisaPM
Visa Developer Support Specialist

Re: VISA Direct

Hey @Skibo555,

 

Yes, the Visa Direct API does offer functionality that can enable your application to pull funds from a user's Visa card and send those funds to another Visa card, whether the transaction is domestic or cross-border. The Visa Direct API provides services for real-time funds transfers, person-to-person payments, and more.

 

To achieve this, you would typically use the following Visa Direct API endpoints:

1. Funds Transfer API: This API allows you to move funds from one account to another.
2. PullFundsTransactions API: This endpoint is used to pull funds from the sender’s account (your user’s card).
3. PushFundsTransactions API: This endpoint is used to push funds to the recipient’s account (the recipient’s card).

Here's a high-level overview of how you might implement this:

1. Pull Funds from Sender's Card:
- Use the `PullFundsTransactions` endpoint to pull the specified amount from the sender's Visa card.

2. Push Funds to Recipient's Card:
- Use the `PushFundsTransactions` endpoint to push the funds to the recipient's Visa card.

 

Here is a simplified code example to illustrate the process:

```python
# START 

import requests

# Pull funds from sender's card
pull_funds_url = "https://api.visa.com/visadirect/fundstransfer/v1/pullfundstransactions"
pull_funds_payload = {
"amount": "100.00",
"localTransactionDateTime": "2023-12-01T12:00:00",
"recipientPrimaryAccountNumber": "4111111111111111",
"senderPrimaryAccountNumber": "4111111111111111",
# Add other required fields here
}

pull_funds_headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
}

pull_funds_response = requests.post(pull_funds_url, json=pull_funds_payload, headers=pull_funds_headers)
print(pull_funds_response.json())

# Push funds to recipient's card
push_funds_url = "https://api.visa.com/visadirect/fundstransfer/v1/pushfundstransactions"
push_funds_payload = {
"amount": "100.00",
"localTransactionDateTime": "2023-12-01T12:00:00",
"recipientPrimaryAccountNumber": "4111111111111111",
"senderPrimaryAccountNumber": "4111111111111111",
# Add other required fields here
}

push_funds_headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
}

push_funds_response = requests.post(push_funds_url, json=push_funds_payload, headers=push_funds_headers)
print(push_funds_response.json())

# END 
```

 

In this example, replace the placeholders with actual values, such as the card numbers and your access token. Ensure you handle sensitive information securely and comply with all relevant regulations and standards.

 

Please refer to the Visa Direct API documentation for detailed information on required fields, authentication, and other configurations.




Thanks,

Diana



Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.