Question about processing fee effective time

Dear team,

while reading the payment document and API data, i noticed the field processing_fee.effective_at,
it looks just 2 hours after payment complete time, document says it’s “The timestamp of when the fee takes effect”, but could you please illustrate a little more about the meaning of “take effect”? such as, does it mean the fee will be charged from account at the time of effective_at?

Thanks.

Fees are calculated asynchronously and depending on the accounts pricing fees can be adjusted. The effective_at is when the fee is calculated and all fees are withheld from payments instead of charging the account. :slight_smile:

hi Bryan,

thanks for reply.

the fact i observed during my testing in production env is like below:

  1. create and complete a payment, the payment info from API of create/complete payment is without the field of processing fee (for example it’s at 14:00)

  2. after a few minutes (for example at 14:05), retrieve the payment info through API, the response payment is with the field of processing fee, but the effective_at is after 2 hours since above step 1. (for example it can be 16:00)

isn’t it 14:05 (or maybe a little bit earlier) that the fee is calculated so that it can be shown in the API response of retrieve payment?

No, cause of the custom fee structures for some accounts may further adjust the calculated fee for a payment. It isn’t till the payment is run through all the Square functions that are used to calculate fees is the field then set. In some instances the fee may change days later for some accounts that have a custom fee structure. For majority of accounts you won’t see this change much. :slight_smile:

thanks for the details introduction, although i’m still a little bit confused… :sweat_smile:
so in my above example, after our application gets the field processing_fee.effective_at with value 16:00, what does our application can know / need to do? does it mean that the processing fee could change (even theoretically) before 16:00 and wont’ change after 16:00?

  1. create and complete a payment, the payment info from API of create/complete payment is without the field of processing fee (for example it’s at 14:00)

  2. after a few minutes (for example at 14:05), retrieve the payment info through API, the response payment is with the field of processing fee, but the effective_at is after 2 hours since above step 1. (for example it can be 16:00)

The fee can change both before and after the time given an accounts fee structure with Square. In reality a payment can potentially change up to a year after the payment is taken. This is because a refund can issued up to a year after a payment is taken. :slight_smile: