The CANCEL/subscription/{subscriptionId} endpoint allows merchants to cancel an existing One Click Payment (OCP) subscription, revoking the customer's prior authorization for future charges.
This functionality ensures that merchants can manage the lifecycle of a subscription, allowing them to deactivate subscriptions when no longer needed or upon customer request. Once canceled, the subscription token becomes invalid and can no longer be used for initiating payments.
Endpoints
URL
Certification:<https://cert.subscriptions.payin.monnet.io/api/v1/subscription/cancel>
Production: <https://subscriptions.payin.monnet.io/api/v1/subscription/cancel>
π Authorization Header
All requests to the /create-subscription
endpoint must include a custom Authorization
header to ensure secure communication and proper merchant validation.
π₯ Header Required
Header | Value Format | Required |
---|---|---|
Authorization | Bearer SHA512(merchantId + type + customerId + processorCode + keyPayin) | β Yes |
The Authorization
value must be a SHA-512 hash generated by concatenating the following fields:
- `merchantId`: Assigned merchant identifier
- `type`: Operation type (`ON_DEMAND/RECURRENT`)
- `customerId`: End user/customer ID
- `processorCode`: Code of the payment processor
- `keyPayin`: Secret key assigned by Monnet
Field Description
Field | Description |
---|---|
merchantId | Integer (Required) Unique ID assigned to the merchant by Monnet |
subscriptionDetails | Object (Required) |
type | String (Required) Subscription type. Allowed value: **ON_DEMAND** |
customerId | String (Required) Unique identifier of the customer within the merchantβs system Example: 992984321 |
processorCode | String (Required) Code identifying the selected payment processor Example: `Yape_on_file |
This service allows merchants to cancel an existing One Click Payment (OCP) subscription associated with a customer. Once canceled, the subscription token will no longer be valid for initiating future payments..
Request Body (JSON)
The merchant must send a JSON payload with the following structure:
{
"merchantId": 1073741824,
"subscriptionDetails": {
"type": "ON_DEMAND",
"customerId": "140912518",
"processorCode": "Yape_on_file"
}
}
Response Field Description
Field | Description |
---|---|
subscriptionId | Integer (Required) Unique identifier of the subscription that has been successfully cancelled |
status | String (Required) Status returned by processor. Example Β΄ CANCELLED |
β
Successful Response β 200 OK
If the subscription cancellation request is valid, the service will respond with a 200 OK status and return a JSON payload confirming the operation, including the subscription ID and a status indicating that the subscription has been successfully cancelled.:
{
"subscriptionId": 1073741824,
"status": "CANCELLED"
}
Error Response
This response indicates that the subscription transaction could not be processed due to a business or validation error. It provides both a general error message and a detailed list of one or more specific underlying errors.
Error Response Field
Field | Description |
---|---|
errorCode | String (Opcional) General code representing the main error type. Typically business-level. See Errors Code |
errorMessage | String (Required) Human-readable description of the general error See Errors Code |
errorFieldDetails | Array (Opcional) List of specific errors encountered during processing |
fleld | String (Required) Refers to the affected field. |
errorMessage | String (Required) Description of the specific error |
Response Body (JSON)
{
"errorCode": "9099",
"errorMessage": "error",
}
Errors Code
Error Code | Error Message | HTTP Code |
---|---|---|
E401 | Unauthorized request | 401 |
9099 | error | 200 |
9025 | Unable to locate record on file | 200 |
B401 | The merchant does not exists | 200 |
B404 | The merchant does not contain the correct processor settings | 200 |
B405 | Subscription not active | 200 |