> ## Documentation Index
> Fetch the complete documentation index at: https://dev-docs.pagoramp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create recurring charge



## OpenAPI

````yaml /pagoramp-checkout-openapi.json post /api/v1/charges/recurring
openapi: 3.0.0
info:
  title: Pagoramp Open API
  description: Our collection orchestration API for merchants to integrate to their system
  version: '1.0'
  contact: {}
servers:
  - url: https://pay-api.pagoramp.com
    description: Production
  - url: https://pay-api-staging.pagoramp.com
    description: Staging
security:
  - x-api-key: []
tags:
  - name: Checkout
    description: ''
  - name: P2P
    description: ''
  - name: Payment Links
    description: ''
  - name: Customer
    description: ''
  - name: Customers
    description: ''
  - name: Misc
    description: ''
paths:
  /api/v1/charges/recurring:
    post:
      tags:
        - Charges
      summary: Create recurring charge
      operationId: ChargesController_createRecurringCharge
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRecurringChargeDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                example:
                  status: success
                  message: request successful
                  data:
                    uuid: 5d907b89-4eb4-4c97-bb66-223990d7ee35
                    reference: tx-12345
                    status: Success
                    sourceAmount: '20.00'
                    sourceCurrency: USD
                    paymentGateway: Stripe
                    customer:
                      uuid: 224ca5c5-f2a6-419b-bf36-73997434d945
                      firstname: John
                      lastname: Doe
                      email: johndoe@example.com
                    createdAt: '2026-09-12T11:33:05.879Z'
      security:
        - x-api-key: []
components:
  schemas:
    CreateRecurringChargeDto:
      type: object
      properties:
        reference:
          type: string
          example: tx-12345
        customer:
          example:
            firstname: John
            lastname: Doe
            email: johndoe@example.com
          allOf:
            - $ref: '#/components/schemas/PaymentCustomerDto'
        metadata:
          type: object
          example:
            orderId: '12345'
            additionalInfo: Some additional metadata
        currency:
          type: string
          example: USD
          enum:
            - BDT
            - BIF
            - BWP
            - CAD
            - CDF
            - EGP
            - ETB
            - EUR
            - GBP
            - GHS
            - GMD
            - KES
            - LRD
            - LSL
            - MUR
            - MWK
            - MZN
            - NGN
            - RWF
            - SLE
            - SSP
            - TZS
            - UGX
            - USD
            - XAF
            - XOF
            - ZAR
            - ZMW
          default: USD
        amount:
          type: number
          example: 20
        recurringToken:
          type: string
          example: RCT-390393-3903
          description: >-
            The provider-agnostic recurring token returned when the card was
            first saved
        description:
          type: string
          example: Payment for services rendered
      required:
        - reference
        - customer
        - metadata
        - currency
        - amount
        - recurringToken
        - description
    PaymentCustomerDto:
      type: object
      properties:
        email:
          type: string
          example: johndoe@example.com
        firstname:
          type: string
          example: John
        lastname:
          type: string
          example: Doe
        country:
          type: string
          example: US
          description: >-
            ISO 3166-1 alpha-2 country code for where the customer is located.
            This is separate from the top-level country field on
            InitiatePaymentDto, which selects the currency's rails, not the
            customer's location.
      required:
        - email
        - firstname
        - lastname
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.