Authorize.net Invoice Payment With Saved Card
Pays an invoice with a saved Authorize.net card.
Required body fields: `invoiceNo`, `amount`, `cloneId`, `customerPaymentProfileId`. Optional: `partPaymentFromWalletBalance` when the customer is combining wallet balance with card payment.
Response fields: `status` (`success` or `pending`), `authorizePayStatus` (1 approved, 0 held, -1 declined/error), `transactionId`, `amount`, `invoice`.
Possible errors:
- 404: Invoice not found - invoice number does not belong to the customer.
- 400: Bad Invoice - invoice already paid or in invalid payment state.
- 400: Clone not found - `cloneId` is invalid or does not match invoice.
- 400: Invalid Amount - amount paid does not match expected amount.
- 400: Invalid Currency - invoice currency no longer resolves.
- 400: Payment method is disabled - Authorize.net is not active for the currency.
- 400: Please set your billing address to continue - customer billing address is required.
- 404: Billing address not found - saved billing address reference is invalid.
- 404: Saved card not found - saved card profile is missing or inactive.
- 400: Authorize.net transaction failed - card declined, held, or gateway returned an error.
- 400: Missing One or More Required Parameters - required body/query fields were not supplied.
- 401: Unauthorized - token is missing, expired, invalid, or the account/token pair was not found.
- 403: Access denied - gateway traffic guard/rate policy blocked the request.
- 429: Too many requests - gateway rate limit exceeded.
- 500: Unexpected Error - unhandled gateway or downstream service failure.