Unbind Card
Revokes an active binding. After this completes the binding can no longer be charged. Some banks require OTP; in that case the response is HTTP 202 with data.otp_required=true and an otp_handoff block, and the merchant must follow up with POST /verify-otp. Other banks use a fire-and-forget flow; the binding remains in its current status until the direct-debit.unbinding.succeeded webhook confirms the final state. No request body is required.
Authorizations
JWT issued by POST /api/v1.1/access-token/b2b. Send Authorization: Bearer <token>.
Merchant API key (Credential.api_key). Required on every request.
Path Parameters
UUID of a DirectDebitBinding owned by the authenticated merchant.
Response
SP000 Unbinding initiated (fire-and-forget). data matches DirectDebitBindingData; status flips to UNBOUND only after the direct-debit.unbinding.succeeded callback lands.
SingaPay Merchant API v2 custom response envelope (ApiResponderHelper::responseJson, ApiResponseTrait). Business outcome is determined by response_code (SP000–SP020), not by HTTP status alone. On success (SP000), data holds the operation payload. On errors, data often includes a message and may echo request fields.
SingaPay custom business response code.
"SP000"
Human-readable label paired with response_code.
"Successfully"
Endpoint-specific payload on success, or error context (validation message, inquiry result with status invalid, etc.).
