There is no merchant webhook for payment.settled, settlement.completed, or similar events, and there is no Sohopay-Signature header to verify. Fulfillment is driven by the facilitator status poll. Use GET /api/v1/facilitator/settle/status/by-payment/:paymentId as documented in Settlements. Poll about every 2 seconds from the moment capture returns. Unlock on CONFIRMED only. If you need a push notification into your own systems, poll from your worker and emit an event inside your application when the status transitions. That worker is yours. SohoPay will not retry a webhook, because it does not send one.

Next steps

Merchant integration

The capture call that creates the payment id.

Testing

Exercise capture and the poll on staging.