Reference
shared.services.payment_providers.jpmorgan.entities ¶
JPMorganAccountType ¶
JPMorganBusinessAccountConfig
dataclass
¶
JPMorganBusinessAccountConfig(
base_url,
account_id,
debtor_agent_bic,
signature_private_key,
signature_private_key_secret_name,
transport_public_certificate,
transport_public_certificate_secret_name,
transport_private_key,
transport_private_key_secret_name,
)
transport_public_certificate_secret_name
instance-attribute
¶
shared.services.payment_providers.jpmorgan.errors ¶
JPMorganBadRequestError ¶
Bases: JPMorganError
Our request was not formatted correctly, maybe their API has evolved or we have missed something
List of Error codes and Rule definitions.¶
| Error Code | Rule Definition |
|---|---|
10001 |
Mandatory field is missing or invalid |
10002 |
Minimum length validation failure |
10003 |
Maximum length validation failure |
10004 |
Date validation failure |
10005 |
Amount validation failure ~ value more than maximum |
10006 |
Amount validation failure ~ value less than minimum |
10007 |
Amount validation failure ~ value is not a number |
10008 |
Validation failure ~ unexpected value provided |
10009 |
Invalid Id provided |
10010 |
Personal information validation failure |
12000 |
System error |
13000 |
Uncategorized error |
errorDescription is dynamically generated, hence not shown here.
Standard API Gateway Error codes and descriptions¶
| Error Code | Description |
|---|---|
GCA-023 |
Please re-send request in valid format |
GCA-030 |
API Processing Error |
GCA-148 |
debtor Account id must be provided |
GCA-149 |
debtorAgent bic or clearingSystemId must be provided |
GCA-150 |
debtor account id/bic was not found |
GCA-154 |
Mandatory field paymentType is invalid or missing |
Source code in shared/services/payment_providers/jpmorgan/errors.py
JPMorganError ¶
Bases: Exception
A generic JPMorgan exception we should handle
Source code in shared/services/payment_providers/jpmorgan/errors.py
JPMorganForbiddenError ¶
Bases: JPMorganError
We get a 403, for one of the below reasons
| Error Code | Description |
|----------- |-------------------------------------------|
| GCA-001 |Client is not eligible for the API Service |
| GCA-003 |Client is not eligible for the API Service |
| GCA-145 |incorrect originator account id provided |
| GCA-150 |debtor account id/bic was not found |
Source code in shared/services/payment_providers/jpmorgan/errors.py
JPMorganInternalError ¶
Bases: JPMorganError
JPMorgan issue, we can't act on it
Source code in shared/services/payment_providers/jpmorgan/errors.py
JPMorganNotFoundError ¶
Bases: JPMorganError
Resource does not exist on JPMorgan, it is up to us to decide whether we take this error into account or not
Source code in shared/services/payment_providers/jpmorgan/errors.py
shared.services.payment_providers.jpmorgan.helpers ¶
get_jpmorgan_config_from_business_account_name ¶
Source code in shared/services/payment_providers/jpmorgan/helpers.py
shared.services.payment_providers.jpmorgan.jpmorgan_global_payments_api_client ¶
ConfiguredResponse
module-attribute
¶
JPMorganApiProtocol ¶
Bases: Protocol
Protocol for JPMorgan API implementations (real and stubbed).
get_payment ¶
Source code in shared/services/payment_providers/jpmorgan/jpmorgan_global_payments_api_client.py
JPMorganGlobalPaymentsApiClient ¶
This class wraps the JPMorgan Treasury API and provides a single point of entry for all JPMorgan API calls.
Implements the following Nullable patterns: - Nullables: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#nullables ⧉ - Parameterless instantiation: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#instantiation ⧉ - Thin wrapper: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#thin-wrapper ⧉ - Embedded stub: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉
See also
Source code in shared/services/payment_providers/jpmorgan/jpmorgan_global_payments_api_client.py
RealApi ¶
Bases: JPMorganApiProtocol
API client that calls the real JPMorgan API.
See the authentication documentation here: https://developer.jpmorgan.com/products/tsapi-onboarding-guides/guides/digitally-sign-payment-requests-(required ⧉)
Source code in shared/services/payment_providers/jpmorgan/jpmorgan_global_payments_api_client.py
get_payment ¶
GET payment details from JPMorgan payments endpoint.
Source code in shared/services/payment_providers/jpmorgan/jpmorgan_global_payments_api_client.py
post_payment ¶
Sign payload with JWT and POST to JPMorgan payments endpoint.
Source code in shared/services/payment_providers/jpmorgan/jpmorgan_global_payments_api_client.py
StubbedApi ¶
Bases: JPMorganApiProtocol
Embedded stub for JPMorgan API, replicates the same interface as the real API.
https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#embedded-stub ⧉
Implements the following Nullable patterns: - Output tracking: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#output-tracking ⧉ - Configurable responses: https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks#configurable-responses ⧉
Source code in shared/services/payment_providers/jpmorgan/jpmorgan_global_payments_api_client.py
get_payment ¶
Simulate a payment details query.
Source code in shared/services/payment_providers/jpmorgan/jpmorgan_global_payments_api_client.py
post_payment ¶
Simulate a payment initiation.
Source code in shared/services/payment_providers/jpmorgan/jpmorgan_global_payments_api_client.py
create
classmethod
¶
Normal factory.
Source code in shared/services/payment_providers/jpmorgan/jpmorgan_global_payments_api_client.py
create_null
classmethod
¶
Null factory for testing.
Source code in shared/services/payment_providers/jpmorgan/jpmorgan_global_payments_api_client.py
get_payment_details ¶
Source code in shared/services/payment_providers/jpmorgan/jpmorgan_global_payments_api_client.py
get_supported_currency ¶
Get the supported currency for this JPMorgan account.
initiate_payments ¶
initiate_payments(
end_to_end_id,
amount,
creditor_account_type,
creditor_account_id,
creditor_agent_bic=None,
payment_description=None,
creditor_first_name=None,
creditor_last_name=None,
creditor_company_name=None,
creditor_address=None,
)
Trigger a payment using JPMorgan Treasury API.
The payment will be sent to the recipient described by the recipient_* fields.
Source code in shared/services/payment_providers/jpmorgan/jpmorgan_global_payments_api_client.py
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | |
TrackedRequest
module-attribute
¶
shared.services.payment_providers.jpmorgan.openapi ¶
global_payments_api_1_1_33 ¶
JPMorganAccountCurrency ¶
Bases: RootModel[str]
root
instance-attribute
¶
Originator account currency in 3 character ISO currency code. Field not applicable to Alternate Payments (Cards) UK FPS - GBP only SEPA INSTANT - EUR only
JPMorganAccountId ¶
Bases: RootModel[str]
root
instance-attribute
¶
Direct Debit Payments
| Payment Type | Market | Max Length |
|---|---|---|
| RTP | Malaysia | 34 |
Credit Transfer Payments
Applicable and mandatory for RTP and Blockchain (Kinexys Digital Payments) Payments, Push To Wallet (PayPal/Venmo) and Zelle Payments.
This field is to provide the regular account id when it is a pay by Account instruction. If pay by proxy, this does not need to be filled.
Maximum length supported for each instrument and market :-
| Payment Type | Market | Max Length |
|---|---|---|
| RTP | UK | 8 (7 digit A/C numbers should be padded with a leading zero) |
| RTP | Singapore | 35 |
| RTP | Australia | 35 |
| RTP | Hong Kong | 35 |
| RTP | Indonesia | 35 |
| RTP | Brazil | 34 |
| RTP | Mexico | 16 |
| RTP | US | 31 |
| Push To Card | US/Canada | 16 |
| INTERAC | Canada | 35 |
| ACH | Chile | 17 |
| SEPA | 34 (IBAN) | |
| Kinexys | 34 | |
| Push To Wallet (PayPal/Venmo | 35 | |
| Zelle | 35 |
JPMorganAccountIdentification ¶
Bases: RootModel[str]
root
instance-attribute
¶
Maximum length supported for each instrument and market :- | Market |Maximum length limits| | ------ |--------------------------| | US RTP |9 (Routing and Transit Number: alphabetic characters may be present)| | SEPA INSTANT |8 (numeric only) | | Brazil RTP |8 | | UK FPS |6 (numeric only) |
JPMorganAccountType ¶
Bases: StrEnum
JPMorganAccountTypeEnum ¶
Bases: StrEnum
JPMorganAdditionalAlternateAccountIdentifier ¶
Bases: BaseModel
idType
instance-attribute
¶
One or more values that can be used as alternative identifiers for an account.
| Identifier Type | Description |
| -------------------| ---------------------------------------------------------------|
| PROGRAM_ID | A client program identifier.|
| CUSTOM | A custom identifier that can be used to identify an account eg. EMAIL,CARD_NUMBER etc. Should be used in conjunction with name field.|
name
class-attribute
instance-attribute
¶
Optional field to provide more context to the alternate account identifier type. With idType: CUSTOM it is recommended to provide a name for the identifier, for example:
| Identifier Type | NAME |
| -------------------|-------------|
| CUSTOM |EMAIL |
| CUSTOM |CARD_NUMBER|
JPMorganAdditionalAlternateAccountIdentifiers ¶
Bases: RootModel[list[JPMorganAdditionalAlternateAccountIdentifier]]
root
instance-attribute
¶
One or more values that can be used as alternative identifiers for an account.
JPMorganAdditionalCreditor ¶
JPMorganAdditionalIdentifier ¶
Bases: BaseModel
JPMorganAdditionalInstitution ¶
Bases: BaseModel
JPMorganAddressType ¶
Bases: StrEnum
JPMorganAlternateAccountIdentification ¶
JPMorganAlternateAccountIdentifier ¶
Bases: RootModel[str]
root
instance-attribute
¶
Alternate Account Identifier eg. email, program id, card number or other types of identifiers, used as a different means of identifying an account.
Mandatory for the following payment types: | Payment Type | description | |----------------------|-----------------------------------------------------------------------------| | Push To Card | Use program id while specifying the debtor details. | | | Use card number while specifying the creditor details. |
JPMorganBic ¶
Bases: StrEnum
JPMorganCallback ¶
Bases: BaseModel
clearingSystemReference
class-attribute
instance-attribute
¶
The clearing system reference
paymentStatus
class-attribute
instance-attribute
¶
Status of the payment.
PENDING - Payment is pending processing
PENDING_POSTING - Payment is yet to be posted in the beneficiary account
COMPLETED - Payment has successfully completed
COMPLETED_CREDITED - Status indicating the beneficiary's account has been credited
REJECTED - Payment has been rejected. Please refer to the exception object for error details
RETURNED - Payment has been retured to the debtor party
WAREHOUSED - Payment request was successfully received. The request will be processed in the next available window, typically the next calendar day
BLOCKED - Payment blocked due to sanctions issue
RTP Flows (All Markets) -
PENDING -> COMPLETED
PENDING -> REJECTED
Additional Flows(RTP)->
US -
PENDING -> PENDING_POSTING -> COMPLETED
PENDING -> BLOCKED
Hong Kong -
PENDING -> COMPLETED -> COMPLETED_CREDITED
Push To Card Flows -
PENDING -> COMPLETED
PENDING -> REJECTED
PENDING -> COMPLETED -> RETURNED
ACH Flows (Chile) -
PENDING -> COMPLETED
PENDING - REJECTED
Blockchain (Kinexys Digital Payments) Flows -
PENDING -> PENDING_POSTING -> COMPLETED
PENDING -> REJECTED
JPMorganCallbacks ¶
Bases: RootModel[list[JPMorganCallback]]
root
instance-attribute
¶
List of Error codes and Rule definitions. errorDescription is dynamically generated hence not shown here.
| Error Code | Rule Definition |
|-------------------|-----------------------------------------------------|
| `10001` | Mandatory field is missing or invalid |
| `10002` | Minimum length validation failure |
| `10003` | Maximum length validation failure |
| `10004` | Date validation failure |
| `10005` | Amount validation failure ~ value more than maximum |
| `10006` | Amount validation failure ~ value less than minimum |
| `10007` | Amount validation failure ~ value is not a number |
| `10008` | Validation failure ~ unexpected value provided |
| `10009` | Invalid Id provided |
| `10010` | Personal information validation failure |
| `11000` | Clearing/Regulatory failure |
| `12000` | System error |
| `13000` | Uncategorized error |
JPMorganCategoryPurpose ¶
Bases: BaseModel
proprietary
class-attribute
instance-attribute
¶
Coded form Hong Kong RTP For credit transfers - "CXSALA" - Salary and Benefits Payment "CXBSNS" - General Business Payment "CXMRCH" - FPS Merchant Payment "CXTOPU" - Account Top-up Payment
Indonesia RTP WEALTH_TRANSFER INVESTMENT PURCHASE OTHER CXSALA
JPMorganChargeBearer ¶
JPMorganClearingSystemId ¶
JPMorganClearingSystemId1 ¶
Bases: BaseModel
branchNumber
class-attribute
instance-attribute
¶
Branch of the bank. Applicable and Mandatory for Brazil PIX only
JPMorganCode ¶
JPMorganCoreStatus ¶
Bases: BaseModel
status
class-attribute
instance-attribute
¶
Status of the payment.
PENDING - Payment is pending processing
PENDING_POSTING - Payment is yet to be posted in the beneficiary account
COMPLETED - Payment has successfully completed
COMPLETED_CREDITED - Status indicating the beneficiary's account has been credited
REJECTED - Payment has been rejected. Please refer to the exception object for error details
RETURNED - Payment has been retured to the debtor party
WAREHOUSED - Payment request was successfully received. The request will be processed in the next available window, typically the next calendar day
BLOCKED - Payment blocked due to sanctions issue
RTP Flows (All Markets) -
PENDING -> COMPLETED
PENDING -> REJECTED
Additional Flows(RTP)->
US -
PENDING -> PENDING_POSTING -> COMPLETED
PENDING -> BLOCKED
Hong Kong -
PENDING -> COMPLETED -> COMPLETED_CREDITED
Push To Card Flows -
PENDING -> COMPLETED
PENDING -> REJECTED
PENDING -> COMPLETED -> RETURNED
Blockchain (Kinexys Digital Payments) Flows -
PENDING -> PENDING_POSTING -> COMPLETED
PENDING -> REJECTED
JPMorganCountryOfResidence ¶
Bases: RootModel[str]
root
instance-attribute
¶
2 character ISO country code of residence. Mandatory for Interac payments.
JPMorganCreditor ¶
Bases: BaseModel
creditorName
class-attribute
instance-attribute
¶
Credit Transfer Payments
Mandatory for RTP Markets :-
| Market |
|---|
| UK |
| SEPA |
| US |
Mandatory for RTP markets for Pay to Account transactions :-
| Market |
|---|
| Singapore |
| Australia |
| Mexico |
| Hong Kong |
| Brazil |
Mandatory For Alternate Payments :-
| Alternate Payments | Market |
|---|---|
| Push To Card | US and Canada |
| Push To Wallet | PayPal/Venmo |
| Interac | Canada |
| Zelle | US |
Mandatory for ACH Payments :-
| Market |
|---|
| Chile |
Maximum length supported per instrument/market :-
| Payment Type | Market | Max Length |
|---|---|---|
| RTP | UK | 40 |
| RTP | Singapore | 140 |
| RTP | Australia | 140 |
| RTP | Hong Kong | 140 |
| RTP | Indonesia | 140 |
| RTP | Mexico | 40 |
| Push To Card | US/Canada | 30 |
| ACH | Chile | 70 |
| SEPA Instant | SEPA Zone | 140 |
Direct Debit Payments
Maximum length supported per instrument/market :-
| Payment Type | Market | Max Length |
|---|---|---|
| RTP | Malaysia | 140 |
JPMorganCreditorAccount ¶
Bases: RootModel[JPMorganPrimaryAccountIdentification | JPMorganAlternateAccountIdentification]
JPMorganCreditorAgent ¶
Bases: BaseModel
additionalInstitutions
class-attribute
instance-attribute
¶
- Only applicable to UK Faster Payments. Instructing agent of the ultimate debtor.
JPMorganCreditorFinancialInstitutionId ¶
Bases: BaseModel
bic
class-attribute
instance-attribute
¶
SWIFT BIC. Applicable and Mandatory for RTP markets :- - Singapore - Malaysia (Credit Transfer and Direct Debit Payments)
Optional markets :- - SEPA INSTANT - Mexico
Mandatory for Blockchain(Kinexys Digital Paymentsm) Payments:- - US - CHASUS33 - SEPA - CHASDEFX
NOTE: Mandatory for RTP Direct Debit Payments for all Markets
clearingSystemId
class-attribute
instance-attribute
¶
Clearing system identifier. Applicable and Mandatory for Faster/Real-time payment markets :- UK Australia India Hong Kong US Brazil
ACH :- Chile
JPMorganCreditorTaxInformation ¶
JPMorganDateAndPlaceOfBirth ¶
Bases: BaseModel
JPMorganDebtor ¶
Bases: BaseModel
debtorName
class-attribute
instance-attribute
¶
Mandatory and Supported for :-
- ACH Chile
- Push To Card
- US RTP
- US FedNow
- SARIE IPS
- INTERAC
- Push To Wallet
Maximum length supported per instrument/market :-
| Market | Max Length |
|---|---|
| US RTP | 140 |
| Push To Card US and Canada | 30 |
| ACH Chile | 140 |
| **Zelle | 50 (Optional) |
| Malaysia RTP (Direct Debit) | 140 |
JPMorganDebtorAccount ¶
Bases: RootModel[JPMorganDebtorAccountIdentification | JPMorganDebtorAlternateAccountIdentification]
JPMorganDebtorAccountIdentification ¶
JPMorganDebtorAgent ¶
Bases: BaseModel
additionalInstitutions
class-attribute
instance-attribute
¶
Only applicable to UK Faster Payments. Instructing agent of the ultimate debtor.
JPMorganDebtorAlternateAccountIdentification ¶
Bases: BaseModel
JPMorganDebtorDevice ¶
JPMorganDebtorFinancialInstitutionId ¶
Bases: BaseModel
bic
class-attribute
instance-attribute
¶
Credit Transfer Payment Not applicable for US RTP
Mandatory RTP markets:-
| Market |
|---|
| UK |
| India |
| Singapore |
| Australia |
| Malaysia |
| Hong Kong |
| SEPA INSTANT |
| Brazil |
| Mexico |
Alternate Payments:- - Push To Card: US/Canada - Interac: Canada - **Push To Wallet: Venmo/PayPal - ** Zelle
ACH:- - Chile
Mandatory Blockchain (Kinexys Digital Payments) Payment markets:- - US - SEPA
clearingSystemId
class-attribute
instance-attribute
¶
Credit Transfer Payment:-
- Not applicable to UK, India, Singapore, Australia, Mexico Faster Payments.
- Mandatory for US RTP
Direct Debit Payment:- - Mandatory for Malaysia RTP
JPMorganDebtorTaxInformation ¶
JPMorganDecimal ¶
Bases: RootModel[str]
JPMorganDeliveryDetails ¶
Bases: BaseModel
deliveryAddress
class-attribute
instance-attribute
¶
Electronic address to which an agent is to send the remittance information.
deliveryMethod
class-attribute
instance-attribute
¶
Method used to deliver the remittance advice information. Only EMAL and URID allowed. This field is currently not available for client usage *
JPMorganDeviceInfo ¶
Bases: BaseModel
geoCoordinates
class-attribute
instance-attribute
¶
Contains the geographical coordinates.
Applicable for Direct Debit Payments Only(transferType=DEBIT)
Refer the table below for the applicable and mandatory markets
| Markets | Significance |
|----------------|--------------|
| Malaysia | MANDATORY |
ipAddress
class-attribute
instance-attribute
¶
Device IP address
Applicable for Direct Debit Payments Only(transferType=DEBIT)
Refer the table below for the applicable and mandatory markets
| Markets | Significance |
|----------------|--------------|
| Malaysia | MANDATORY |
JPMorganError ¶
JPMorganErrorDetails ¶
Bases: BaseModel
JPMorganErrors ¶
JPMorganErrorsInit ¶
JPMorganException ¶
Bases: BaseModel
externalDescription
class-attribute
instance-attribute
¶
This field is currently not available for client usage *
JPMorganExceptionItem ¶
Bases: BaseModel
externalDescription
class-attribute
instance-attribute
¶
This field is currently not available for client usage *
JPMorganFxApplied ¶
JPMorganGeoCoordinates ¶
JPMorganIdType ¶
Bases: RootModel[str]
root
instance-attribute
¶
Credit Transfer Payment Creditor Agent - Applicable and optional for Low value ACH payments (Chile). Applicable and mandatory for US RTP - USABA
Debtor Agent -
Applicable and mandatory for US RTP - USABA
Direct Debit Payment
Applicable and mandatory for Malaysia RTP - BIC
JPMorganIdType1 ¶
JPMorganIdType2 ¶
JPMorganIndividualID ¶
Bases: BaseModel
JPMorganOrganizationID ¶
Bases: BaseModel
id
instance-attribute
¶
For AU Superannuation payment (category payment), populate with USI number for the Superannuation fund
Max length for ACH :- Chile - 255
schemeName
class-attribute
instance-attribute
¶
type of scheme Mandatory for SEPA Instant. Check proprietary field rules for more information.
JPMorganOtherPaymentReferences ¶
JPMorganPartyIdentifier ¶
Bases: RootModel[JPMorganPartyIdentifier1 | JPMorganPartyIdentifier2]
JPMorganPartyIdentifier1 ¶
JPMorganPartyIdentifier2 ¶
JPMorganPaymentDetailsResponse ¶
Bases: BaseModel
JPMorganPaymentIdentifiers ¶
Bases: BaseModel
endToEndId
instance-attribute
¶
Customer assigned reference to the transaction. Maximum length supported for each instrument and market :-
Credit Transfer Payments |Payment Type| Market | Max Length |Format |------------|--------------|------------|------------- | RTP | UK | 31 |letters and numbers only | RTP | Singapore | 35 |letters and numbers only | RTP | Australia | 35 |letters and numbers only | RTP | Hong Kong | 35 |letters and numbers only | RTP | Indonesia | 35 |letters and numbers only | RTP | Brazil | 34 |letters and numbers only | RTP | Mexico | 16 |letters and numbers only | RTP | US | 31 |letters and numbers only | RTP | SEPA | 35 |letters and numbers only | Push To Card| US/Canada | 16 |letters and numbers only | ACH | Chile | 35 | | BLOCKCHAIN | Kinexys Digital Payments markets | 16 |letters and numbers only | Push To Wallet | PayPal/Venmo | 35 |letters and numbers only | Interac | JPM Canada markets | 35 |letters and numbers only | Zelle | US | 16 |letters and numbers only Direct Debit Payments |Payment Type| Market | Max Length |Format | |------------|--------------|------------|-------------------------| | RTP | Malaysia | 35 |Letters and numbers only |
otherPaymentReferences
class-attribute
instance-attribute
¶
The object becomes MANDATORY for below instrument and market when transferType = 'DEBIT'
| Payment Type | Market | Max Length | Format |
|---|---|---|---|
| RTP | Malaysia | 35 | Letters and numbers only |
JPMorganPaymentInitationDetails ¶
JPMorganPaymentInitiationResponse ¶
JPMorganPaymentInitiationResponse1 ¶
JPMorganPaymentRedirected ¶
Bases: BaseModel
isPaymentRedirected
class-attribute
instance-attribute
¶
Flag to indicate if a payment has been redirected to another account
redirectedAccountId
class-attribute
instance-attribute
¶
Account id to which payment is redirected
redirectedBankId
class-attribute
instance-attribute
¶
Bank identifier of the redirected account id.
JPMorganPaymentStatus ¶
Bases: StrEnum
JPMorganPaymentStatus1 ¶
JPMorganPaymentType ¶
JPMorganPayments ¶
Bases: BaseModel
paymentAmount
instance-attribute
¶
Amount should be more than 0.01 with maximum of two decimal places allowed.
NOTE: For Chile ACH, decimals are not accepted.
Maximum amount allowed per market/instrument :-
-
UK FPS - GBP 1,000,000
-
SEPA INSTANT - EUR 100,000
paymentCurrency
instance-attribute
¶
3- character ISO currency code e.g. SGD, GBP, AUD, EUR, MXN, CLP
paymentExpiryDate
class-attribute
instance-attribute
¶
Applies only for Interac proxy Payments. Format expected - YYYY-MM-DDThh:mm:ss+/-time offset to UTC
possibleDuplicateMessage
class-attribute
instance-attribute
¶
Optional field to indicate a duplicate payment
requestedExecutionDate
instance-attribute
¶
Requested date on which/by which the transaction should be executed ISO Date format. (YYYY-MM-DD)
secureVerification
class-attribute
instance-attribute
¶
Applies only for Interac proxy payments
transferType
instance-attribute
¶
To indicate the transaction is a credit transfer or direct debit transfer. This indicator also determines the originator and receiver is the debit and credit side of this transaction.
Supported value per market/instrument :- | Market |Value| | --------------------|-------| | UK Faster Payments |CREDIT | | SEPA INSTANT |CREDIT | | US RTP |CREDIT | |Singapore Faster Payments | CREDIT| |Australia Faster Payments | CREDIT| |Singapore Faster Payments | CREDIT| |Hong Kong Faster Payments |CREDIT| |Malaysia Faster Payments | CREDIT and DEBIT| |Indonesia RTP |CREDIT| |Brazil RTP |CREDIT| |US RTP |CREDIT| |Push To Card |CREDIT| |ACH Chile Low Value |CREDIT| |Blockchain (Kinexys Digital Payments) Payments | CREDIT| |Push To Wallet (PayPal/Venmo) |CREDIT| |Interac (Canada) |CREDIT| |Zelle |CREDIT|
JPMorganPostalAddress ¶
Bases: BaseModel
addressLine
class-attribute
instance-attribute
¶
Not applicable to Wallet Payments. Free form text address lines Up to 4 lines.
Maximum number of characters allowed per instrument/market :-
| Market | Max Lines and length limits |
|---|---|
| UK FPS | 4 lines, 140 characters including spaces |
| SEPA INSTANT | 2 lines, 70 characters each including spaces |
| Brazil RTP | 7 lines, 70 characters |
| Chile ACH | 2 lines, 35 characters + 1 additional line containing 32 characters |
addressType
class-attribute
instance-attribute
¶
| Address Type | Description |
|---|---|
ADDR |
Postal Address is the complete postal address. |
BIZZ |
Business Address is the business address. |
DLVY |
DeliveryTo Address is the address to which delivery is to take place. |
HOME |
Residential Address is the home address. |
MLTO |
MailTo Address is the address to which mail is sent. |
PBOX |
PO Box Address is a postal office (PO) box. |
buildingNumber
class-attribute
instance-attribute
¶
Building name or number. Maximum length applicable :- Push To Card - 35
country
class-attribute
instance-attribute
¶
2 character ISO country code. Mandatory for Wallet Payments, US RTP, and Interac
postalCode
class-attribute
instance-attribute
¶
Zip code. Mandatory for Wallet Payments and US RTP Maximum length applicable :- Push To Card - 9
streetName
class-attribute
instance-attribute
¶
Name of street. Mandatory for US RTP Maximum length applicable :- Push To Card - 35
townName
class-attribute
instance-attribute
¶
Name of the town. Mandatory for US RTP Maximum length applicable :- Push To Card - 25
JPMorganPrimaryAccountIdentification ¶
Bases: BaseModel
cardExpiryDate
class-attribute
instance-attribute
¶
Mandatory for Push to Card. Acceptable format - YYMM
JPMorganProprietary ¶
Bases: StrEnum
JPMorganProprietary1 ¶
Bases: StrEnum
JPMorganProprietaryModel ¶
Bases: RootModel[str]
root
instance-attribute
¶
Usage rules :- Australia RTP - For AU Superannuation payment (category payment), populate "USI" SEPA Instant - Use value "LEI" to indicate the organization id is a legal entity. Mandatory.
JPMorganPurpose ¶
JPMorganRemittanceInformation ¶
Bases: BaseModel
foreignCurrency
class-attribute
instance-attribute
¶
Only applicable for Mexico Faster Payments
structuredInformation
class-attribute
instance-attribute
¶
Applicable Faster Payment Markets - Malaysia US
unstructuredInformation
class-attribute
instance-attribute
¶
Maximum number of lines and characters supported per market/instrument :-
| Market | Maximum Line and Length limits |
|---|---|
| UK FPS | 1 line, 140 characters |
| SEPA INSTANT | 1 line, 140 characters |
| US RTP | 1 line, 140 charaters |
| Singapore RTP | 1 line, 140 characters |
| Australia RTP | 2 lines, 140 characters |
| Hong Kong RTP | 1 line, 140 characters |
| Malaysia RTP | 1 line, 140 characters |
| India IMPS | 1 line, 140 characters |
| Brazil RTP | 1 line, 140 characters |
| Mexico RTP | 210 characters |
| Indonesia RTP | 1 line, 140 characters |
| Push To Card US and Canada | 1 line, 16 characters (Numbers, alphabets, SPACE and special chars -./,$@& allowed) |
| Blockchain (Kinexys Digital Payments) Payments | 1 line, 140 characters |
| Zelle | 1 line, 200 characters (Numbers, alphabets, SPACE and special chars -./,$@& allowed) |
JPMorganSchemeName ¶
Bases: BaseModel
proprietary
class-attribute
instance-attribute
¶
Specifies the type of Proxy account. Mandatory if creditorAccount.alternateAccountIdentifier is present Proprietary types applicable per market and instrument:
RTP - Singapore :- MSIDN - Mobile number UEN - Unique Entity Number VPA - Virtual Payment Address NRIC - IC number
RTP - Australia :- EMAL - Email Address TELI - Telephone Number AUBN - Australia Business number ORGN - Organization Id
RTP - Malaysia :- MBNO - Mobile number NRIC - IC number PSPT - Passport number ARMN - Army or Police Number BREG - Business registration number
RTP - Hong Kong :- EMAL - Email Address MOBN - Mobile Number (or fixed-line number) SVID - FPS Identifier
RTP - Brazil :- CPF - Tax ID of Individual CNPJ - Tax ID of Corporate EVP - Random Key QRCD - QR Code EMAL - Email id MOBN - Mobile number
RTP - Mexico :- MOBN - Mobile number BANK - Transfer to a Bank identifier CARD - Transfer to a debit card number
RTP - Indonesia :- MOBN - Mobile number EMAL - Email id CARD - Transfer to a debit card number ALIS - eMoney transfer
Alternate Payments - Wallet (For Zelle and Interac only EMAL and TELI are applicable) :- EMAL - Email Address TELI - Telephone Number ACCN - Alternate account number ALIS - Alias identification
JPMorganSchemeName2 ¶
JPMorganSecureVerification ¶
Bases: BaseModel
JPMorganServiceLevelCode ¶
Bases: RootModel[str]
JPMorganStatus ¶
Bases: StrEnum
JPMorganStructuredInformation ¶
Bases: BaseModel
additionalRemittanceInformation
class-attribute
instance-attribute
¶
Applicable Faster Payment Markets -
Malaysia Max length supported - 250 characters
US - mandatory if structuredInformation object is used
creditReference
class-attribute
instance-attribute
¶
Unique reference to unambiguously refer to the payment transaction.
JPMorganTaxInformation ¶
Bases: BaseModel
JPMorganTaxpayerCategory ¶
JPMorganTransferType ¶
JPMorganType ¶
JPMorganUltimateCreditor ¶
Bases: RootModel[JPMorganUltimateCreditorOrganization | JPMorganUltimateCreditorIndividual]
JPMorganUltimateCreditorIndividual ¶
Bases: BaseModel
JPMorganUltimateCreditorName ¶
Bases: RootModel[str]
JPMorganUltimateCreditorOrganization ¶
Bases: BaseModel
JPMorganUltimateDebtor ¶
Bases: RootModel[JPMorganUltimateDebtorOrganization | JPMorganUltimateDebtorIndividual]
JPMorganUltimateDebtorIndividual ¶
Bases: BaseModel
JPMorganUltimateDebtorName ¶
Bases: RootModel[str]
root
instance-attribute
¶
- Mandatory for US RTP
Market specific maximum length limits :- | Market |Maximum Length| |----------------- |----| | Push To Card| 25 |
JPMorganUltimateDebtorOrganization ¶
Bases: BaseModel