JPMorgan Chase Payment Request - Bulk API

Manage Payment Requests in Bulk

Operations 3

POST /payment-requests/bulk Create Bulk Payment Requests #
GET /payment-requests/bulk/{id} Retrieve Bulk Payment Request Details #
PUT /payment-requests/bulk/{id} Update bulk payment request details #

Documentation

📖
Documentation
https://developer.payments.jpmorgan.com/api
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fembedded-finance-solutions%2Fembedded-payments%2Fonboarding-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Fconsumer-profile%2Fconsumer-profile-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Ftokenization%2Ftokenization-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Freporting%2Freporting-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ftreasury%2Freceivables%2Frequest-to-pay-api.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Fonline-payments%2Fcheckout%2Fcheckout-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Fdispute-management%2Fdispute-management-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ffraud-solutions%2Falerts-and-decisioning%2Foas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Fproduct-configuration%2Fproduct-configuration-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2F3-d-secure%2F3-d-secure-1.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Faccount-updater%2Faccount-updater-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ftreasury%2Fglobal-payments%2Fglobal-payments%2Fglobal-payments-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fliquidity-account-solutions%2Fbda-balances%2Faccounts-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ffraud-solutions%2Fvalidation-services%2Fvalidation-services-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Fwallet-decryption%2Fwallet-decryption-oas.md

Specifications

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/jp-morgan-chase-payment-request-bulk-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

jp-morgan-chase-payment-request-bulk-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Request to Pay via QR Code Payment Request - Bulk API
  version: 1.4.4
  description: 'Streamline your digital payment experience to create, update, and manage payment requests and payment links, letting your customers pay instantly via shareable QR codes or payment URLs. You can easily track payment status, retrieve payment details, and handle bulk requests, all while integrating with your customers’ financial institutions for secure, real-time transactions.

    '
  contact:
    name: JPMorgan Chase & Co. API Support
    email: imsd.security.operations@jpmorgan.com
    url: https://apistore.jpmchase.net/support/contact
  license:
    name: Contact JPMorgan Chase & Co. API Support for licensing terms.
    url: https://apistore.jpmchase.net/support/contact
servers:
- url: https://api.payments.jpmorgan.com/receivables/request-to-pay/v1
  description: PRODUCTION - MTLS
- url: https://api-cat.payments.jpmorgan.com/receivables/request-to-pay/v1
  description: CLIENT TESTING - MTLS
- url: https://api-mock.payments.jpmorgan.com/receivables/request-to-pay/v1
  description: MOCK
tags:
- name: Payment Request - Bulk
  description: Manage Payment Requests in Bulk
paths:
  /payment-requests/bulk:
    post:
      summary: Create Bulk Payment Requests
      operationId: createPaymentRequests
      description: '**Creates one or more Payment Requests asynchronously based on the payment request

        details provided**


        |Market                     |Description                                                        |

        |:--------------------------|:------------------------------------------------------------------|

        |Brazil                     |Applicable only for Dynamic Due Date QR Codes                       |

        |Singapore                  |Does not Apply                               |'
      tags:
      - Payment Request - Bulk
      parameters:
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        $ref: '#/components/requestBodies/PaymentRequestBulkCreate'
      responses:
        '202':
          $ref: '#/components/responses/202-BulkResponse'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '429':
          $ref: '#/components/responses/429-TooManyRequests'
        '503':
          $ref: '#/components/responses/503-ServiceUnavailable'
  /payment-requests/bulk/{id}:
    get:
      summary: Retrieve Bulk Payment Request Details
      description: '**Retrieves the Bulk Payment Request details using the Bulk Payment Request Id**


        |Market     |Description                                                                        |

        |:--------------------------|:------------------------------------------------------------------|

        |Brazil                     |Uses Payment Request Id for Static and Dynamic Requests            |

        |Singapore                  |Does not Apply            |

        '
      tags:
      - Payment Request - Bulk
      operationId: retrievePaymentRequestBulk
      parameters:
      - $ref: '#/components/parameters/BulkId'
      responses:
        '200':
          $ref: '#/components/responses/200-BulkPaymentRequestDetails'
        '400':
          $ref: '#/components/responses/400-BadRequest-GET-Entity'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '429':
          $ref: '#/components/responses/429-TooManyRequests'
        '503':
          $ref: '#/components/responses/503-ServiceUnavailable'
    put:
      summary: Update bulk payment request details
      description: "**Updates the Bulk Payment Request details using the Bulk Payment Request Id** \n\n|Market     |Description                                                                        |\n|:--------------------------|:------------------------------------------------------------------|\n|Brazil                     |Uses Payment Request Id for Static and Dynamic Requests            |\n|Singapore                  |Does not Apply                                                     |   \n"
      tags:
      - Payment Request - Bulk
      operationId: updatePaymentRequestBulk
      parameters:
      - $ref: '#/components/parameters/BulkId'
      - $ref: '#/components/parameters/IfMatch'
      requestBody:
        $ref: '#/components/requestBodies/PaymentRequestBulkUpdate'
      responses:
        '202':
          $ref: '#/components/responses/202-BulkResponse'
        '400':
          $ref: '#/components/responses/400-BadRequest-GET-Entity'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '405':
          $ref: '#/components/responses/405-MethodNotAllowed'
        '429':
          $ref: '#/components/responses/429-TooManyRequests'
        '503':
          $ref: '#/components/responses/503-ServiceUnavailable'
