Me to Me Transefrs


(Joseph Varghese) #1

Hi

In the dwolla sandbox
I have Customer Account 36b5ad43-2113-4fed-965f-fbd982e78198 with two verified funding sources with ID ID: 007aafcc-f717-4802-9f91-8214ad419cc8 (say account A) and ID: 8b71f4f8-e92b-45b3-8997-088b40e6410f (say account B)

I tried transfer to transfer money from Account A to account B…But I got error as shown in RED…Ive pasted my code for reference…Please advise…

Unhandled rejection Error: {“code”:“ValidationError”,“message”:“Validation error(s) present. See embedded errors list for more details.”,"_embedded":{“errors”:[{“code”:“Invalid”,“message”:“Invalid destination.”,“path”:"/_links/destination/href","_links":{}}]}}

const dwolla = require(‘dwolla-v2’);
const appKey = ‘…’
const appSecret = ‘…’;

const client = new dwolla.Client({
key: appKey,
secret: appSecret,
environment: ‘sandbox’
});

var requestBody = {
_links: {
source: {
href: ‘https://api-sandbox.dwolla.com/funding-sources/007aafcc-f717-4802-9f91-8214ad419cc8
},
destination: {
href: ‘https://api-sandbox.dwolla.com/funding-sources/8b71f4f8-e92b-45b3-8997-088b40e6410f
}
},
amount: {
currency: ‘USD’,
value: ‘12.00’
},
metadata: {
paymentId: ‘12345678’,
note: ‘payment for completed work Dec. 1’
},
clearing: {
destination: ‘next-available’
},
addenda: {
source: {
addenda: {
values: [‘ABC123_AddendaValue’]
}
},
destination: {
addenda: {
values: [‘ZYX987_AddendaValue’]
}
}
},
correlationId: ‘8a2cdc8d-629d-4a24-98ac-40b735229fe2’
};

client.auth.client()
.then(

(appToken) => {
  appToken
    .post('transfers', requestBody)


    .then(// => 'https://api-sandbox.dwolla.com/transfers/2e3269af-28bd-49ea-b4f7-7ff47e5edd84'
      (res) => {
        console.log(JSON.stringify(res, null, 2))
        // console.log(JSON.stringify(res.headers.get('location'),null,2))
        // res.headers.get('location')
      }



    ); // => 'https://api-sandbox.dwolla.com/funding-sources/ccfdcd05-1304-46b4-b208-07ae6c0c978c'
}).catch(
  (err) => {
    console.log(JSON.stringify(err, null, 2))
  }
)

(Shreya Thapa) #2

Hi @josevarghese80, thank you for posting to the forum!

Currently, transfer of funds between two bank accounts tied to the same account is not available. To transfer funds from Bank A to Bank B belonging to the same Customer, you would need to follow this flow:

  1. Transfer from Bank A to Balance
  2. Listen to webhooks for the event customer_bank_transfer_completed.
  3. Proceed to transfer from Balance to Bank B.

It is also worth noting that the option to include an Addenda object comes for an extra cost. The scopes are turned off by default, but if you wish to test out using this feature, please let us know and we can turn it on for you in Sandbox!

Alternatively, you could create the same customer as two different customers, but since we use the email address as a unique identifier, they would need to be registered under different emails. Adding an alias to the email would also work!

For example:

shreya+savings@dwolla.com
shreya+checking@dwolla.com

Please let us know if you have any further questions! We would be happy to help!


(Joseph Varghese) #3

Thanks Shreya…In Prod I would prefer to create the same customer as two different customers…with different emails ids. That would be the most appropriate solutions for us given the current situation.
Having said that, In the sand box I can create a verified customer by simply providing full personal information. But in Production, will it be a problem for two users to have the exact same data(Name Address DOB SSN) with different emails.

i.e. will it be a problem for the Dwolla verification process…As Dwolla sets the users as verified in Production based on the set of inputs.

Thanks

Joseph


(Shreya Thapa) #4

