I'm not using java technology, so I cannot help you with that. But my tests worked in SOAPUI, try to watch the video which the guy helps to get connection using the helloworld method. I don't have the link now but you can find it in the documentation.
But I have a question about the flow of P2P payments.
To make transfers between persons I need to pull funds from the sender and push funds to the receipter, right?
But in the push funds method we don't have any relation with the pull funds that was executed before, how is that done?
Visa Direct provides the capability to push funds (in the form of an Original Credit) to over one billion eligible Visa accounts. Originators can use Visa Direct APIs to push funds into a Visa account using any source of funds available to them, including a “pull” from a Visa account, a bank account, or cash. Using Visa Direct APIs, consumer person-to-person money transfers and credit card payments as well as corporate and merchant disbursements can be made from personal computers, mobile phones, local bank branches, or ATMs.
How does Visa Direct Work?
Access the service through Netbanking, mobile or ATM.
Enter the recipient’s 16 digit Visa card number and the amount you want to send.
The money will be received into the recipient Visa credit, debit or prepaid card.
Recipient can use the received funds at any Visa merchant or ATM. When sent to a Visa credit card, the received amount is offset against the outstanding balance.
Also, what's really great about being able to pull funds from a bank account or cash, is that you can walk into a financial institution (bank) with cash and have it go towards the Visa cardholder or use your bank account for this type of transaction.
You can send money to a Visa card using your phone, the Internet, bank branch or an ATM/kiosk by accessing your Visa account or bank account or getting cash from the ATM. You can then push it through an originating bank which then goes through the Visa network to the recipient issuer. The recipient issuer then sends it to a Visa account such as a credit/debit/prepaid card.
Visa Direct is a peer-to-peer payment platform and is capable of handling bill payments and money transfer between cards.
Visa Direct APIs are capable of going global because it's available in all regions.
Visa API does support international money transfer through Visa Direct. Visa supports all currencies that an acquiring bank can support. For example, if the transaction is originated in Brazil (Brazilian currency) funds pull will be in Brazilian currency and the acquirer will push funds to a Visa Issuer's account in the receiving card account's home currency (e.g. US Dollars). The Acquirer is responsible for the network conversion fees and the originator (you) will be responsible for incorporating that in your App. Therefore, the flow would be to pull funds from the sender and then push funds to the receiver.