> ## Documentation Index
> Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Validate before starting a payment

> Completes the check a pay method requires before its payment sheet can open. Apple Pay is the only one today: acquiring verifies the merchant domain and forwards the validation to Payment, which holds the Apple certificate and exchanges it for a merchant session.



## OpenAPI

````yaml /api-reference/openapi.json post /web/v1/session/validate
openapi: 3.1.0
info:
  title: acquiring-order
  description: 接口文档
  termsOfService: https://www.waffo.com
  version: 1.0.0
servers:
  - url: https://waffo.com
    description: Sandbox API (auto-signed via waffo.com signing proxy)
security: []
tags:
  - name: Subscription inquiry
    description: Subscription inquiry api description
  - name: Subscription manage
    description: >
      This API allows the merchant to request a subscription management URL from
      Waffo

      Waffo will generate a subscription management URL which merchant can
      redirect user to this URL for managing subscription details (e.g. view
      subscription detail and cancel subscription). This management URL has a
      fixed expiration time (e.g., 1 day).
  - name: Subscription change inquiry
    description: >
      This API allows merchants to query the status of a subscription change
      (upgrade/downgrade) request.

      此接口允许商户查询订阅升降级请求的状态。
  - name: Subscription resume
    description: >
      Revoke a scheduled cancellation before it takes effect, so that the
      subscription keeps renewing. The next billing date stays unchanged.
  - name: Subscription update
    description: ' Subscription update api description'
  - name: Payment session update
    description: Payment session update api description
  - name: Order inquiry
    description: Order inquiry api description
  - name: Payout inquiry
    description: Payout inquiry api description
  - name: Order create
    description: ' Order create api description'
  - name: Pay Method Config Inquiry
    description: Pay Method Config Inquiry api description
  - name: Payment session create
    description: Payment session create api description
  - name: Order cancel
    description: Order cancel api description
  - name: Order capture
    description: Order capture api description
  - name: Subscription session create
    description: Subscription session create api description
  - name: Chargeback list
    description: Chargeback list api description
  - name: Payout create
    description: Payout create api description
  - name: Subscription session update
    description: Subscription session update api description
  - name: Payment session confirm
    description: Payment session confirm api description
  - name: Payment session validate
    description: Payment session validate api description
  - name: Payment session info
    description: Payment session info api description
  - name: Chargeback file download
    description: Chargeback file download api description
  - name: Subscription change
    description: >
      This API allows merchants to upgrade or downgrade a user's subscription
      plan. The change request will create a new subscription based on the
      original subscription, applying any remaining amount from the original
      subscription.


      此接口允许商户升级或降级用户的订阅计划。升降级请求将基于原订阅创建新订阅，并将原订阅的剩余金额应用到新订阅中。
  - name: Chargeback accept
    description: Chargeback accept api description
  - name: Chargeback file upload
    description: Chargeback file upload api description
  - name: Chargeback update
    description: Chargeback update api description
  - name: Wallet inquiry
    description: Wallet inquiry api description
  - name: Order refund
    description: Order refund api description
  - name: Refund inquiry
    description: Refund inquiry api description
  - name: Subscription cancel
    description: >
      Cancel an active subscription when the merchant no longer wishes to
      continue the recurring billing cycle. This endpoint can only be invoked
      when the subscription status is active
  - name: Merchant config inquiry
    description: Merchant config inquiry api description
  - name: Chargeback inquiry
    description: Chargeback inquiry api description
  - name: Subscription create
    description: Subscription create api description
  - name: Reported Fraud list
    description: Reported Fraud list api description
paths:
  /web/v1/session/validate:
    post:
      tags:
        - Payment session validate
      summary: Validate before starting a payment
      description: >-
        Completes the check a pay method requires before its payment sheet can
        open. Apple Pay is the only one today: acquiring verifies the merchant
        domain and forwards the validation to Payment, which holds the Apple
        certificate and exchanges it for a merchant session.
      operationId: sessionValidate
      parameters:
        - name: x-sign-verified-mid
          in: header
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SessionValidateRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ResponseString'
components:
  schemas:
    SessionValidateRequest:
      type: object
      properties:
        sessionId:
          type: string
          description: Payment session id returned by the session create api.
          minLength: 1
        payMethodType:
          type: string
          description: >-
            Pay method type to validate. Only APPLEPAY needs pre-payment
            validation for now.
          minLength: 1
        validationUrl:
          type: string
          description: Validation url handed out by Apple Pay on the shopper browser.
          minLength: 1
        merchantDomain:
          type: string
          description: >-
            Domain of the merchant page showing the Apple Pay button; it must be
            registered for this merchant.
          minLength: 1
      required:
        - merchantDomain
        - payMethodType
        - sessionId
        - validationUrl
    ResponseString:
      type: object
      description: response data
      properties:
        code:
          type: string
          example: 0
        msg:
          type: string
          example: success
        data:
          type: string

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.