Coins.ph Checkout API

Checkout creation and management

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/coinsph-checkout-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 email required.

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

OpenAPI Specification

coinsph-checkout-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: TRADING Account Checkout API
  version: 1.0.0
  description: API reference for Account management — Coins.ph
servers:
- url: https://api.pro.coins.ph
  description: Production
- url: https://api.9001.pl-qa.coinsxyz.me
  description: Sandbox
tags:
- name: Checkout
  description: Checkout creation and management
paths:
  /openapi/fiat/v1/checkout/create-checkout:
    post:
      tags:
      - Checkout
      summary: Create Checkout
      description: Create an instance of a checkout.
      operationId: createCheckout
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCheckoutRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/FiatBaseResponse'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/CreateCheckoutResponse'
      parameters:
      - name: recvWindow
        in: query
        required: false
        schema:
          type: integer
          format: int64
        description: Validity duration of the request in milliseconds after the timestamp.
  /openapi/fiat/v1/checkout/status-check:
    get:
      tags:
      - Checkout
      summary: Get Checkout Status
      description: Returns the current status of a previously created checkout.
      operationId: getCheckoutStatus
      parameters:
      - name: checkoutId
        in: query
        required: false
        schema:
          type: string
        description: Server generated checkout id. This takes first priority.
        example: '1984059672474453473'
      - name: refundId
        in: query
        required: false
        schema:
          type: string
        description: Server generated checkout id. This takes first priority.
        example: '1984059672474453473'
      - name: requestId
        in: query
        required: false
        schema:
          type: string
        description: Assigned by the partner. This takes second priority.
        example: 3C1706X9619A7614YWS
      - name: recvWindow
        in: query
        required: false
        schema:
          type: integer
          format: int64
        description: Validity duration of the request in milliseconds after the timestamp.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/FiatBaseResponse'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/CheckoutStatusResponse'
components:
  schemas:
    FiatBaseResponse:
      type: object
      properties:
        status:
          type: integer
          description: 0 = success, non-zero = error code
          example: 0
        error:
          type: string
          example: OK
        params:
          type: object
          nullable: true
    ProductDetail:
      type: object
      required:
      - name
      - type
      - amount
      properties:
        name:
          type: string
          example: iPhone 15 Pro
        type:
          type: string
          enum:
          - retail_goods
          - food_and_beverage
          - transportation
          - utilities_and_bills
          - digital_goods
          - ecommerce_vouchers
          - online_subscriptions
          - mobile_load
          - gaming_and_gambling
          - cash_equivalents
          - high_value_goods
          - others
        quantity:
          type: string
          example: '1'
        code:
          type: string
          example: IPHONE-256GB-BLUE
        desc:
          type: string
          example: iPhone 15 Pro 256GB Blue
        amount:
          type: string
          example: '100.00'
    CreateCheckoutResponse:
      type: object
      properties:
        requestId:
          type: string
        checkoutId:
          type: string
          example: '1984059672474453473'
        checkoutUrl:
          type: string
          description: Redirect URL to the Coins hosted checkout page.
        checkoutDeeplinkUrl:
          type: string
          description: Deep link URL to open the Coins app.
    CheckoutRedirectUrl:
      type: object
      required:
      - defaultUrl
      properties:
        success:
          type: string
          example: https://merchant.example.com/payment/success
        failure:
          type: string
          example: https://merchant.example.com/payment/failure
        cancel:
          type: string
          example: https://merchant.example.com/payment/cancel
        defaultUrl:
          type: string
          example: https://merchant.example.com/payment/default
    CheckoutStatusResponse:
      type: object
      properties:
        checkoutId:
          type: string
        checkoutUrl:
          type: string
          nullable: true
        requestId:
          type: string
        subMerchantId:
          type: string
        merchantName:
          type: string
        subMerchantReqRefNo:
          type: string
        totalAmount:
          type: string
        feeAmount:
          type: string
        status:
          type: string
          enum:
          - PENDING
          - SUCCEEDED
          - FAILED
          - CANCELED
          - EXPIRED
        completedAt:
          type: string
          description: UNIX timestamp of checkout reaching final status.
        errorCode:
          type: string
          nullable: true
        errorMsg:
          type: string
          nullable: true
    CreateCheckoutRequest:
      type: object
      required:
      - requestId
      - totalAmount
      - amount
      - redirectUrl
      - productDetails
      properties:
        requestId:
          type: string
          minLength: 15
          maxLength: 19
        totalAmount:
          type: string
          description: Amount including fees.
          example: '100.12'
        amount:
          type: string
          description: Amount excluding fees.
          example: '100.00'
        feeAmount:
          type: string
          description: Fee amount.
          example: '0.12'
        currency:
          type: string
          example: PHP
        subMerchantId:
          type: string
          maxLength: 64
        subMerchantReqRefNo:
          type: string
          maxLength: 64
        merchantName:
          type: string
          maxLength: 128
        redirectUrl:
          $ref: '#/components/schemas/CheckoutRedirectUrl'
        productDetails:
          type: array
          items:
            $ref: '#/components/schemas/ProductDetail'
        expireSeconds:
          type: string
          description: Seconds before order expires. Range 300-1800, default 1800.
          example: '600'
        remark:
          type: string
          maxLength: 256
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-COINS-APIKEY
x-readme:
  proxy-enabled: false