> ## 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 Postpaid (v2)

> Process a postpaid bill payment using a reference number obtained from a prior inquiry (V2). Requires the merchant credential password for authorization.



## OpenAPI

````yaml https://biller-b2b.singapay.id/docs post /api/v2/postpaid/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/postpaid/payment:
    post:
      tags:
        - Postpaid V2
      summary: Payment Postpaid (v2)
      description: >-
        Process a postpaid bill payment using a reference number obtained from a
        prior inquiry (V2). Requires the merchant credential password for
        authorization.
      operationId: postpaidPaymentV2
      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:
                    - pdam
                    - plnpos
                    - plnnon
                    - intv
                    - bpjsks
                    - bputk
                    - putk
                    - mobpos
                  example: plnpos
                data:
                  required:
                    - password
                    - product_code
                    - customer_id
                    - reference_number
                  properties:
                    password:
                      description: Merchant credential password
                      type: string
                    product_code:
                      description: Product code
                      type: string
                      example: SPPLNPOS
                    customer_id:
                      description: Customer/subscriber ID
                      type: string
                      example: '114676170021'
                    reference_number:
                      description: Reference number from inquiry
                      type: string
                      example: SPPLNPOSRJBL0057437746821761805651
                    phone_number:
                      description: Customer phone number
                      type: string
                      maxLength: 25
                      nullable: true
                  type: object
              type: object
            examples:
              PLN Pascabayar:
                summary: PLN Pascabayar Payment
                value:
                  command: plnpos
                  data:
                    password: merchant_password
                    product_code: SPPLNPOS
                    customer_id: '114676170021'
                    reference_number: SPPLNPOSRJBL0057437746821761805651
              PLN Non Tag:
                summary: PLN Non Tagihan Payment
                value:
                  command: plnnon
                  data:
                    password: merchant_password
                    product_code: SPPLNNON
                    customer_id: '114676170021'
                    reference_number: SPPLNNONRJBL0057437746821761805700
              BPJS Kesehatan:
                summary: BPJS Kesehatan Payment
                value:
                  command: bpjsks
                  data:
                    password: merchant_password
                    product_code: SPBPJSKSPOS
                    customer_id: '8888802379205901'
                    reference_number: SPBPJSKSPOSRJBL0051066291251761805800
              BPJS TK PU:
                summary: BPJS Ketenagakerjaan PU Payment
                value:
                  command: bputk
                  data:
                    password: merchant_password
                    product_code: SPBPUTKPOS
                    customer_id: '0000012345678'
                    reference_number: SPBPUTKPOSRJBL0051066291251761805900
              BPJS TK BPU:
                summary: BPJS Ketenagakerjaan BPU Payment
                value:
                  command: putk
                  data:
                    password: merchant_password
                    product_code: SPPUTKPOS
                    customer_id: '0000012345678'
                    reference_number: SPPUTKPOSRJBL0051066291251761806000
              PDAM:
                summary: PDAM Payment
                value:
                  command: pdam
                  data:
                    password: merchant_password
                    product_code: SPPDAMPOS
                    customer_id: '0812345678'
                    reference_number: SPPDAMPOSRJBL0012345678901761806100
              Internet TV:
                summary: Internet TV Payment
                value:
                  command: intv
                  data:
                    password: merchant_password
                    product_code: SPINTVPOS
                    customer_id: '121234567890'
                    reference_number: SPINTVPOSRJBL0012345678901761806200
              Pulsa Pascabayar:
                summary: Pulsa Pascabayar Payment
                value:
                  command: mobpos
                  data:
                    password: merchant_password
                    product_code: SPMOBPOS
                    customer_id: '081234567890'
                    reference_number: SPMOBPOSRJBL0012345678901761806300
      responses:
        '200':
          description: Payment successful
          content:
            application/json:
              schema:
                properties:
                  command:
                    type: string
                    example: plnpos
                  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: '69674'
                      customer_name:
                        type: string
                        example: JOHN DOE
                      period:
                        type: string
                        example: '4'
                      customer_id:
                        type: string
                        example: '114676170021'
                      price:
                        type: string
                        example: '74194'
                      transaction_id:
                        type: string
                        example: 01JXCK6K1CMRGJKQ2J863Q6P5J
                      created_at:
                        type: string
                        example: '2025-10-30 13:28:45'
                    type: object
                type: object
              examples:
                PLN Pascabayar Success:
                  summary: PLN Pascabayar payment success
                  value:
                    command: plnpos
                    response_code: '00'
                    response_text: Payment success
                    data:
                      amount: '69674'
                      customer_name: JOHN DOE
                      period: '4'
                      customer_id: '114676170021'
                      price: '74194'
                      transaction_id: 01JXCK6K1CMRGJKQ2J863Q6P5J
                      created_at: '2025-10-30 13:28:45'
                BPJS Kesehatan Success:
                  summary: BPJS Kesehatan payment success
                  value:
                    command: bpjsks
                    response_code: '00'
                    response_text: Payment success
                    data:
                      amount: '70000'
                      customer_name: KAYAH
                      period: '1'
                      customer_id: '8888802379205901'
                      price: '72500'
                      transaction_id: 01JXCK7A2DNRHJLR3K975R7Q6K
                      created_at: '2025-10-30 13:30:55'
                PDAM Success:
                  summary: PDAM payment success
                  value:
                    command: pdam
                    response_code: '00'
                    response_text: Payment success
                    data:
                      amount: '85000'
                      customer_name: SUHERMAN
                      period: '202406'
                      customer_id: '0812345678'
                      price: '92500'
                      transaction_id: 01JXCK8B3EOSIKMS4L086S8R7L
                      created_at: '2025-10-30 13:33:20'
        '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: plnpos
                  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

````