No problem, @josevarghese80! While that is a valid workaround, it may also be worth noting that adding customers does incur some fee. So if this is potentially the case for most of your customers, cost-wise, going the first route is recommended, wherein you only create one account per customer, and transact within their balance and bank. That being said, I would be happy to circle back with our product team on this, and see how we can prioritize a solution to this workaround.

To answer your question,

there would be no problem with that! Like in Sandbox, you can create customers with the same information (except for emails) in Production as well!

If you have any further questions, feel free to reach out!


(Joseph Varghese) #5

Thanks Shreya…if a user transfers money from his or her account to the balance and from the balance to the other account… How much time would it take for the users to see the money in the other account in production…

Also I guess it will be two different transactions correct … account a to balance will be the first transfer… Then wait for the money to reach the balance and then transfer from balance to accountb

Thanks

Joseph


(Shreya Thapa) #6

Standard transfers from a bank to the Dwolla network will take 3-4 business days to settle, and the standard clearing time out of the Dwolla Network to a bank is 1-2 business days. However, this only pertains to ACH transactions with standard clearing. If you’d like to learn more about Next-day clearing and/or Same-day clearing, please checkout our Processing Times.

Correct! This would be two different transactions each with a unique transaction ID.


(Joseph Varghese) #7

Thanks for the update .Shereya


(Shreya Thapa) #8

No problem! Feel free to post any other questions you may have here!


(Joseph Varghese) #9

Hi Shreya

Ive been trying to retrieve customer balance via URL ‘https://api-sandbox.dwolla.com/funding-sources/8b71f4f8-e92b-45b3-8997-088b40e6410f/balance’ but Im getting error as below…This is a Verified Funding source belonging to a verified customer … Can you please advise if I’m missing something…

{ Error: {“code”:“Forbidden”,“message”:“The supplied credentials are not authorized for this resource.”}

at errorFrom (/Users/josephvarghese/mine/dwolla/dwolla_serverside_test/node_modules/dwolla-v2/src/dwolla/Token.js:43:15)

Code

const dwolla = require(‘dwolla-v2’);

const appKey = ‘xxxxx’;

const appSecret = ‘xxxxx’;

var fundingSourceUrl = ‘https://api-sandbox.dwolla.com/funding-sources/8b71f4f8-e92b-45b3-8997-088b40e6410f

;

const client = new dwolla.Client({

key: appKey,

secret: appSecret,

environment: ‘sandbox’ // optional - defaults to production

});

client.auth.client()

.then(

(appToken) => {

appToken

.get(${fundingSourceUrl}/balance)

.then(function(res) {

console.log(JSON.stringify(res,null,2))

// res.body.balance.amount;

}).catch(

(err)=>{

console.log(err)

}

)

})

//


(Shreya Thapa) #10

Hi @josevarghese80, retrieving the balance is only available for funding sources of type balance which can only be held by Verified Customer accounts. Currently, the functionality to retrieve the balance of funding-sources of type bank is not available.

If this is a necessary feature for your application, you might want to explore Plaid integration for adding+verifying bank accounts. Plaid provides the functionality to check the balance of bank accounts that are added to Dwolla via Plaid. Plaid also lets you add bank-accounts without supplying the account/routing number. The bank is also instantly verified, reducing the time needed for micro-deposit verification.

Please let me know if I can help with any further questions you may have!


(Joseph Varghese) #11

thanks for the response…Suppose we decide to maintain verified customer funds in the dwolla network balance for that customer…Is there

  1. Any higher limit on that balance
  2. will the customer receive an interest on that balance maintained in the Dwolla network
  3. How long can a verified customer maintain balance in the dwolla network
  4. Is that balance insured
  5. Are there additional charges for maintaining balance in the dwolla network

(Shreya Thapa) #12

I circled back with our Sales team and got the answers!

  1. Our Business Development team will work with you to ensure the appropriate application limit is set for your payment needs — standard balance limit is $10k
  2. The customer will not receive interest on funds sitting in the balance
  3. The customer may maintain a balance for as long as he/she wishes
  4. The balance is not insured
  5. No additional charges!

(Joseph Varghese) #13

thanks for the response. That is super helpful


(Shreya Thapa) #14

Thanks for all the good questions! Feel free to post in here anytime!