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

# Payment Prepaid (v2)

> Process a prepaid product payment. Supports Pulsa, Paket Data, PLN Token, Game Topup, and Voucher Game. Some products (pulsa, data, vouchg) support direct payment without prior inquiry.



## OpenAPI

````yaml https://biller-b2b.singapay.id/docs post /api/v2/prepaid/payment
openapi: 3.0.0
info:
  title: B2B Biller API
  description: >-
    API documentation for the B2B Biller service. Provides endpoints for bill
    payments (postpaid/prepaid), transaction management, balance checking, and
    authentication.
  version: 1.0.0
servers:
  - url: https://sandbox-biller-b2b.singapay.id
    description: Sandbox
  - url: https://biller-b2b.singapay.id
    description: Production
security: []
tags:
  - name: Authentication
    description: OAuth2 token generation
  - name: General
    description: Bill transaction listing, detail, balance, and utilities
  - name: Postpaid V1
    description: Postpaid bill inquiry and payment (V1)
  - name: Prepaid V1
    description: Prepaid inquiry and payment — PLN Token, Pulsa, Paket Data (V1)
  - name: Postpaid V2
    description: Postpaid bill inquiry and payment (V2)
  - name: Prepaid V2
    description: Prepaid inquiry, payment, and game topup (V2)
