Summary
Platform merchants can now create Checkout sessions and collect payments on behalf of their sub-entities — such as sellers, agents, wallet providers, or utility companies. This extends Tazapay’s existing On Behalf Of (OBO) pattern, already available for Payouts (POBO) and Collections (COBO), into the Checkout and Payin flows. When a merchant creates a checkout withon_behalf_of, Tazapay validates that the entity belongs to the merchant and, depending on merchant configuration, may require the entity to be explicitly approved before the checkout can proceed.
What Changed
New fields on Checkout API
The following optional fields have been added to the Checkout object (POST /v3/checkout, GET /v3/checkout/{id}):
-
on_behalf_of(string, optional) ID of the entity on whose behalf the checkout session is created. The entity must belong to the merchant account. Format:ent_*.
New fields on Payin API
When a checkout is created withon_behalf_of, the resulting Payin automatically inherits the OBO fields:
on_behalf_of(string) — Inherited from the associated checkout session.
Webhook Updates
All checkout and payin webhook events now includeon_behalf_of in the event data payload when the checkout/payin was created in an OBO context. This applies to:
checkout.created,checkout.paid,checkout.expired,checkout.tax_invoice_generatedpayment_attempt.created,payment_attempt.failed,payment_attempt.processing,payment_attempt.succeededpayin.requires_payment_method,payin.requires_action,payin.processing,payin.succeeded,payin.cancelled,payin.created
Affected Endpoints
POST /v3/checkout— request and response updatedGET /v3/checkout/{id}— response updated
Compatibility
No breaking changes. All new fields are optional. Existing integrations that do not sendon_behalf_of will continue to work without modification.
