Verify
Inquiry result is matched to the wallet owner and stored as a masked, versioned beneficiary.
BANK INTEGRATION · PAYOUT
Drivers and Rider Group owners withdraw to their own verified account at the single configured bank. AutoTaxi never accepts a destination in the withdrawal request and never resubmits an unknown payout blindly.
Sandbox/test profile only
Production enablement: OFF
Destination ownership is established before money is held.
Inquiry result is matched to the wallet owner and stored as a masked, versioned beneficiary.
The server resolves that verified account and atomically holds the requested available balance.
One AutoTaxi reference is sent through an outbox and recovered by status inquiry after uncertainty.
The app cannot select a bank, enter a destination, change a beneficiary or compute fees during withdrawal.
Receipt is durable, processing is asynchronous and duplicates are harmless.
POST https://sandbox-api.autotaxi.example/api/integrations/v1/{payoutBankCode}/withdrawals/callbackInvalid authentication or replay never receives a success acknowledgement.
PROCESSING/EVENT_RECEIVED or QUARANTINED/EVENT_QUARANTINED; quarantine never changes a hold or wallet.
Return the original ack_id and received_at with DUPLICATE/EVENT_DUPLICATE; no second capture or release.
Conflict escalates; throttling/outage retries the identical event. A receipt ACK never means payout success.
1.0RequiredPAYOUT_STATUS_CHANGED, PAYOUT_RETURNED or PAYOUT_REVERSEDRequiredACCEPTED, PENDING, PROCESSING, UNKNOWN, SUCCEEDED, FAILED_FINAL, RETURNED or REVERSED with explicit finalityRequiredExact paths and schemas are supplied and signed by the selected bank.
An uncertain result retains the hold and the original external reference.
UNKNOWN: keep the hold, query the same provider reference and do not create a second payout.
FAILED_FINAL: release the exact hold through one idempotent transition.
SUCCEEDED: debit held cash once and attach bank/provider settlement evidence.
RETURNED / REVERSED: create a linked compensating journal; never edit the original payout.
Required before any customer-facing withdrawal.
Use the same bank event contract with the payout capability section.