JPMorgan Chase Global Payments
JPMorgan Chase Global Payments from JPMorgan Chase — 4 path(s) described in OpenAPI.
JPMorgan Chase Global Payments from JPMorgan Chase — 4 path(s) described in OpenAPI.
# Harvested verbatim from the J.P. Morgan Payments Developer Portal.
# method: searched
# source: https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ftreasury%2Fglobal-payments%2Fglobal-payments-2%2Fglobal-payments-2-oas.md
# generated: '2026-07-28'
openapi: 3.0.1
info:
title: Global Payments
description: Initiate, track, and manage payments and payment returns across a wide range of payment
types, including ACH, wires, real-time payments, cards, and digital wallets, so you can automate your
payment workflows and easily retrieve detailed status and transaction information for reconciliation
and reporting.
version: 2.5.2
contact:
name: JPMorgan Chase & Co. API Support
email: imsd.security.operations@jpmorgan.com
url: https://developer.payments.jpmorgan.com/contact/support
license:
name: Contact JPMorgan Chase & Co. API Support for licensing terms.
url: https://developer.payments.jpmorgan.com/contact/support
servers:
- url: https://api.payments.jpmorgan.com/payment/v2
description: PRODUCTION - MTLS
- url: https://api-mock.payments.jpmorgan.com/payment/v2
description: MOCK
- url: https://api-sandbox.payments.jpmorgan.com/payment/v2
description: CLIENT TESTING - MTLS
tags:
- name: Payments
description: API to initiate payments
- name: Payment Returns
description: API to initiate payment returns
paths:
/payments:
summary: Payments Initiation API
description: Initiate and retrieve payments
post:
summary: Initiate Payments
description: 'Initiate Payments
> Mock responses displayed with JOSE are signed and encrypted and may not be human-readable. Use
the JSON toggle to view the underlying mock payload data in a readable format.
>
> Payment Initiation requests must use the `Content-Type: application/jose` header'
tags:
- Payments
operationId: createPayment
parameters:
- $ref: '#/components/parameters/IdempotencyKey'
- $ref: '#/components/parameters/RequestId'
requestBody:
$ref: '#/components/requestBodies/InitiatePayment'
responses:
'200':
$ref: '#/components/responses/200-PaymentInitiationDuplicate'
'201':
$ref: '#/components/responses/201-PaymentInitiationCreated'
'400':
$ref: '#/components/responses/400-BadRequest'
'401':
$ref: '#/components/responses/401-UnAuthorized'
'403':
$ref: '#/components/responses/403-Forbidden'
'422':
$ref: '#/components/responses/422-UnprocessableEntity'
'503':
$ref: '#/components/responses/503-ServiceUnavailable'
callbacks:
paymentEvent:
x-tags:
- Webhooks
webhooks:
post:
summary: Payment Webhooks
operationId: publishWebhook
requestBody:
description: 'Payment Events
| type | description |
|---|---|
| Payment.`Accepted` | Payment instruction initiation has been accepted and will be
processed |
| Payment.`Canceled` | Payment instruction has been canceled by instruction of the customer
|
| Payment.`Rejected` | Payment Instruction has been rejected |
| Payment.`Completed` | Payment Instruction has been fully processed |
| Payment.`Returned` | Payment Returned |
| Payment.`Processing` | Payment Processing |
'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
examples:
Alternate Payments - Push To Card Status:
$ref: '#/components/examples/AlternateP2CPaymentStatusWebhook-CE'
Alternate Payments - Push To Card - TP3 Status:
$ref: '#/components/examples/AlternateP2CTP3PaymentStatusWebhook-CE'
Alternate Payments - Push To Card - TP3 Rejected Status:
$ref: '#/components/examples/AlternateP2CRejectedStatusWebhook-CE'
Alternate Payments - Kinexys Digital Payments (DDA to BDA) Completed Status:
$ref: '#/components/examples/AlternateKinexysDigitalPaymentsDDAtoBDAStatusWebhook-CE'
ACH Batch:
$ref: '#/components/examples/ACHBatch-CE'
responses:
'204':
description: Success - No Content
get:
summary: Query Payments by `endToEndId` or `paymentId`
description: "<!-- theme: success -->\n\n> Query Payments by `endToEndId` or `paymentId`. \n\n>\
\ Optionally, specify `view=FULL` to get an expanded representation for each payment."
tags:
- Payments
operationId: getPayments
parameters:
- $ref: '#/components/parameters/EndToEndId'
- $ref: '#/components/parameters/PaymentIdQuery'
- $ref: '#/components/parameters/View'
- $ref: '#/components/parameters/PaymentType'
- $ref: '#/components/parameters/ViewOnlyRequestId'
responses:
'200':
$ref: '#/components/responses/200-PaymentQueryOK'
'400':
$ref: '#/components/responses/400-BadRequest'
'401':
$ref: '#/components/responses/401-UnAuthorized'
'403':
$ref: '#/components/responses/403-Forbidden'
'404':
$ref: '#/components/responses/404-NotFound'
'503':
$ref: '#/components/responses/503-ServiceUnavailable'
/payments/{paymentId}:
get:
summary: Retrieve Payment by `paymentId`
description: "Retrieves a payment resource by providing the `paymentId`; \noptionally, specify `view=FULL`\
\ to get an expanded representation for the payment."
operationId: getPayment
tags:
- Payments
parameters:
- $ref: '#/components/parameters/PaymentId'
- $ref: '#/components/parameters/View'
- $ref: '#/components/parameters/ViewOnlyRequestId'
responses:
'200':
$ref: '#/components/responses/200-PaymentDetailOK'
'400':
$ref: '#/components/responses/400-BadRequest'
'401':
$ref: '#/components/responses/401-UnAuthorized'
'403':
$ref: '#/components/responses/403-Forbidden'
'404':
$ref: '#/components/responses/404-NotFound'
'503':
$ref: '#/components/responses/503-ServiceUnavailable'
/payments/returns:
summary: Payment Returns API
description: Initiate payment returns
post:
summary: Payment Returns
description: Payment Returns
tags:
- Payment Returns
operationId: createPaymentReturns
parameters:
- $ref: '#/components/parameters/IdempotencyKey'
- $ref: '#/components/parameters/RequestId'
requestBody:
$ref: '#/components/requestBodies/PaymentReturn'
responses:
'200':
$ref: '#/components/responses/200-PaymentReturnDuplicate'
'201':
$ref: '#/components/responses/201-PaymentReturnCreated'
'400':
$ref: '#/components/responses/400-BadRequest'
'401':
$ref: '#/components/responses/401-UnAuthorized'
'403':
$ref: '#/components/responses/403-Forbidden'
'422':
$ref: '#/components/responses/422-UnprocessableEntityPaymentReturns'
'503':
$ref: '#/components/responses/503-ServiceUnavailable'
callbacks:
paymentReturnEvent:
x-tags:
- Webhooks
webhooks:
post:
summary: Payment Return Webhook
operationId: publishReturnWebhook
requestBody:
description: Payment Return Event
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentReturnWebhook'
examples:
RTP - BR PIX Payment Return:
$ref: '#/components/examples/RealTimeBRPIXPaymentReturnWebhook-CE'
responses:
'204':
description: Success - No Content
/payments/returns/{returnId}:
summary: Retrieve payment return
description: Retrieve payment return details using ReturnId
get:
summary: Retrieve Payment Return
description: '<!-- theme: success -->
Retrieve payment return details using ReturnId'
tags:
- Payment Returns
operationId: getPaymentReturn
parameters:
- $ref: '#/components/parameters/ReturnId'
responses:
'200':
$ref: '#/components/responses/200-PaymentReturnOk'
'400':
$ref: '#/components/responses/400-BadRequest'
'401':
$ref: '#/components/responses/401-UnAuthorized'
'403':
$ref: '#/components/responses/403-Forbidden'
'404':
$ref: '#/components/responses/404-NotFound'
'503':
$ref: '#/components/responses/503-ServiceUnavailable'
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
schemas:
EndToEndId:
type: string
title: EndToEndId
minLength: 1
maxLength: 128
x-faker: random.uuid
description: 'Customer assigned Unique identifier to unambiguously identify the Payment transaction.
This identification is passed on, unchanged, throughout the entire end-to-end chain.'
example: AD202109311354152
PaymentId:
title: PaymentId
type: string
minLength: 1
maxLength: 128
description: Unique payment initiation identification number
example: 253f67f3-b640-44cb-aabd-2cc348b52678
View:
type: string
enum:
- SUMMARY
- FULL
default: SUMMARY
PaymentType:
title: PaymentType
type: string
enum:
- RTP
- WIRE
- ACH
- CARD
- VENMO
- PAYPAL
- BLOCKCHAIN
- INTERAC
- ZELLE
- DEFAULT
default: DEFAULT
description: "The type of payment being initiated\n \n**Use**:\n - **RTP** for Realtime Payments\n\
\ - **ACH** for ACH Payments\n - **BLOCKCHAIN** for payments via Kinexys Digital Payments\n\
\ - **WIRE** for Wire Payments\n - **CARD** for Push to Card Payments\n - **VENMO** for Venmo\
\ payments\n - **PAYPAL** for Paypal payments\n - **INTERAC** for Interac Payments\n - **ZELLE**\
\ for Zelle Payments\n - **DEFAULT** for other payments."
RequestId:
type: string
minLength: 1
maxLength: 128
description: Client provided unique identifier for the current request invocation
StandardCodeContext:
title: Standard Code Context
description: Schema representing a standard code context such as ISO or Clearing codes
type: object
required:
- code
- message
- type
properties:
type:
title: CategoryType
type: string
description: 'Category of the error code such as ISO or a Clearing Code (NACHA, BACS etc)
|Category Type | Description
|--------------|-----------------
|**ISO20022** | ISO Codes based on an ISO standard e.g. ISO20022
|**CLEARING_NACHA** | Clearing codes
|**EXTERNAL** | External code sets '
minLength: 2
maxLength: 16
code:
type: string
description: Short code that identifies the error - publicly cataloged and documented
minLength: 2
maxLength: 10
pattern: ^[a-zA-Z0-9]+$
message:
type: string
description: Human readable textual description of the error
minLength: 1
maxLength: 140
AdditionalContext:
title: Additional Context
type: array
description: Additional details about the error based on a standard (e.g. ISO or Clearing codes)
items:
$ref: '#/components/schemas/StandardCodeContext'
minItems: 1
maxItems: 5
ErrorContext:
title: ErrorContext
type: object
required:
- message
properties:
code:
type: string
description: JPMC 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: 140
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-_.()\[\]{}'"\s@=><!?,]+$
additionalContext:
$ref: '#/components/schemas/AdditionalContext'
description: Error Context
ClearingSystem:
type: object
description: Details of the clearing system used to process the payment instruction
title: ClearingSystem
properties:
name:
type: string
description: Name of the clearing system
minLength: 3
maxLength: 10
reference:
type: string
description: A unique reference assigned by the clearing system to unambiguously identify the
instruction
minLength: 1
maxLength: 128
FinancialInstitutionIdType:
type: string
enum:
- BIC
- USABA
- SORT_CODE
- CLEARING_SYSTEM_ID
CreditorFinancialInstitutionId:
type: object
title: CreditorFinancialInstitutionId
description: Creditor Financial InstitutionId
properties:
id:
type: string
minLength: 1
maxLength: 11
description: "**BIC**:\n\nSWIFT BIC. Applicable and Mandatory for RTP markets:\n - Singapore\n\
\ - Malaysia\n\nOptional markets:\n - SEPA Instant\n - Mexico\n\nMandatory for Blockchain(Kinexys)\
\ Payments:\n - US\n - SEPA\n\n**CLEARING_SYSTEM_ID**:\n\nClearing system identifier/member\
\ identifier. Applicable and Mandatory for\nRTP markets:\n\n - UK\n - Australia\n - India\n\
\ - Hong Kong\n - US\n - Brazil\n\n**ACH**: \n - Chile\n - Canada \n\n**WIRE**:\n -\
\ BRAZIL TED"
idType:
$ref: '#/components/schemas/FinancialInstitutionIdType'
branchNumber:
type: string
minLength: 1
maxLength: 5
description: Branch of the bank or financial institution.
required:
- id
- idType
PaymentRedirection:
title: PaymentRedirection
type: object
description: 'Represents details of a payment that has been redirected to another bank account
**Applicable only for UK FPS**'
properties:
accountNumber:
type: string
description: Account number
minLength: 1
maxLength: 8
financialInstitutionIds:
type: array
minItems: 1
maxItems: 1
items:
$ref: '#/components/schemas/CreditorFinancialInstitutionId'
required:
- accountNumber
- financialInstitutionIds
PaymentStatusBasic:
type: object
title: PaymentStatusBasic
description: Representation of the basic payment status
properties:
paymentId:
$ref: '#/components/schemas/PaymentId'
valueDate:
type: string
format: date
description: The value date of the payment in YYYY-MM-DD format
paymentStatus:
type: string
enum:
- RECEIVED
- ACCEPTED
- PROCESSING
- CANCELED
- REJECTED
- COMPLETED
- RETURNED
description: The payment status indicates the current state of the payment
paymentSubStatus:
type: string
description: The payment sub status provides the granular level payment status
enum:
- RECEIVED
- ACCEPTED
- PROCESSING_BY_JPM
- PENDING_CLIENT_ACTION
- PENDING_COMPLIANCE_REVIEW
- PENDING_FRAUD_REVIEW
- PENDING_FUNDING_REVIEW
- PENDING_JPM_REVIEW
- SCHEDULED
- PENDING_POSTING
- CANCELED
- REJECTED
- REJECTED_BY_JPM
- COMPLETED_BY_JPM
- SENT_TO_CLEARING
- DELIVERED_TO_RECIPIENT
- RETURNED
statusUpdatedAt:
type: string
format: date-time
description: 'The last updated date and time of the payment status in ISO 8601 format.
The date & time are expressed in UTC timezone (without offset)'
gpi:
type: object
title: GPIStatus
description: GPI status as provided by SWIFT network
properties:
status:
type: string
minLength: 4
maxLength: 4
description: Specifies the status of a single payment transaction
statusDescription:
type: string
minLength: 1
maxLength: 35
reason:
type: string
minLength: 4
maxLength: 4
description: Provides the reason for a payment status
exceptions:
type: array
minItems: 1
maxItems: 100
items:
$ref: '#/components/schemas/ErrorContext'
clearingSystem:
$ref: '#/components/schemas/ClearingSystem'
paymentRedirection:
$ref: '#/components/schemas/PaymentRedirection'
required:
- paymentId
- paymentStatus
- statusUpdatedAt
TransactionIdentifier:
type: string
minLength: 1
maxLength: 128
title: transactionIdentifier
description: "Unique identification, as assigned by the first instructing agent, to unambiguously\
\ identify the transaction that is passed on, unchanged, throughout the entire interbank chain.\
\ \n\n> This is the Transaction Reference Number (**TRN**) for a **WIRE** payment."
OtherPaymentReferencesReadOnly:
type: object
title: OtherPaymentReferencesReadOnly
description: Other Payment Reference Identifiers
properties:
relatedReferenceId:
type: string
minLength: 1
description: Related reference Identifier, applicable for *ACH* and **WIRES** only.
uetr:
type: string
minLength: 36
maxLength: 36
description: A Unique End-to-end Transaction Reference (commonly known as a UETR) is a string
of 36 unique characters featured in all payment instruction messages carried over SWIFT.
transactionIdentifier:
$ref: '#/components/schemas/TransactionIdentifier'
PaymentIdentifiersReadOnly:
type: object
title: PaymentIdentifiersReadOnly
description: Identifiers associated with the Payment Instruction throughout its lifecycle.
required:
- endToEndId
properties:
endToEndId:
$ref: '#/components/schemas/EndToEndId'
paymentBatchId:
type: string
minLength: 1
description: "JPMC issued batch Id for the payment \n**NOTE: Applicable only for payments batched\
\ by JPMC. i.e ACH**"
achTraceNumber:
type: string
minLength: 1
description: Original ACH transaction JPMC trace number
otherPaymentReferences:
$ref: '#/components/schemas/OtherPaymentReferencesReadOnly'
IsoCurrencyCode:
title: IsoCurrencyCode
type: string
description: ISO 4217 Alpha-3 Currency Code
minLength: 3
maxLength: 3
pattern: ^[A-Z]{3}$
example: AUD
AmountDecimal:
title: PaymentAmountDecimal
type: string
description: A String representation of a (potentially) whole number or decimal positive number.
- Amount should be more than 0.01 with maximum of two decimal places allowed in most markets.
minLength: 1
maxLength: 40
pattern: ^\d+(\.\d+)?$
AmountValue:
description: Instructed Amount Value in a given currency.
title: Amount Value
type: object
required:
- currency
- amount
properties:
currency:
$ref: '#/components/schemas/IsoCurrencyCode'
amount:
$ref: '#/components/schemas/AmountDecimal'
Decimal:
title: Decimal
type: string
description: A String representation of a (potentially) whole number or decimal positive number.
- *Amount should be more than 0.01 with maximum of two decimal places allowed in most markets.*
minLength: 1
maxLength: 40
pattern: ^\d+(\.\d+)?$
EquivalentValue:
title: Equivalent Value
type: object
description: 'Amount of money to be moved between debtor and creditor, before deduction of charges,
expressed in the currency of the debtor''s account, and to be moved in a different currency.
**Usage**: The debtor agent will convert the equivalent amount into the amount to be moved.'
required:
- equivalentAmount
properties:
equivalentAmount:
type: object
title: EquivalentAmount
description: The equivalent amount
properties:
currency:
$ref: '#/components/schemas/IsoCurrencyCode'
amount:
$ref: '#/components/schemas/Decimal'
currencyOfTransfer:
type: string
description: Specifies the currency of the transferred amount, which is different from the
currency of the debtor's account.
minLength: 3
maxLength: 3
pattern: ^[A-Z]{3}$
example: EUR
required:
- currency
- amount
- currencyOfTransfer
PaymentValue:
title: PaymentValue
type: object
description: Payment value
oneOf:
- $ref: '#/components/schemas/AmountValue'
- $ref: '#/components/schemas/EquivalentValue'
TransferType:
title: TransferType
type: string
enum:
- CREDIT
- DEBIT
description: "Indicates the direction of the money movement. The transaction is either a `credit`\
\ push transfer or a direct `debit` pull transfer.\n**Supported values**:-\n | Market/Instrument\
\ | Transfer type \t |\n |----------------------|-----------------|\n | Credit Transfers\
\ | CREDIT |\n | Direct-Debits | DEBIT |"
LocalInstrument:
title: Local Instrument
type: object
description: Specifies a user community specific instrument
properties:
code:
type: string
pattern: ^[-_.A-Z0-9]{2,10}$
description: "Specifies the local instrument, as published in an external local instrument code\
\ list.\n|LocalInstrumentCode | Meaning\n|--------------------|-----------------\n|**SDCL**\
\ | Same Day Clearing\n|**IN** | International Payments\n|**CCD**\
\ | Urgent Payment Net Settlement Corporate Credit or Debit (**CCD**)\n|**IAT**\
\ | Same Day Value International ACH Transactions (**IAT**)\n|**PPD** \
\ | Pre-arranged Payments or Deposit Transfer(**PPD**) \n|**CTX** | Corporate\
\ Trade Exchange\n|**CIE** | Customer Initiated Entry\n|**ARC** |\
\ Accounts Receivable Entry\n|**POP** | Point of Purchase\n|**RCK** \
\ | Re-presented Check Entry\n|**BOC** | Back office Conversion\n|**POS** \
\ | Point of Sale\n|**WEB** | **WEB** Initiated Entry - Used for authorizing\
\ payment over the internet.\n|**TEL** | **TELEPHONE** Initiated Entry - Used\
\ for authorizing payment via telephone.\n\n- For **US ACH**: it is mandatory to include a\
\ 3 character **SEC** code.\n\n> A Standard Entry Class (**SEC**) code is a mandatory three-letter\
\ code that describes how a payment was authorized\nby the consumer or business receiving\
\ an ACH transaction. This is meant to be specified as a localInstructment code for \nACH\
\ transactions."
proprietary:
type: string
pattern: ^[-_.A-Z0-9]{1,35}$
description: Specifies the local instrument, as a proprietary code.
PaymentContext:
title: Payment Context
type: string
description: 'Specifies the context of the payment flow:
- **WIRES** Specific payment context:
|Payment Context | description
|-----------------|-----------------
|**FI** | Financial Instition initiated flow
|**CUSTOMER** | CUSTOMER Initated flow'
enum:
- FI
- CUSTOMER
ClearingSystemClientVersion:
type: object
title: ClearingSystem
description: Clearing system used for the payment. The clearing system is a network that facilitates
the transfer of funds between banks or financial institutions. It acts as an intermediary, ensuring
that transactions are processed securely and efficiently.
properties:
name:
type: string
description: Name of the clearing system
minLength: 3
maxLength: 10
PaymentTypeInformation:
type: object
title: Payment Type information
description: A set of coded elements that further specifies the type of Payment
minProperties: 1
properties:
serviceLevelCode:
type: string
description: 'Specifies an agreed service level under which the payment should be processed
based on a set of pre-defined categories.
|ServiceLevelCode | Meaning
|-----------------|-----------------
|**NURG** | Non Urgent
|**URGP** | Urgent
|**SDVA** | Same Day Value
|**URNS** | Urgent Payment Net Settlement
|**BKTR** | Book'
enum:
- NURG
- SEPA
- SDVA
- URNS
- BKTR
- URGP
localInstrumentCode:
$ref: '#/components/schemas/LocalInstrument'
paymentContext:
$ref: '#/components/schemas/PaymentContext'
clearingSystem:
$ref: '#/components/schemas/ClearingSystemClientVersion'
AccountId:
title: AccountId
type: string
minLength: 1
maxLength: 128
description: "This field captures a regular account number .\n\n**Maximum length supported for different\
\ instruments and markets**:\n\n | Market/Instrument \t| Maximum length limits\
\ |\n |-----------------------------------|---------------------------------------------------------------|\n\
\ | UK FPS \t| 8 (7 digit A/C numbers should be padded with a leading\
\ zero) \t|\n | SGP RTP \t| 35 \
\ \t|\n | AUS RTP \t| 35 \
\ \t|\n | HKG FPS \t| 35 \
\ \t|\n | IND IMPS \t\
| 35 \t|\n | P2C US/CA \
\ \t| 16 \t|\n | BRA PIX\
\ \t| 34 \t\
|\n | MEX SPEI \t| 16 \
\ \t|\n | USA RTP \t| 31 \
\ \t|\n | SEPA Instant \t| 34 (IBAN) \
\ |\n | P2I INTERAC \t| 35 \
\ |\n | Blockchain (Kinexys) Payments \
\ | 34 |\n | Chile ACH \
\ \t| 34 |\n | US ACH\
\ IAT \t| 35 \
\ |\n | US ACH NON-IAT \t| 17 \
\ |\n | CAD ACH \t| 12 \
\ |\n | ACH (BACS) \t| 8 \
\ |\n | ACH (SEPA) \t| 34 (IBAN)\
\ |"
AccountType:
title: AccountType
type: string
enum:
- DDA
- BDA
- CARD
- LOAN
- ODFT
- NREX
- CACC
- SVGS
- CACR
- NROR
- SNRR
- TRAN
- CLABE
- VOSTRO
- IBAN
- BBAN
- DFLT
- SLRY
- EMBEDDED_DDA
- LIMITED_DDA
- WALLET
- VAM
- INTERAC
- PAYPAL
- VENMO
- OTHER
description: "**Mandatory for** :\n - India IMPS\n - Malaysia NPP \n - Brazil RTP (Pay to account\
\ only)\n - Blockchain Payments \n - US ACH (IAT and NON IAT)\n\n**India IMPS**:\n - LOAN - Loan\
\ account\n - ODFT - Overdraft\n - NREX - NonResidentExternal\n - OTHER - For Book and cross\
\ branch with VRN accounts\n - CACC - Cash Credit/Current account\n - DDA - DDA account\n -\
\ SVGS - Savings account\n - CACR - Cash Credit Account\n - NROR - Non-Resident Ordinary Account\n\
\ - SNRR - Special Non-Resident Rupee Account\n\n**SEPA Instant**: IBAN\n\n**Hong Kong RTP**:\
\ BBAN\n\n**Malaysia NPP**:\n - LOAN\n - DFLT\n - SVGS\n - CACC\n\n**Brazil RTP**: \n - CACC\n\
\ - SLRY\n - TRAN\n - SVGS\n\n**Mexico RTP**: \n - CLABE\n - VOSTRO\n - DDA\n\n**Blockchain\
\ Payments**:\n - DDA\n - BDA - Blockchain Deposit Account\n\n**US ACH**: \n - CACC \n - SVGS\
\ \n - LOAN\n\nOptional for:\n - CAD ACH\n\n**Not supported for**:\n- US RTP\n- Alternate Payments\
\ (Wallet, Cards)"
PrimaryAccountDetails:
type: object
title: Primary Account Details
description: Account Details
required:
- accountNumber
properties:
accountNumber:
$ref: '#/components/schemas/AccountId'
accountType:
$ref: '#/components/schemas/AccountType'
accountCurrency:
$ref: '#/components/schemas/IsoCurrencyCode'
companyId:
type: string
description: Applicable to ACH Payments. Special reference on certain payment types for returns
routing.
minLength: 1
maxLength: 35
AlternateAccountIdentifier:
title: AlternateAccountIdentifier
type: object
description: "- Alternate Account Identifier eg. email, program id, proprietary.\n\n- Mandatory\
\ for **Push To Card**:\n - Use program id while specifying the identifier for debtor details\n\
\n- Each
# --- truncated at 32 KB (214 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/jp-morgan-chase/refs/heads/main/openapi/jp-morgan-chase-global-payments-openapi.yml