1. Recurring profile
Freedom Pay
  • Overview
  • Gateway API
    • Overview
    • Sync API
      • Overview
      • Card data encryption
      • Payments
        • Overview
        • Pay by card
        • Pay by card: complete 3DS
        • Pay with Apple Pay
        • Pay with Google Pay
        • Pay by recurring profile
        • Create payment page
        • Create payment page with any amount
        • Capture payment (clearing)
        • Cancel payment
        • Refund payment
        • Get payment status
      • Payouts
        • Overview
        • Pay out to card
        • Pay out to IBAN
        • Get payout balance
        • Get payout status
      • Transfers
        • Overview
        • Transfer from card to card
        • Transfer from card to card: complete 3DS
        • Get exchange rates
        • Get transfer status
      • Saved cards
        • Overview
        • Save card
        • Save card: complete 3DS
        • List saved cards
        • Remove saved card
        • Pay by card token
        • Pay out to card token
        • Get payment status
    • Async API
      • Overview
      • Create
        • Create payment
        • Save card without a charge
      • Read
        • Get payment status
        • Get request result
      • Edit
        • Capture payment (clearing)
        • Cancel payment (reverse)
        • Refund payment
  • Merchant API
    • Overview
    • Payments
      • Overview
      • Checkout
      • Pay by saved card
        • Overview
        • Create payment
        • Confirm payment with CVC
        • Confirm payment without the client
      • Create payment
      • Create payment with a payment page template
      • Create payment in a payment frame
      • Create payment with any amount
      • Create recurring payment
      • Capture payment (clearing)
      • Cancel payment
      • Refund payment
      • Get payment status
    • Payouts
      • Overview
      • Create payout page
      • Pay out to saved card
      • Pay out to IBAN
      • Get payout status
      • Get payout balance
    • Mobile balance
      • Overview
      • Init
      • Pay
      • Approve
      • Resend code
      • Status
    • Invoice
      • Overview
      • Recurring profile
        • Overview
        • Create
          POST
        • Execute
          POST
        • Cancel
          POST
        • Info
          POST
        • Notify
          POST
      • Tips
        • Overview
        • Create
      • Create
        POST
      • Info
        POST
      • Refund
        POST
      • Status
        POST
      • Cancel
        POST
    • SDK
      • JS SDK
      • Merchant SDK
        • Google Pay
        • Android
        • IOS
    • CMS
      • Overview
      • Get Merchant ID and key
      • WordPress
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
        • Update
      • Tilda
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • InSales
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • Ecwid
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • Bitrix
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • PrestaShop
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
      • OpenCart
        • Overview
        • Installation
        • Configuration
        • Test
        • Live payments
    • Installment
      • Overview
      • Status
        • Application Status
        • Application Callback Status
        • Application Change Status
      • Get partners
      • Create application
    • Saved cards
      • Get saved cards
      • Save card
      • Save card for payouts
      • Delete saved card
      • Save card without a charge
    • Redirect back
      POST
    • Result notify
      POST
    • Payout notify
      POST
    • Check request
      POST
  • Partner API
    • Rates
      • Overview
      • Rates
    • Products
      • Overview
      • Dictionaries
      • Add client with product
      • Client request status
      • Create terminal
      • Update terminal limits
      • Product request status
    • E-Money
      • Overview
      • Add
      • Owner identification
      • Info
      • Close
      • Block
      • Balance
      • Statement
      • Request Status
    • Device ID
      • Android SDK
      • iOS SDK
    • Implement SuperApp
      • Overview
      • Pay
      • Refund
      • Status
    • Account
      • Overview
      • Create payment
      • Payment status
      • Batch statuses
      • Statement
      • Statement status
      • Balance
      • Balance status
    • Invoices
      • Info
  1. Recurring profile

Cancel

Developing
KZ
https://api.freedompay.kz
KZ
https://api.freedompay.kz
POST
https://api.freedompay.kz
/v5/merchant/invoice/recurring/cancel
Cancels a recurring profile: it can no longer be charged.
Find the profile by profile_id or by external_id.
Only a profile confirmed by the client can be cancelled: status = active.
If state_callback was passed, a notification with status = canceled is sent: see Notify.

Cancel flow#

Result#

HTTPMeaningNext step
200status = canceled: the profile is cancelled.—
200error is returned: the payment system rejected the cancellation.See error; repeat the request later.
400, 401, 422, 500The request is rejected.See «Errors» below.

Errors#

The error is returned in error_description; error_code is returned for 401, 422 and for the 400 errors that have a code below.
HTTPerror_codeWhenWhat to do
4003001The profile is not found.Check profile_id or external_id.
4003003The profile is already cancelled.Do not repeat the request.
4003004The profile is expired or not created, or the client has not confirmed it yet.Check the profile with Info.
4019998The signature is invalid.Check the signature: see Overview.
4229403The X-JWS-Signature header is missing.Pass the signature.
500—A field is missing or invalid. error_description names the field.Fix the request.

Request

Header Params

Body Params application/jsonRequired

Example
{
    "profile_id": "9f8e7d6c5b4a39281706f5e4d3c2b1a0",
    "description": "Subscription cancelled by the client"
}

Responses

🟢200Success
application/json
Headers

Bodyapplication/json

Example
{
    "status": "canceled",
    "created_at": "2026-10-30T13:50:19+05:00"
}
🟠400Bad Request
🟠401Unauthorized
🟠422Unprocessable Entity
🔴500Internal Server Error
Previous
Execute
Next
Info