Due to a change in our sponsor bank to improve our onboarding process, it is now possible for refunds and voids to take more than 60 seconds to complete. Because of this, we have updated our void and refund mutations to accommodate the asynchronous process.Documentation Index
Fetch the complete documentation index at: https://docs.confidolegal.com/llms.txt
Use this file to discover all available pages before exploring further.
What’s Changed
The following three new mutations have been added to replace the legacy synchronous mutations:transactionRefund(replacesrefundTransaction)transactionVoid(replacesvoidTransaction)transactionVoidOrRefund(replacesvoidOrRefundTransaction)
- Operations are now asynchronous and may take longer to complete
- New response structure separates request status from transaction results
- Transaction lists in responses are nullable and may be empty initially
- Status checking is required to determine operation completion
Migration Timeline
Implementation Guide
Refunds
Legacy Mutation (Deprecated)
New Mutation
refundTransactions list is nullable and may be empty initially for asynchronous operations.
Recommended Implementation Pattern:
- Check
refundRequest.statusfirst:SUCCESS: Refund completed, checkrefundTransactionsfor resultsAWAITING_RESULT: Refund is processing, listen for atransaction.refundedortransaction.partially_refundedwebhookTXN_FAILEDorERROR: CheckrefundRequest.errorMessagefor details
- If status is
AWAITING_RESULT, you’ll need to listen to webhooks to get the final result
Voids
Legacy Mutation (Deprecated)
New Mutation
voidTransactions list is nullable and may be empty initially for asynchronous operations.
Recommended Implementation Pattern:
- Check
voidRequest.statusfirst:SUCCESS: Void completed, checkvoidTransactionsfor resultsAWAITING_RESULT: Void is processing, listen for atransaction.voidedwebhookTXN_FAILEDorERROR: CheckvoidRequest.errorMessagefor details
- If status is
AWAITING_RESULT, you’ll need to listen to webhooks to get the final result
Void or Refund
Legacy Mutation (Deprecated)
New Mutation
voidOrRefundTransactions list is nullable and may be empty initially for asynchronous operations.
Recommended Implementation Pattern:
- Check
voidOrRefundRequest.statusfirst:SUCCESS: Operation completed, checkvoidOrRefundTransactionsfor resultsAWAITING_RESULT: Operation is processing, listen for atransaction.voidedortransaction.refundedwebhookTXN_FAILEDorERROR: CheckvoidOrRefundRequest.errorMessagefor details
- Check
voidOrRefundRequest.typeto determine if aVOIDorREFUNDwas performed - If status is
AWAITING_RESULT, you’ll need to listen to webhooks to get the final result
Handling Asynchronous Operations
Webhooks
Implement webhook handlers to receive notifications when operations complete. This provides real-time updates when your refund, void, or void-or-refund operations finish processing. Relevant webhook events:transaction.refunded- Triggered when a refund completestransaction.partially_refunded- Triggered when a partial refund completestransaction.voided- Triggered when a void completes
Troubleshooting
- Null transaction lists: This is expected behavior for asynchronous operations. Always check the request status first.
- AWAITING_RESULT status: The operation is still processing. Use webhooks to get updates.
- Error handling: Always check for
errorMessagefields in both request and transaction objects.