Reissue payouts with the API
Use the reissue endpoint to create a new payout transaction with a different payment method when the original payout can’t be completed. The original and new transactions are linked through their event histories for audit purposes.
The reissue endpoint is for on-demand payouts only. For managed payables, contact the Payabli client success team for help with payouts.
When to reissue
Reissue a payout when:
- A virtual card expires before the vendor redeems it
- An ACH payment is returned by the bank
- You need to switch payment methods (for example, from check to ACH)
Reissuing doesn’t cancel the original transaction. It marks it as reissued and creates a new, linked transaction. If the original payment method needs to be stopped (for example, a check), contact Payabli support to initiate a stop payment before reissuing.
Prerequisites
Before you can reissue a payout, the original transaction must be in Processing or Processed status.
Allowed payment method changes
The reissue endpoint doesn’t support all payment method combinations. The table below shows which methods you can reissue to, based on the original payment method.
Reissue a payout
Send a POST request to /api/MoneyOut/reissue with the original transaction ID as a query parameter and the new payment method in the request body.
The endpoint uses the payment method details you include in the request. It doesn’t fall back to the vendor’s existing payment methods.
See the API reference for full endpoint documentation.
Reissue as ACH
When reissuing as ACH, you must include all the bank account details in the request body.
Reissue as check
When reissuing as a check, the check is mailed to the vendor’s remittance address from the original transaction.
If you’re reissuing a check that was already mailed, contact Payabli support to stop the original check first. The reissue endpoint doesn’t automatically stop the original check.
Reissue as virtual card
When reissuing as a virtual card, Payabli generates a new card and sends it to the vendor’s email address.
Response
A successful reissue returns the new transaction ID and a link back to the original.
The new transaction automatically goes through the standard authorize-and-capture flow. You can track its progress using the Get payout details endpoint with the new transactionId.
Audit trail
When you reissue a transaction, Payabli creates event records on both transactions:
- Original transaction: Gets a “Reissued” event linking to the new transaction
- New transaction: Gets event records linking back to the original transaction
You can view these links by querying the Get payout details endpoint and checking the Events array in the response.
Error handling
The reissue endpoint returns HTTP 400 when the transaction can’t be reissued. Common causes:
An HTTP 200 response doesn’t always mean the reissue succeeded. Always check the isSuccess field in the response body to confirm the result.
Testing considerations
When you integrate this feature, keep these testing considerations in mind:
- Create a payout and advance it to Processing or Processed status before attempting a reissue.
- Test each payment method type (ACH, check, virtual card) to confirm the request body validation works as expected.
- Verify that the original transaction’s status changes to “Reissued” and that both transactions are linked through their events.
- Test error cases: reissuing a transaction in an invalid state, missing required ACH fields, and non-existent transaction IDs.
- If you’re using idempotency keys, confirm that duplicate requests with the same key don’t create multiple transactions.
Best practices
Keep these tips in mind when working with the reissue endpoint.
- Use idempotency keys in production to prevent duplicate reissues from retry logic. Include the
idempotencyKeyheader with a unique value for each reissue attempt. - Check transaction status first by calling the Get payout details endpoint before attempting a reissue.
- Stop check payments before reissuing. The reissue endpoint doesn’t cancel the original check automatically.
- Validate ACH details before sending. Routing numbers must be exactly 9 digits, and account numbers must be between 8 and 17 digits.
Related resources
See these related resources to help you get the most out of Payabli.
References
- Pay Out statuses - Learn about Pay Out statuses
- Pay Out TransEvent reference - Learn about TransEvent values