PAY.JP Customers API

The Customers API from PAY.JP — 2 operation(s) for customers.

OpenAPI Specification

payjp-customers-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: PAY.JP 3D Secure Customers API
  description: PAY.JP is an online payment service operated by PAY, Inc. (PAY株式会社) in Japan. The REST API creates charges, tokenizes cards, manages customers, runs subscriptions (定期課金), and reports transfers (入金) and balances in Japanese yen. Authentication is HTTP Basic with a secret key (sk_test_ / sk_live_) as the username and an empty password. All amounts are integer JPY.
  termsOfService: https://pay.jp/terms
  contact:
    name: PAY.JP Support
    url: https://help.pay.jp/
  version: '1.0'
servers:
- url: https://api.pay.jp/v1
  description: PAY.JP REST API (HTTPS only)
security:
- basicAuth: []
tags:
- name: Customers
paths:
  /customers:
    get:
      operationId: listCustomers
      tags:
      - Customers
      summary: List customers
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      responses:
        '200':
          $ref: '#/components/responses/List'
    post:
      operationId: createCustomer
      tags:
      - Customers
      summary: Create a customer
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                email:
                  type: string
                description:
                  type: string
                card:
                  type: string
                  description: Token id to attach as default card
                metadata:
                  type: object
                  additionalProperties: true
      responses:
        '200':
          $ref: '#/components/responses/Customer'
  /customers/{id}:
    parameters:
    - $ref: '#/components/parameters/id'
    get:
      operationId: retrieveCustomer
      tags:
      - Customers
      summary: Retrieve a customer
      responses:
        '200':
          $ref: '#/components/responses/Customer'
    post:
      operationId: updateCustomer
      tags:
      - Customers
      summary: Update a customer
      responses:
        '200':
          $ref: '#/components/responses/Customer'
    delete:
      operationId: deleteCustomer
      tags:
      - Customers
      summary: Delete a customer
      responses:
        '200':
          $ref: '#/components/responses/Deleted'
components:
  schemas:
    List:
      type: object
      properties:
        object:
          type: string
          example: list
        count:
          type: integer
        has_more:
          type: boolean
        url:
          type: string
        data:
          type: array
          items:
            $ref: '#/components/schemas/Object'
    Object:
      type: object
      properties:
        id:
          type: string
        object:
          type: string
        livemode:
          type: boolean
        created:
          type: integer
          description: Unix timestamp
      additionalProperties: true
    Customer:
      type: object
      properties:
        id:
          type: string
          example: cus_xxxxxxxxxxxxxxxx
        object:
          type: string
          example: customer
        email:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        default_card:
          type: string
          nullable: true
        cards:
          $ref: '#/components/schemas/List'
        subscriptions:
          $ref: '#/components/schemas/List'
        created:
          type: integer
        livemode:
          type: boolean
  responses:
    Deleted:
      description: A deletion confirmation
      content:
        application/json:
          schema:
            type: object
            properties:
              id:
                type: string
              object:
                type: string
                example: charge
              deleted:
                type: boolean
                example: true
    Customer:
      description: A Customer object
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Customer'
    List:
      description: A paginated list object
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/List'
  parameters:
    id:
      name: id
      in: path
      required: true
      schema:
        type: string
    offset:
      name: offset
      in: query
      schema:
        type: integer
        default: 0
    limit:
      name: limit
      in: query
      schema:
        type: integer
        default: 10
        maximum: 100
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication. Use the secret key (sk_test_ / sk_live_) as the username and leave the password empty.