paths:
  /api/v2/prepaid/payment:
    post:
      tags:
        - Prepaid V2
      summary: Payment Prepaid (v2)
      description: >-
        Process a prepaid product payment. Supports Pulsa, Paket Data, PLN
        Token, Game Topup, and Voucher Game. Some products (pulsa, data, vouchg)
        support direct payment without prior inquiry.
      operationId: prepaidPaymentV2
      parameters:
        - name: X-PARTNER-ID
          in: header
          description: Your unique partner API key
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          required: true
          schema:
            type: string
            default: application/json
        - name: Content-Type
          in: header
          required: true
          schema:
            type: string
            default: application/json
      requestBody:
        required: true
        content:
          application/json:
            schema:
              required:
                - command
                - data
              properties:
                command:
                  description: Product category code
                  type: string
                  enum:
                    - pulsa
                    - data
                    - plntok
                    - topupg
                    - vouchg
                  example: pulsa
                data:
                  required:
                    - product_code
                    - password
                    - customer_id
                  properties:
                    product_code:
                      description: Product code
                      type: string
                      example: SPTLKMAS10
                    password:
                      description: Merchant credential password
                      type: string
                    customer_id:
                      description: Customer/phone number
                      type: string
                      example: '082291501085'
                    reference_number:
                      description: >-
                        Reference number from inquiry (required for
                        plntok/topupg after inquiry)
                      type: string
                      nullable: true
                  type: object
              type: object
            examples:
              Pulsa:
                summary: Pulsa (Airtime) Direct Payment
                description: >-
                  Direct payment without prior inquiry. customer_id is the phone
                  number.
                value:
                  command: pulsa
                  data:
                    product_code: SPTLKMAS10
                    password: merchant_password
                    customer_id: '082291501085'
              Paket Data:
                summary: Paket Data Direct Payment
                description: >-
                  Direct payment without prior inquiry. customer_id is the phone
                  number.
                value:
                  command: data
                  data:
                    product_code: SPTKMSF2G30
                    password: merchant_password
                    customer_id: '082291501085'
              PLN Token:
                summary: PLN Token Payment (after inquiry)
                description: >-
                  Payment after performing inquiry. reference_number is
                  required.
                value:
                  command: plntok
                  data:
                    product_code: SPPLNTOK
                    password: merchant_password
                    customer_id: '14012345678'
                    reference_number: SPPLNTOKRJBL0012345678901234567890
              Game Topup:
                summary: Game Topup Payment (after inquiry)
                description: >-
                  Payment after performing inquiry. reference_number is
                  required.
                value:
                  command: topupg
                  data:
                    product_code: SPMLBB86DM
                    password: merchant_password
                    customer_id: '123456789'
                    reference_number: SPMLBB86DMRJBL0096284584861749552900
              Voucher Game:
                summary: Voucher Game Direct Payment
                description: Direct payment without prior inquiry. Returns a voucher code.
                value:
                  command: vouchg
                  data:
                    product_code: SPGPUC100
                    password: merchant_password
                    customer_id: '082291501085'
      responses:
        '200':
          description: Payment successful
          content:
            application/json:
              schema:
                properties:
                  command:
                    type: string
                    example: pulsa
                  response_code:
                    type: string
                    example: '00'
                  response_text:
                    type: string
                    example: Payment success
                  data:
                    description: Payment result (structure varies by product category)
                    properties:
                      amount:
                        type: string
                        example: '11000'
                      customer_name:
                        type: string
                        example: JOHN DOE
                        nullable: true
                      customer_id:
                        type: string
                        example: '082291501085'
                      price:
                        type: string
                        example: '11000'
                      transaction_id:
                        type: string
                        example: 01JXCQAR5HST24K68JNK580RF0
                      reference_number:
                        type: string
                        example: SPTLKMAS10RJBL0015111328211749552554
                      created_at:
                        type: string
                        example: '2025-06-10 10:49:14'
                    type: object
                type: object
              examples:
                Pulsa Success:
                  summary: Pulsa (Airtime) payment success
                  value:
                    command: pulsa
                    response_code: '00'
                    response_text: Payment success
                    data:
                      amount: '10000'
                      customer_id: '082291501085'
                      price: '11000'
                      transaction_id: 01JXCQAR5HST24K68JNK580RF0
                      reference_number: SPTLKMAS10RJBL0015111328211749552554
                      created_at: '2025-06-10 10:49:14'
                Paket Data Success:
                  summary: Paket Data payment success
                  value:
                    command: data
                    response_code: '00'
                    response_text: Payment success
                    data:
                      amount: '30000'
                      customer_id: '082291501085'
                      price: '32500'
                      transaction_id: 01JXCQMCF879HYR72P4PJFBVRZ
                      reference_number: SPTKMSF2G30RJBL0096284584861749552869
                      created_at: '2025-06-10 10:54:29'
                PLN Token Success:
                  summary: PLN Token payment success
                  value:
                    command: plntok
                    response_code: '00'
                    response_text: Payment success
                    data:
                      amount: '50000'
                      customer_name: JOHN DOE
                      customer_id: '14012345678'
                      price: '52500'
                      transaction_id: 01JXCR1G6JSUK35L69QLAT1SG1
                      reference_number: SPPLNTOKRJBL0012345678901234567890
                      created_at: '2025-06-10 11:02:30'
                Game Topup Success:
                  summary: Game Topup payment success
                  value:
                    command: topupg
                    response_code: '00'
                    response_text: Payment success
                    data:
                      amount: '28000'
                      customer_name: player123
                      customer_id: '123456789'
                      price: '29500'
                      transaction_id: 01JXCR5K7KTVM46M7ARMAT2TH2
                      reference_number: SPMLBB86DMRJBL0096284584861749552900
                      created_at: '2025-06-10 11:05:45'
                Voucher Game Success:
                  summary: Voucher Game payment success
                  value:
                    command: vouchg
                    response_code: '00'
                    response_text: Payment success
                    data:
                      amount: '100000'
                      customer_id: '082291501085'
                      price: '102500'
                      transaction_id: 01JXCRA8BLUWN57N8BSNBU3UI3
                      reference_number: SPGPUC100RJBL0012345678901749553200
                      created_at: '2025-06-10 11:10:00'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorResponse'
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '500':
          description: System error
          content:
            application/json:
              schema:
                properties:
                  command:
                    type: string
                    example: pulsa
                  response_code:
                    type: string
                    example: '99'
                  response_text:
                    type: string
                    example: System error, please try again
                type: object
      security:
        - bearerAuth: []
components:
  schemas:
    UnauthorizedErrorResponse:
      description: Unauthorized error response (HTTP 401)
      required:
        - status
        - success
        - error
      properties:
        status:
          type: integer
          example: 401
        success:
          type: boolean
          example: false
        error:
          properties:
            code:
              type: integer
              example: 401
            message:
              type: string
              example: Unauthorized merchant, please sign in
          type: object
      type: object
    ValidationErrorResponse:
      description: Validation error response (HTTP 422)
      required:
        - command
        - response_code
        - response_text
        - data
      properties:
        command:
          type: string
          example: detail-bill-transaction
        response_code:
          type: string
          example: '04'
        response_text:
          type: string
          example: Rejected Format Error
        data:
          description: Field-level error messages
          type: object
          example:
            data: The data field is required.
            data.transaction_id: The data.transaction id field is required.
          additionalProperties:
            type: string
      type: object
  securitySchemes:
    bearerAuth:
      type: http
      description: JWT Bearer token obtained from /api/v1.0/access-token/b2b
      bearerFormat: JWT
      scheme: bearer

````