Upcoming "max(.01, min(.5*amount, 5))" fee API support

(PK) #1

I read that Dwolla transactions will now have a fee (again) after been free for a while. (I have been a customer since before the original .25c per transaction fee was cancelled).

  1. Will the API return a fee field or we need to calculate it?
  2. Is this implemented in test/sandbox already? If not when will it be there? Currently the json I get has not fee field at all.
  3. When is the exact timestamp that you will start collecting the fees so we can program it into our apps?


(Spencer Hunter) #2

@p_k, Assuming your app uses our v1 API, fees should be returned in the “Fees” response parameter when retrieving a transaction by its Id. If your app uses request fulfillment then they’ll show up in the “AdditionalFees” response parameter. Both are an array of additional facilitator fee objects. See example below.

Fees will always be assumed by the business account involved in the transaction unless the transaction is B2B then it’ll be assumed by the sending business.

Unfortunately there isn’t a way to simulate the Dwolla fee on transactions created in the Sandbox. However, as a workaround you can apply a facilitator fee to the transaction to mimic the behavior in production. The Dwolla Fee will work almost exactly as facilitator fees do today…the only difference is that Dwolla is the facilitator instead of another third party involved in the transaction. Since you’ll need to pass in the facilitator fee to simulate then you’ll want to compute the fee amount applied based on the amount of the transaction.

Fees will be charged to new business accounts that sign up on or after March 1. Fees will be charged to existing business accounts starting March 30th.

Example response - retrieving a transaction by id

GET https://uat.dwolla.com/oauth/rest/transactions/1998601
Authorization: Bearer {access token of account that was charged the fee}

  "Success": true,
  "Message": "Success",
  "Response": {
    "Id": 1998601,
    "Amount": 50,
    "Date": "2017-03-09T14:48:33.000Z",
    "Type": "money_sent",
    "UserType": "Dwolla",
    "DestinationId": "812-109-0255",
    "DestinationName": "Acme Corp.",
    "Destination": {
      "Id": "812-109-0255",
      "Name": "Acme Corp.",
      "Type": "Dwolla",
      "Image": "https://dwolla-avatars-uat.s3.amazonaws.com/812-109-0255/54bcfc4a"
    "SourceId": "812-153-0217",
    "SourceName": "Spencer H",
    "Source": {
      "Id": "812-153-0217",
      "Name": "Spencer H",
      "Type": "Dwolla",
      "Image": "https://dwolla-avatars-uat.s3.amazonaws.com/812-153-0217/9dc6e5fc"
    "ClearingDate": "",
    "Status": "processed",
    "Notes": "This is a note",
    "Fees": [
        "Id": 1998602,
        "Amount": 0.25,
        "Type": "Facilitator Fee"
        "Id": 1998604,
        "Amount": 0.25,
        "Type": "Facilitator Fee"
    "OriginalTransactionId": null,
    "Metadata": null
  "_links": null

Hope this helps! Please let me know if there’s any additional information I can provide.

(PK) #3

Thanks Spencer.

(The March 1 vs 30th is of course a nightmare to deal with.)

In any case, can you please give me exact timestamps. I mean is March 30th beginning of day UTC?

(Spencer Hunter) #4

@p_k, Fees will go into place for existing business accounts at approximately 10am Central Time on March 30th.

(PK) #5

Hi Spencer,

any update on the exact timestamp? Or you suggest I rely on the fees entry?

What will be the type of the fee?


(Spencer Hunter) #6

Fees will be enabled for existing Dwolla accounts at 10am Central Time. Are you looking for the UTC timestamp? The fee type will be exactly like the response above with "Type": "Facilitator Fee".

(PK) #7

Is 10:00AM Central still the time for enabling the new fees? Thanks

(Spencer Hunter) #8

Fees should be live in production.

More information on who is charged the fee:
Business to Business - Offsite gateway or request fulfillment transactions: the recipient gets charged the fee.
Personal or Dwolla Direct to Business: the recipient gets charged the fee.
Business to Business transactions sent via the API or .com: the sender gets charged the fee.

Fees should only be visible to the party that was charged the fee in the transaction. If the receiving party was charged the fee, then your application will need an account access token for the receiving Dwolla account when calling the API to retrieve transaction details.