PAY.JP 3D Secure API

The 3D Secure API from PAY.JP — 4 operation(s) for 3d secure.

Operations 5

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /charges/{id}/tds_finish Finish 3D Secure authentication for a charge · Complete the 3D Secure flow for a charge #
Ask an LLM
“After the cardholder passes 3D Secure, how do I complete the charge that was waiting on it?”
“What call finalizes a charge once its 3D Secure challenge is done?”
Tell an agent
Finish the 3D Secure flow for charge {id}.
Complete 3D Secure on charge {id} so the payment can proceed.
POST /tokens/{id}/tds_finish Finish 3D Secure authentication for a card token · Complete the 3D Secure flow for a token #
Ask an LLM
“Once a cardholder completes 3D Secure on a token, how do I mark the token as authenticated?”
“Is there a step to finalize 3D Secure on a card token before I charge it?”
Tell an agent
Finish the 3D Secure flow for token {id}.
Complete 3D Secure authentication on card token {id}.
GET /three_d_secure_requests List 3D Secure requests · List 3D Secure requests #
Ask an LLM
“Which standalone 3D Secure requests have I started for stored cards?”
“Can I see all my 3D Secure authentication requests in one list?”
Tell an agent
List my 3D Secure requests.
Show every 3D Secure request made on my account.
POST /three_d_secure_requests Start 3D Secure authentication for a stored card · Create a 3D Secure request #
Ask an LLM
“How do I run 3D Secure on a card that is already saved to a customer?”
“Can I authenticate a stored card with 3D Secure without creating a charge?”
Tell an agent
Start a 3D Secure request for card {resource_id}.
Create a 3D Secure authentication request for stored card {resource_id}.
GET /three_d_secure_requests/{id} Get a 3D Secure request · Retrieve a 3D Secure request #
Ask an LLM
“How can I check the status of one particular 3D Secure request?”
“Did the cardholder finish the 3D Secure request I started?”
Tell an agent
Show 3D Secure request {id}.
Get the status of 3D Secure request {id}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/payjp:payjp-3d-secure-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

payjp-3d-secure-api-openapi.yml Raw ↑
openapi: 3.2.0
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:
    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'
    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
    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
          - 'null'
        three_d_secure_status:
          type:
          - string
          - 'null'
        created:
          type: integer
    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
          - 'null'
        card:
          $ref: '#/components/schemas/Card'
        three_d_secure_status:
          type:
          - string
          - 'null'
        created:
          type: integer
        livemode:
          type: boolean
        metadata:
          type: object
          additionalProperties: true
    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'
    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'
    Object:
      description: A PAY.JP resource object
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Object'
  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.