My understanding was that all payments eventually wind up sending a payment webhook with the status set to COMPLETED. However, we had someone pay with Cashapp the other day, and their payment (as of writing) is still marked CAPTURED despite having the merchant fee applied (meaning it looks like the payment cleared?).
Do Cashapp transactions ever get marked COMPLETED by the system? Does this behavior change based on the payment type?
I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:
If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.
Cash App payments processed through Square can have different statuses based on how the payment is handled. When a Cash App payment is made, it initially might be marked as AUTHORIZED or CAPTURED, especially if the autocomplete parameter is set to false in the CreatePayment request. In such cases, the payment needs to be explicitly completed by calling the CompletePayment endpoint, which would then change the status to COMPLETED.
If the autocomplete parameter is set to true, the payment should automatically move to a COMPLETED status once it is processed. However, if you notice that a payment remains in the CAPTURED state, it might require manual intervention to complete the payment.
The behavior of payment status can vary based on the payment type and how the payment is configured in the API request. For example, ACH payments are asynchronous and can take several days to move from PENDING to COMPLETED or FAILED. It’s important to ensure that the payment flow is correctly implemented to handle these transitions.
So, in summary, not all payments will be marked COMPLETED when payment clears, and CashApp payments don’t always transition from CAPTURED to COMPLETED.
Oh, I see now. Cash App and Google Wallet wound up in the transaction. Cash App failed, Google Wallet cleared and was marked as Completed. My code caught the first action which was CAPTURED and not COMPLETED.
So the correct approach would be to check through all specified payments looking for one of them to reach completed status?
(And thanks again for your assistance, I greatly appreciate it!)