Me to Me Transefrs

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))
  }
)

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!

2 Likes

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

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!

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

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.

Thanks for the update .Shereya

1 Like

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

1 Like

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)

}

)

})

//

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!

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

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!

thanks for the response. That is super helpful

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

How do I create tread strings? Is there a tutorial on this type of procedure?

Hi @Wayne,

Would you mind elaborating on what you meant by tread strings?

As for tutorials, we don’t exactly have tutorials on using the API, but we do have step-by-step guides on how to use the API based on specific funds-flows. Check it out and feel free to let us know if you come across any questions!

In your sand box the strings that are being used to communicate

Did you mean this chat bot that you can use to communicate with our support team?