components:
  schemas:
    ExpirationType:
      title: ExpirationType
      description: 'Payment request expiration type

        |Markets                     |Description                                                        |

        |:--------------------------|:------------------------------------------------------------------|

        |Brazil                     |IMMEDIATE, DUE-DATE apply for Dynamic QR Codes                |

        |Singapore                  |Provide SCHEDULED if expiry date/time is provided in expiresAt. Mandatory for Dynamic QR. Optional for Static QR.                             |

        |Hong Kong                  |Provide SCHEDULED if expiry date/time is provided in expiresAt. Mandatory for Dynamic QR. Not supported for Static QR. |'
      type: string
      enum:
      - IMMEDIATE
      - DUE_DATE
      - SCHEDULED
    RequestMethodType:
      title: RequestMethodType
      description: "Payment Request method type \n\n| Value  | Description                                    |\n|:-----  |:-----------------------------------------------|\n|NONE    |QR code not required                            |\n|QR_CODE |Generate QR Code and associate to payment request|"
      type: string
      enum:
      - NONE
      - QR_CODE
    ErrorContext:
      title: ErrorContext
      type: object
      required:
      - message
      properties:
        code:
          type: string
          description: JPM Short code that identifies the error - publicly cataloged and documented
          minLength: 5
          maxLength: 5
          pattern: ^[0-9]+
        message:
          type: string
          description: Human readable textual description of the error
          minLength: 1
          maxLength: 99
        location:
          type: string
          title: The component of the request impacted, can either be 'body', 'query', 'header', or 'path'
          description: The location of the error occurred in the request
          minLength: 1
          maxLength: 99
          enum:
          - BODY
          - PATH
          - QUERY
          - HEADER
        field:
          type: string
          description: The field which caused the error. Where the location of the error occurred is BODY, the field would contain the JSON Path expression
          minLength: 1
          maxLength: 99
          pattern: ^\$?[0-9a-zA-Z-_.()\[\]{}]+$
      description: Error Context
    UnstructuredInformation:
      type: object
      title: UnstructuredInformation
      description: Unstructured information about request
      properties:
        valueType:
          type: string
          description: Information type
          maxLength: 50
        text:
          type: string
          description: Information text
          maxLength: 200
    ISOCurrencyCode:
      title: ISOCurrencyCode
      type: string
      description: 'ISO 4217 Alpha-3 Currency Code


        |Markets     |Currency ISO Code     |Description                                                       |

        |:----------|:--------------------|:------------------------------------------------------------------|

        |Brazil     |BRL                     |ISO Currency Code for the Market, Mandatory |

        |Singapore  |SGD                     |ISO Currency Code for the Market, Mandatory |

        |Hong Kong   |HKD, CNY                     |ISO Currency Code for the Market, Mandatory |'
      minLength: 3
      maxLength: 3
      pattern: ^[A-Z]{3}$
      example: AUD
    BulkStatus:
      title: BulkStatus
      description: Bulk Request Status
      type: object
      properties:
        refreshedAt:
          type: string
          format: date-time
          description: Bulk request status refreshed time stamp. Format - `YYYY-MM-DDThh:mm:ss`+/-time offset to UTC
        details:
          description: Details of Payment Request generation status
          type: array
          minItems: 1
          maxItems: 25
          items:
            $ref: '#/components/schemas/QRCodeGenerationStatus'
    IdempotencyKey:
      title: Idempotency Key
      description: A unique string that enables API support idempotency by safely retrying requests without accidentally performing the same operation twice
      type: string
      minLength: 36
      maxLength: 36
      pattern: ^[-_.a-zA-Z0-9]{36}$
      example: 1b036f9c-8c84-4ce6-b1dd-5979472945a1
    BulkPaymentRequest:
      title: BulkPaymentRequest
      description: Bulk Payment Request details
      allOf:
      - $ref: '#/components/schemas/BulkPaymentRequestBasic'
      - $ref: '#/components/schemas/BulkStatus'
    Amount:
      title: Amount
      type: string
      minLength: 3
      maxLength: 18
      pattern: ^(\d{1,15})\.(\d{2})$
      example: '10.50'
      description: The value representation of a monetary amount. The amount value should be more than 0.01 with maximum of two decimal places allowed.
    BulkPaymentRequestBasic:
      title: BulkPaymentRequestBasic
      description: Bulk Payment Request basic details
      type: object
      properties:
        id:
          $ref: '#/components/schemas/PaymentRequestBulkId'
        description:
          type: string
          description: Client provided description for Bulk Payment Requests
          minLength: 1
          maxLength: 250
        createdAt:
          type: string
          format: date-time
          description: Bulk request created time stamp. Format - `YYYY-MM-DDThh:mm:ss`+/-time offset to UTC
        updatedAt:
          type: string
          format: date-time
          description: Bulk request updated time stamp. Format - `YYYY-MM-DDThh:mm:ss`+/-time offset to UTC
    PaymentRequestBulkId:
      title: id
      type: string
      description: Unique Bulk Payment Requests identifier generated by JPM
      minLength: 32
      maxLength: 36
      example: 253f67f3-b640-44cb-aabd-2cc348b52678
    ValueType:
      title: ValueType
      description: 'Value type either as fixed amount or percentage of original amount

        |Markets                     |Description                                                        |

        |:--------------------------|:------------------------------------------------------------------|

        |Brazil                     |Applicable only for Dynamic QR Codes with due date expiration      |

        |Singapore,<br>Hong&nbsp;Kong                  |Does not apply           |'
      type: string
      enum:
      - NOT_APPLICABLE
      - FIXED_AMOUNT
      - PERCENTAGE
    Email:
      title: Email
      type: object
      description: Representation of an email
      properties:
        address:
          type: string
          description: 'The email address


            |Markets                     |Description                                                            |

            |:--------------------------|:----------------------------------------------------------------------|

            |Brazil                     |<ul><li>`Debtor` : Applicable for Dynamic QR Codes with due date expiration</li></ul>|

            |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |

            '
        type:
          description: 'The email type


            |Markets                     |Description                                                            |

            |:--------------------------|:----------------------------------------------------------------------|

            |Brazil                     |<ul><li>`Debtor` : Applicable only for Dynamic QR Codes with due date expiration</li></ul>|

            |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |

            '
          type: string
          default: PRIMARY
          enum:
          - PRIMARY
          - SECONDARY
          - OTHER
          - UNKNOWN
    UnstructuredAddress:
      type: array
      description: "Unstructured Address\n\n  |Markets                     |Description                                                            |\n  |:--------------------------|:----------------------------------------------------------------------|\n  |Brazil                     |<ul><li>`Debtor`: Applicable for Dynamic QR Codes with due date expiration</li><li>`Creditor`: Applicable only for Dynamic QR Codes</li></ul>|\n  |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |\n"
      minItems: 1
      maxItems: 7
      items:
        type: string
        minLength: 1
        maxLength: 70
    Discount:
      title: Discount
      description: "Parameters to calculate discount based on actual payments \n\n|Markets                     |Description                                                            |\n|:--------------------------|:----------------------------------------------------------------------|\n|Brazil                     |Applicable for Dynamic QR Codes with due date expiration |\n|Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                         |\n"
      type: object
      properties:
        days:
          description: Days to consider for discount calculation
          type: string
          enum:
          - CALENDAR_DAYS
          - BUSINESS_DAYS
        cutOffDetails:
          description: For discount type is FIXED_TO_DATE or PERCENTAGE_TO_DATE, up to 3 cut-off days and amounts/percentages for each cut-off date can be provided
          type: array
          items:
            $ref: '#/components/schemas/CutOffItem'
          minItems: 0
          maxItems: 3
        percentage:
          description: "Discount expressed as percentage. Applicable for discount type \"ADVANCE_PAYMENT\" or \"PAYMENT_TO_DUE_PERCENTAGE\"\n  ** Note: Discount can be specified either as percentage or amount\n"
          $ref: '#/components/schemas/Percentage'
        amount:
          description: 'Discount expressed as fixed amount. Applicable for discount type "ADVANCE_PAYMENT" or "PAYMENT_TO_DUE_PERCENTAGE"

            ** Note: Discount can be specified either as percentage or amount

            '
          $ref: '#/components/schemas/Amount'
    Duration:
      description: 'Specify how long (in seconds) the request is valid. ISO 8601 compliant duration.

        E.g., a validity of 5 minutes will be represented as 300. If duration unspecified,

        a default duration of 86400 seconds (i.e 24 hours) will be considered


        |Markets                     |Description                                                        |

        |:--------------------------|:------------------------------------------------------------------|

        |Brazil                     |Applicable and mandatory only for Dynamic - IMMEDIATE QR Codes     |

        |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply.    |'
      type: integer
      format: int32
      minimum: 0
      maximum: 999999
    Interest:
      title: Interest
      description: "Parameters to calculate interest for the payments overdue \n\n|Markets                     |Description                                                            |\n|:--------------------------|:----------------------------------------------------------------------|\n|Brazil                     |Applicable Dynamic QR Codes with due date expiration |\n|Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |"
      type: object
      properties:
        days:
          description: Days to consider for interest calculation
          type: string
          enum:
          - CALENDAR_DAYS
          - BUSINESS_DAYS
        amount:
          description: Fixed interest amount. Applicable for interest type is 'AMOUNT'
          $ref: '#/components/schemas/Amount'
        percentage:
          description: Interest percentage. Applicable for interest type expressed as percentage
          $ref: '#/components/schemas/Percentage'
    InterestType:
      description: 'Interest type


        |Markets                     |Description                                                            |

        |:--------------------------|:----------------------------------------------------------------------|

        |Brazil                     |Applicable only for Dynamic - Due Date QR Codes|

        |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |


        |Value               |Description                                                                             |

        |:-------------------|:---------------------------------------------------------------------------------------|

        |NOT_APPLICABLE      |Interest not applicable                                                                 |

        |AMOUNT              |Fixed Amount of interest                                                                |

        |PERCENTAGE_PER_DAY  |Rate of Interest / day                                                                  |

        |PERCENTAGE_PER_MONTH|Rate of Interest / month                                                                |

        |PERCENTAGE_PER_YEAR |Rate of Interest / year                                                                 |'
      type: string
      enum:
      - NOT_APPLICABLE
      - AMOUNT
      - PERCENTAGE_PER_DAY
      - PERCENTAGE_PER_MONTH
      - PERCENTAGE_PER_YEAR
    ETag:
      description: Entity tag that uniquely represents the requested resource represented as string of ASCII characters placed between double quotes e.g., "675af34563dc-tr34". With the help of the ETag and the If-Match headers, mid-air edit collisions can be handled efficiently when updating the resource.
      type: string
      minLength: 0
      maxLength: 128
    Penalty:
      title: Penalty
      description: 'Penalty details expressed as a fixed value or percentage of payment amount


        |Markets                     |Description                                                            |

        |:--------------------------|:----------------------------------------------------------------------|

        |Brazil                     |Applicable for Dynamic QR Codes with due date expiration |

        |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |'
      type: object
      properties:
        amount:
          $ref: '#/components/schemas/Amount'
        percentage:
          $ref: '#/components/schemas/Percentage'
    Error:
      type: object
      title: Error
      description: Common error model
      properties:
        title:
          type: string
          title: Short humanly-readable title of the error
          minLength: 1
          maxLength: 100
        httpStatus:
          type: integer
          default: 400
          title: ' HTTP Status Code'
        traceId:
          type: string
          title: JPM Assigned traced identifier
        requestId:
          type: string
          title: The 'client originated' requestId
        context:
          type: array
          title: Provides additional context and detail on the validation errors
          items:
            $ref: '#/components/schemas/ErrorContext'
          minItems: 0
          maxItems: 100
      required:
      - title
      readOnly: true
    QRCodeGenerationStatus:
      title: QRCodeGenerationStatus
      description: Representation of QR Code generation status
      type: object
      properties:
        id:
          $ref: '#/components/schemas/PaymentRequestId'
        status:
          type: string
          description: Status for QR code generation
          enum:
          - PENDING
          - SUCCESS
          - FAILED
        exceptions:
          description: Exceptions, if any
          type: array
          minItems: 0
          maxItems: 25
          items:
            $ref: '#/components/schemas/ErrorContext'
    Debtor:
      type: object
      title: Debtor
      description: 'The person or an entity that pays for the goods or services purchased '
      properties:
        name:
          type: string
          description: 'Debtor name


            |Markets                     |Description                                                           |

            |:--------------------------|:---------------------------------------------------------------------|

            |Brazil                     |Up to 200 chars. Applicable only for Dynamic QR Codes. Mandatory for due date QR code|

            |Singapore,<br>Hong&nbsp;Kong       |Does not Apply                                                        |

            '
          maxLength: 500
        address:
          description: 'Debtor address


            |Markets                     |Description                                                            |

            |:--------------------------|:----------------------------------------------------------------------|

            |Brazil                     |Applicable Dynamic QR Codes. |

            |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |

            '
          allOf:
          - $ref: '#/components/schemas/Address'
        email:
          description: 'Debtor email address


            |Markets                     |Description                                                            |

            |:--------------------------|:----------------------------------------------------------------------|

            |Brazil                     |Applicable for Dynamic QR Codes with due date expiration |

            |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |

            '
          $ref: '#/components/schemas/Email'
        taxInformation:
          $ref: '#/components/schemas/DebtorTaxInformation'
    SchemeName:
      title: Scheme Name
      description: Specifies the type of Proxy account. Mandatory if alternateAccountIdentifier is present
      type: object
      properties:
        proprietary:
          description: "Proprietary types applicable per market and instrument:\n\n- **Brazil**:\n  - **CPF** - Tax ID of Individual\n  - **CNPJ** - Tax ID of Corporate\n  - **EVP** - Random Key\n  - **EMAL** - Email id \n  - **MOBN** - Mobile number\n- **Singapore**: \n  - **UEN** - Unique Entity Number\n- **Hong Kong**:\n  - **SVID** - FPS Identifier\n  - **MOBN** - Mobile ntrumber\n  - **EMAL** - Email id"
          type: string
          enum:
          - CPF
          - CNPJ
          - EVP
          - EMAL
          - MOBN
          - MSIDN
          - UEN
          - VPA
          - NRIC
          - SVID
    DiscountType:
      description: 'Discount type

        |Markets                     |Description                                                            |

        |:--------------------------|:----------------------------------------------------------------------|

        |Brazil                     |Applicable only for Dynamic - Due Date QR Codes |

        |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |


        |Value                |Description                                                                            |

        |:--------------------------|:--------------------------------------------------------------------------------|

        |NOT_APPLICABLE             |Discount not applicable                                                          |

        |FIXED_TO_DATE              |Fixed Amount until the cut off  date                                             |

        |PERCENTAGE_TO_DATE         |Percentage up to the cut off date                                                |

        |FIXED_ADVANCE_PAYMENT      |Payment in Advance ( based on days - Calender /  Business Days)                  |

        |PERCENTAGE_ADVANCE_PAYMENT |Percentage of advance payment ( based on  days - Calender / Business Days)       |'
      type: string
      enum:
      - NOT_APPLICABLE
      - FIXED_TO_DATE
      - PERCENTAGE_TO_DATE
      - FIXED_ADVANCE_PAYMENT
      - PERCENTAGE_ADVANCE_PAYMENT
    Address:
      title: Address
      type: object
      description: Representation of an address
      minProperties: 1
      properties:
        type:
          type: string
          description: 'Address type

            |Value  |Description        |

            |:------|:------------------|

            |ADDR   |Legal Address     |

            |BIZZ   |Business Address  |

            |DLVY   |Delivery Address  |

            |HOME   |Home Address      |

            |MLTO   |Mailing Address   |

            |PBOX   |PO Box Address    |


            |Markets                     |Description                                                            |

            |:--------------------------|:----------------------------------------------------------------------|

            |Brazil                     |<ul><li>`Debtor`: Optional</li><li>`Creditor`: Applicable only for Dynamic QR Codes</li></ul>|

            |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |

            '
          enum:
          - ADDR
          - BIZZ
          - DLVY
          - HOME
          - MLTO
          - PBOX
          default: ADDR
        addressLines:
          $ref: '#/components/schemas/UnstructuredAddress'
        city:
          description: '|Markets                     |Description                                                            |

            |:--------------------------|:----------------------------------------------------------------------|

            |Brazil                     |<ul><li>`Debtor` : Applicable for Dynamic QR Codes with due date expiration</li><li>`Creditor`: Applicable for Static and Dynamic QR Codes. Maximum of 15 characters allowed.</li></ul>|

            |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |

            '
          type: string
          minLength: 1
          maxLength: 200
        state:
          description: '|Markets                     |Description                                                            |

            |:--------------------------|:----------------------------------------------------------------------|

            |Brazil                     |<ul><li>`Debtor` : Applicable for Dynamic QR Codes with due date expiration</li><li>`Creditor`: Applicable only Dynamic QR Codes</li></ul>|

            |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |

            '
          type: string
          minLength: 1
          maxLength: 100
        postalCode:
          description: '|Markets                     |Description                                                            |

            |:--------------------------|:----------------------------------------------------------------------|

            |Brazil                     |<ul><li>`Debtor` : Applicable for Dynamic QR Codes with due date expiration</li><li>`Creditor`: Applicable only Dynamic QR Codes</li></ul>|

            |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |

            '
          type: string
          minLength: 1
          maxLength: 20
        country:
          description: 'ISO Country Code.


            "**Note** : Country cannot be changed after request created"

            |Markets                     |Description                                                            |

            |:--------------------------|:----------------------------------------------------------------------|

            |Brazil                     |<ul><li>`Debtor` : Optional</li><li>`Creditor`: Applicable for Static and Dynamic QR Codes</li></ul>|

            |Singapore,<br>Hong&nbsp;Kong                  |Does not Apply                                                        |

            '
          allOf:
          - $ref: '#/components/schemas/ISOCountryCode'
    AlternateAccountIdentifier:
      title: AlternateAccountIdentifier
      type: string
      description: 'Alternate account identifier based on the scheme


        |Markets                     |Description                                                        |

        |:--------------------------|:------------------------------------------------------------------|

        |Brazil                     |<ul><li>Maximum supported length is 77 characters.</li><li>CPF - Up to 11 chars. Only numbers allowed</li><li>CNPJ - Up to 14 chars. Only numbers allowed</li><li>EVP - Up to 32 chars. Supported regex pattern: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} </li><li>MOBN - Up to 15 chars. </li></ul>                               |

        |Singapore                  |UEN - Up to 21 chars.                                              |

        |Hong&nbsp;Kong                   |Maximum Supported length is 34 characters.                                              |

        '
      minLength: 0
      maxLength: 128
    Reference:
      title: Reference
      type: string
      description: 'Text to be presented to the payer so that payer can enter related

        information in free format, to be sent to the recipient.


        |Markets                     |Description                                                                        |

        |:--------------------------|:----------------------------------------------------------------------------------|

        |Brazil                     |Maximum length of 140 characters allowed                                           |

        |Singapore,<br>Hong&nbsp;Kong                  |Does Not Apply                                           |'
      minLength: 0
      maxLength: 200
    Percentage:
      description: The value representation of a percentage. The percentage value should be between 0.01 and 99.99 with maximum of two decimal places allowed
      type: string
      minLength: 3
      maxLength: 5
      pattern: ^(\d{1,2})\.(\d{2})$
      example: '10.50'
    PaymentRequest:
      title: PaymentRequest
      description: Payment Request details
      type: object
      required:
      - creditor
      properties:
        debtor:
          $ref: '#/components/schemas/Debtor'
        creditor:
          $ref: '#/components/schemas/Creditor'
        expirationType:
          $ref: '#/components/schemas/ExpirationType'
        paymentDueDate:
          type: string
          format: date
          description: 'Payment Due Date. Format - `YYYY-MM-DD`

            |Markets                     |Description                                                        |

            |:--------------------------|:------------------------------------------------------------------|

            |Brazil                     |Applicable and mandatory only for Dynamic - Due Date

# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/jp-morgan-chase/refs/heads/main/openapi/jp-morgan-chase-payment-request-bulk-api-openapi.yml