Visa Developer Community

Newbie

Funds Transfer API

Hi,

 

We are working on implementing the Funds Transfer API to allow our users to send money between each other online. I started working on the PullFundsTransactions and PushFundsTransactions but I have trouble understanding some of the values.

 

Do I need "cavv" and "cardCvv2Value"?

 

What organization is the "cardAcceptor" in the pull and push transactions used for person to person Money transfer?

 

We are making online transactions without terminals, what should "termialId" be in the "cardAcceptor" object?

 

Are the objects "magneticStripeData", "pointOfServiceData", "pointOfServiceCapability", "pinData" required for online Pull Funds (Card not present) used for person to person Money transfer?

 

What does "feeProgramIndicator" do? Is it required for online Pull and Push funds for person to person Money transfer?

 

What is the "merchantCategoryCode" when using Push funds transaction?

 

Also how should we handle storing sensitive user data?

 

I am new to online transactions APIs and would love help on the subject. 

 

Thanks

 

 

1 REPLY 1
Community Manager

Re: Funds Transfer API

Hi there, 

Answers below:

 

Do I need "cavv" and "cardCvv2Value"?

cavv and cardCvv2Value are optional values and utilization varies by region. Its recommended that you provide cardCvv2Value when available.

 

What organization is the "cardAcceptor" in the pull and push transactions used for person to person Money transfer?

The cardAcceptor is the entity that is part of the transaction.

 

cardAcceptor

 

name (string 1 - 25) (For the Pull leg of the transaction)

name of the originator/money transfer operator.

 

name (string 1 – 25) (For the Push leg of the transaction)

If the transaction is a money transfer, the field must contain the sender’s name.

 

terminalId  (string 1 - 😎

The identifier for the terminal at a card acceptor location. If sending transactions from a card not present environment, use the same value for all transactions.

idCode (string 1 - 15)

An identifier for the card acceptor (Visa Direct Originator). This value should be unique for each originator for whom you are sending transactions.

 

We are making online transactions without terminals, what should "termialId" be in the "cardAcceptor" object?

The “terminalId” can be any string of length between 1 and 8 characters.

 

Are the objects "magneticStripeData", "pointOfServiceData", "pointOfServiceCapability", "pinData" required for online Pull Funds (Card not present) used for person to person Money transfer?

 

Magneticstripedata & pin data are optional while pointofservicedata & pointofservicecabability are conditional

 

For Card Not Present transactions, you do not need to provide any of those values. The fields are applicable only to card present transaction and even there "magneticStripeData" & "pinData" are optional and "pointOfServiceData" & "pointOfServiceCapability" are are conditional.

 

What does "feeProgramIndicator" do? Is it required for online Pull and Push funds for person to person Money transfer?

 

"feeProgramIndicator" is an optional attribute.

 

What is the "merchantCategoryCode" when using Push funds transaction?

This field will be provided to you as a part of the production onboarding. You can specify any value in Sandbox.

 

Also how should we handle storing sensitive user data?

Sensitive user data needs to be stored and transmitted per the PCI-DSS standards.

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