openapi: 3.0.3 info: title: PAY.JP 3D Secure 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: 3D Secure paths: /charges/{id}/tds_finish: parameters: - $ref: '#/components/parameters/id' post: operationId: finishChargeThreeDSecure tags: - 3D Secure summary: Complete the 3D Secure flow for a charge responses: '200': $ref: '#/components/responses/Charge' /tokens/{id}/tds_finish: parameters: - $ref: '#/components/parameters/id' post: operationId: finishTokenThreeDSecure tags: - 3D Secure summary: Complete the 3D Secure flow for a token responses: '200': $ref: '#/components/responses/Token' /three_d_secure_requests: get: operationId: listThreeDSecureRequests tags: - 3D Secure summary: List 3D Secure requests responses: '200': $ref: '#/components/responses/List' post: operationId: createThreeDSecureRequest tags: - 3D Secure summary: Create a 3D Secure request requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: resource_id: type: string description: A card id (car_xxx) to authenticate responses: '200': $ref: '#/components/responses/Object' /three_d_secure_requests/{id}: parameters: - $ref: '#/components/parameters/id' get: operationId: retrieveThreeDSecureRequest tags: - 3D Secure summary: Retrieve a 3D Secure request responses: '200': $ref: '#/components/responses/Object' components: schemas: Token: type: object properties: id: type: string example: tok_xxxxxxxxxxxxxxxx object: type: string example: token livemode: type: boolean used: type: boolean card: $ref: '#/components/schemas/Card' created: type: integer 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' Charge: type: object properties: id: type: string example: ch_xxxxxxxxxxxxxxxx object: type: string example: charge amount: type: integer example: 3500 currency: type: string example: jpy paid: type: boolean captured: type: boolean refunded: type: boolean amount_refunded: type: integer customer: type: string nullable: true card: $ref: '#/components/schemas/Card' three_d_secure_status: type: string nullable: true created: type: integer livemode: type: boolean metadata: type: object additionalProperties: true Card: type: object properties: id: type: string example: car_xxxxxxxxxxxxxxxx object: type: string example: card brand: type: string example: Visa last4: type: string example: '4242' exp_month: type: integer exp_year: type: integer name: type: string nullable: true three_d_secure_status: type: string nullable: true created: type: integer Object: type: object properties: id: type: string object: type: string livemode: type: boolean created: type: integer description: Unix timestamp additionalProperties: true responses: Token: description: A Token object content: application/json: schema: $ref: '#/components/schemas/Token' Object: description: A PAY.JP resource object content: application/json: schema: $ref: '#/components/schemas/Object' Charge: description: A Charge object content: application/json: schema: $ref: '#/components/schemas/Charge' 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 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.