[URGENT: Production Issue] Refunds Not Working

We have been using the refund API for quite some time with no problems. But for some reason a couple of days ago we started to see failures on refunds. Keep getting API error. Here is what we get:

DwollaSwagger\ApiClient::callApi("/transfers", “POST”, , “{”_links":{“source”:{“href”:“https://api.dwolla.com//funding-sources/omitted for security”},“destination”:{“href”:"https://api.dwolla.com//funding-sources/omitted"}},“amount”:{“currency”:“USD”,“value”:6.99},“correlationId”:“SP_6079d8565d873”}", [“application/vnd.dwolla.v1.hal+json”, “application/vnd.dwolla.v1.hal+json”, “Bearer omitted for security”])

Is there anyone that we can reach to talk about this one on one? We are stuck and have to get this working immediately. Thank you.

Hi @pmanavi , I looked in our API request logs and here’s what I’m showing was sent:

"_links": {
    "source": {
        "href": "https://api.dwolla.com//funding-sources/"
    "destination": {
        "href": "https://api.dwolla.com//funding-sources/{edited_to_remove}"
"amount": {
    "currency": "USD",
    "value": 00.00
"correlationId": "{edited_to_remove}"


Two things that are wrong with this request body which is the reason for the HTTP 400 BadRequest error. 1) The path contains an extra “/” after the base URL in the source and destination href and 2) The source href is missing an ID which identifies the source account.

Thank you Spencer. I will run this by my tech team to see how the extra slashes made it in there. The ID is missing because I took them out before I posted. I will let you know.

BTW, I thought I took out all the source IDs but can you edit your reply to take that ID out. Not sure if that is a security concern.

Hi @pmanavi

The IDs by itself shouldn’t be a security concern since they cannot be used to access the resource without your application’s unique Client credentials (the API key and secret). These IDs allow us to reference a resource without having to share any other PII related to that resource. Anyways, I’ve edited the IDs in the above message for good measure!

I just checked with our tech team and we took out the extra slashes but we ended up with the same error. Could it be because we recently switched from a contract account to a pay as you go account? Did something change in that transition? We change on the 1st of April.

We are able to fetch transactions but we are not able to create them!

Hi @pmanavi – hmm…that’s likely not it. Your PAYG account looks to be set up with the right settings as per your contract. You are enabled for creating Unverified Customers and creating transfers from these Unverified Customer’s bank accounts into your Dwolla account. I am also seeing successful POST requests to the transfers endpoint from your app, the latest one being on 4/22/21 1:56:49.776 PM CT.

Thank you. Then what could be causing this error?

Hi Payam, would you be able to share the error message you’re receiving?

When you say refund API did you mean sending funds back to your Customers? If so, your PAYG account is only set up to “receive” funds from your end-users and not to send funds to them. This is set up according to your contract.

Is that something that you would need to be enabled for your account? Let me know and I can let our team know who has the ability to update those settings!

Yes. That is the issue. How can we change our contract so that we can send funds as well. And the sooner the better. We are reaching a critical phase in our application. Thank you so much.

I’ve let our team know and asked if there are any steps required to get that settings enabled! I’ll keep you updated here!

Great. Thank you.

Hey @pmanavi! The ability to Send funds to customers has been enabled for your account! When you get a chance, please give it a try and let us know if you run into any issues! :pray:

That was it. It works now! Thank you for all your help.

1 Like

Thanks for the update, Payam! Apologies for the inconvenience. :pray: