======================== CODE SNIPPETS ======================== TITLE: Example Payment Request with Pass-through 3DS DESCRIPTION: This JSON example demonstrates how to structure a payment request when using an independent 3DS authentication provider. It shows how to populate the `paymentMethodType.card.authentication` object with data obtained from the 3DS provider, including the ECI value, authentication value, transaction ID, and protocol version. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/3_d_secure___payments_developer_portal.md#_snippet_3 LANGUAGE: json CODE: ``` { "amount": 14500, "currency": "USD", "paymentMethodType": { "card": { "accountNumber": "4110144110144115", "expiry": { "month": 5, "year": 2040 }, "authentication": { "electronicCommerceIndicator": "05", "threeDS": { "authenticationValue": "AABAIcJIo5DIzAgVAkiAAAAAAA=", "authenticationTransactionId": "01ade6ae340005c681c3a1890418", "threeDSProgramProtocol": 2 } } } }, "accountHolder": { "firstName": "John", "lastName": "Doe", "email": "example@example.com", "billingAddress": { "line1": "1234 Main Street", "city": "New York", "postalCode": "10111" }, "phone": { "countryCode": "1", "phoneNumber": "1234567890" } }, "merchant": { "merchantSoftware": { "companyName": "John's Gym", "productName": "Cart" } } } ``` ---------------------------------------- TITLE: Incremental Authorization Response Example (JSON) DESCRIPTION: Example JSON response received after successfully performing an incremental authorization. It shows the updated transaction state, amounts, and payment details, including the transaction ID and approval code. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/update_a_payment___payments_developer_portal.md#_snippet_1 LANGUAGE: Json CODE: ``` { "transactionId": "bd359c65-f17b-4be5-b02f-e43db6eead6b", "requestId": "3aec628c-3b71-4177-b1ef-35532b644db4", "transactionState": "AUTHORIZED", "responseStatus": "SUCCESS", "responseCode": "APPROVED", "responseMessage": "Transaction approved by Issuer", "paymentMethodType": { "card": { "cardType": "VI", "cardTypeName": "VISA", "maskedAccountNumber": "411234XXXXXX4113", "networkResponse": { "addressVerificationResult": "NOT_REQUESTED", "networkTransactionId": "013227692169878", "paymentAccountReference": "Q1J4Z28RKA1EBL470G9XYG90R5D3E" }, "paymentTokens": [ { "tokenProvider": "SAFETECH", "responseStatus": "ERROR", "tokenServiceResponseMessage": "Merchant record not found or not enabled for Acquirer Token", "tokenServiceResponseCode": "BAD_REQUEST" } ] } }, "initiatorType": "CARDHOLDER", "accountOnFile": "NOT_STORED", "isVoid": false, "transactionDate": "2025-08-15T11:44:21.778Z", "approvalCode": "tst394", "hostMessage": "Approved", "amount": 15000, "currency": "USD", "remainingAuthAmount": 15000, "totalAuthorizedAmount": 15000, "hostReferenceId": "U1AiWGxAmCKu58itIp54J3", "merchant": { "merchantId": "000017904371", "merchantSoftware": { "companyName": "Payment company", "productName": "Application name" }, "merchantCategoryCode": "4899" }, "paymentRequest": { "paymentRequestId": "bd359c65-f17b-4be5-b02f-e43db6eead6b", "paymentRequestStatus": "PENDING", "authorizations": [ { "authorizationId": "bd359c65-f17b-4be5-b02f-e43db6eead6b", "amount": 15000, "transactionStatusCode": "AUTHORIZED", "authorizationType": "INCREMENTAL" } ] } } ``` ---------------------------------------- TITLE: Fraud Check Request Body JSON Example DESCRIPTION: Example JSON payload required for the fraud check API request. It includes details about the amount, currency, fraud score parameters, account holder, payment method, shipping information, and merchant details. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/obtain_a_fraud_score___payments_developer_portal.md#_snippet_0 LANGUAGE: JSON CODE: ``` { "amount": 100, "currency": "USD", "fraudScore": { "cardholderBrowserInformation": "MOZILLA/4.0", "isFraudRuleReturn": true, "aNITelephoneNumber": "5131234567", "fraudCheckShoppingCart": "T=Tickets&I=FridayNightBaseballGame&D=SeatsBehindHomePlate&Q=2&P=20000&|", "sessionId": "d38e582e27e147483811b79281fnakdlsq", "websiteRootDomainName": "MERCHANT", "fencibleItemAmount": 1230 }, "accountHolder": { "deviceIPAddress": "127.0.0.1", "birthDate": "2000-09-20", "driverLicenseNumber": "G123-123-12-123-1", "addressCountryCode": "US", "email": "example@example.com", "firstName": "John", "lastName": "Doe", "referenceId": "12122012", "consumerIdCreationDate": "2021-09-01", "phone": { "countryCode": 1, "phoneNumber": "1235551234" }, "billingAddress": { "line1": "1 NORTHEASTERN", "line2": "BLVD", "city": "BEDFORD", "state": "NH", "postalCode": "03109", "countryCode": "US" } }, "paymentMethodType": { "card": { "expiry": { "month": 5, "year": 2040 }, "accountNumber": "5204740000001002" } }, "shipTo": { "shippingAddress": { "line1": "123 Some Street", "line2": "Apartment 3b", "city": "Clearwater", "state": "FL", "postalCode": "33607", "countryCode": "USA" }, "fullName": "John Doe", "shippingDescription": "Overnight", "phone": { "countryCode": 1, "phoneNumber": "1235557890" } }, "merchant": { "merchantSoftware": { "companyName": "Payment Company", "productName": "Application Name", "version": "1.0" }, "merchantCategoryCode": "4899" } } ``` ---------------------------------------- TITLE: Manual Full Capture API Response (JSON) DESCRIPTION: This is an example JSON response received after successfully submitting a manual full capture request. It includes details about the transaction state, response status, payment method, amounts, and references. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/authorize_and_capture_a_payment___payments_developer_portal.md#_snippet_7 LANGUAGE: json CODE: ``` { "transactionId": "7ffceee3-adf7-42ba-8c02-77fb5ef008ed", "requestId": "3c65b967-8624-426f-8a81-6a63c9c74781", "transactionState": "CLOSED", "responseStatus": "SUCCESS", "responseCode": "ACCEPTED", "responseMessage": "Transaction accepted", "paymentMethodType": { "card": { "cardType": "VI", "cardTypeName": "VISA", "maskedAccountNumber": "401200XXXXXX0026", "networkResponse": { "addressVerificationResult": "NOT_REQUESTED", "additionalData": { "electronicCommerceIndicator": "7" }, "networkTransactionId": "014071692163531" } } }, "captureMethod": "NOW", "initiatorType": "CARDHOLDER", "accountOnFile": "NOT_STORED", "isVoid": false, "transactionDate": "2024-03-11T21:46:18.685Z", "approvalCode": "tst420", "hostMessage": "Approved", "isAmountFinal": true, "amount": 1000, "currency": "USD", "remainingRefundableAmount": 1000, "remainingAuthAmount": 0, "totalAuthorizedAmount": 1000, "hostReferenceId": "V3oEIjve7csJdiqTskFsF2", "merchant": { "merchantId": "000017904374", "merchantSoftware": { "companyName": "Payment Company", "productName": "Application Name", "version": "1.235" }, "merchantCategoryCode": "4899" }, "paymentRequest": { "paymentRequestId": "7ffceee3-adf7-42ba-8c02-77fb5ef008ed", "paymentRequestStatus": "CLOSED", "authorizations": [ { "authorizationId": "7ffceee3-adf7-42ba-8c02-77fb5ef008ed", "amount": 1000, "transactionStatusCode": "CAPTURED", "authorizationType": "INITIAL" } ], "captures": [ { "captureId": "7ffceee3-adf7-42ba-8c02-77fb5ef008ed", "amount": 1000, "transactionStatusCode": "CLOSED", "captureRemainingRefundableAmount": 1000 } ] } } ``` ---------------------------------------- TITLE: Direct Pay Push Funds Request Body (JSON) DESCRIPTION: Example JSON request body for initiating a Direct Pay push funds transaction via the /payments endpoint. It specifies the transaction type as 'ACCOUNT_TO_ACCOUNT', the reason as 'CREDIT_CARD_PAYMENT', and the direct payment type as 'PUSH_FUNDS'. It includes sender details such as account number, funding source ('DEBIT_CARD'), tax information, name, address, and birth date. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/direct_pay___payments_developer_portal.md#_snippet_1 LANGUAGE: json CODE: ``` { "directPay": { "fundsTransferType": "ACCOUNT_TO_ACCOUNT", "transactionReason": "CREDIT_CARD_PAYMENT", "directPaymentType": "PUSH_FUNDS", "sender": { "transactionReferenceNumber": "1234567890123456", "accountNumber": "5214XXXXXX94", "fundingSource": "DEBIT_CARD", "taxId": "123456789", "taxIdType": "SSN", "firstName": "John", "middleName": "D", "lastName": "Doe", "address": { "line1": "1234 Main Street", "line2": "", "city": "BEDFORD", "state": "NH", "countryCode": "USA", "postalCode": "03109" }, "birthDate": "1975-06-15" } } } ``` ---------------------------------------- TITLE: RTAU Response: No Match, Participating BIN (JSON) DESCRIPTION: Example JSON response for an RTAU request where no match was found for the card, but the issuer's BIN (Bank Identification Number) participates in RTAU. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/real_time_account_updater.md#_snippet_8 LANGUAGE: json CODE: ``` { "accountUpdater": { "requestAccountUpdater": true, "accountUpdaterResponse": "NO_MATCH_PARTICIPATING_BIN", "accountUpdaterReasonCode": "SUCCESS" } } ``` ---------------------------------------- TITLE: Fraud Check Response Body JSON Example DESCRIPTION: Example JSON payload returned by the fraud check API. It contains transaction identifiers, risk decision details (score, action, status), risk element information (device, browser, transaction history), and overall response status. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/obtain_a_fraud_score___payments_developer_portal.md#_snippet_1 LANGUAGE: JSON CODE: ``` { "transactionId": "91659309-b78a-4075-a18b-84f7e7a54b21", "requestId": "543ba35f-70d8-4370-97dd-9e602cf41b38", "riskDecision": { "fraudRiskScore": "34", "fraudRuleAction": "A", "digitalAlertRuleName": "0000=", "fraudStatus": "A000", "fraudStatusDescription": "Fraud score successful", "fraudRiskResponse": "A" }, "riskElement": { "fraudEvaluatorTransactionId": "K9SD0RKS4VYV", "highestRiskCountry": "US", "highestRiskRegion": "mn", "cardType": "AX", "fourteenDaysTransactionCount": 0, "sixHoursTransactionCount": 0, "fourteenDaysCardRecordCount": 1, "fourteenDaysDeviceRecordCount": 1, "fourteenDaysEmailRecordCount": 1, "deviceLayers": "BE5170F6F4..23EA1C3E4B.7D240F5823.2FB5A18D3", "sessionMatchIndicator": false, "hashedDigitalDeviceFingerprintIdentifier": "OE445516POI154F34E1A3151BCE70C19", "deviceTimestamp": "2022-08-18+11:25", "deviceLocalTimeZone": "300", "deviceRegion": "mn", "deviceCountry": "US", "digitalDeviceType": "Android", "deviceNetworkType": "N", "deviceProxyServer": "N", "browserJavaScriptEnabled": "N", "browserAdobeFlashEnabled": "N", "browserCookiesEnabled": "N", "deviceBrowserCountry": "US", "deviceBrowserLanguage": "EN", "mobileDevice": "N", "deviceWirelessCapability": "N", "deviceVoiceControlled": "N", "deviceRemotelyControlCapability": "N" }, "hostReferenceId": "5hOQTa9S8l8GqINboAbLa4", "responseStatus": "SUCCESS", "responseCode": "ACCEPTED", "responseMessage": "Transaction Accepted", "hostMessage": "Successful Action Requested" } ``` ---------------------------------------- TITLE: RTAU Response: No Match, Non-Participating BIN (JSON) DESCRIPTION: Example JSON response indicating that the card issuer's BIN (Bank Identification Number) does not support Real-Time Account Updater (RTAU). SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/real_time_account_updater.md#_snippet_9 LANGUAGE: json CODE: ``` { "accountUpdater": { "requestAccountUpdater": true, "accountUpdaterResponse": "NO_MATCH_NON_PARTICIPATING_BIN", "accountUpdaterReasonCode": "ERROR", "accountUpdaterReasonMessage": "Issuer does not support real time AU" }, "networkAccountUpdater": { "replacementCode": false, "networkResponseCode": "VAU009" } } ``` ---------------------------------------- TITLE: Example JSON Request for Online Payments API DESCRIPTION: Shows a sample JSON payload for a /payments request to the Online Payments API. It includes details for card payment, 3DS authentication parameters, account holder information, merchant details, and browser information required for the transaction. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/3_d_secure___payments_developer_portal.md#_snippet_2 LANGUAGE: Json CODE: ``` { "amount": 14500, "currency": "USD", "paymentMethodType": { "card": { "accountNumber": "4112344112344113", "expiry": { "month": 5, "year": 2040 }, "paymentAuthenticationRequest": { "authenticationReturnUrl": "merchantCheckoutPage.com", "threeDSRequestorAuthenticationInfo": { "authenticationPurpose": "PAYMENT_TRANSACTION" }, "threeDSPurchaseInfo": { "purchaseDate": "2028-10-31T17:07:14.91Z", "threeDomainSecureTransactionType": "GOODS_SERVICES" } } } }, "accountHolder": { "firstName": "John", "lastName": "Doe", "email": "example@example.com", "billingAddress": { "line1": "1234 Main Street", "city": "New York", "postalCode": "10111" }, "phone": { "countryCode": "1", "phoneNumber": "1234567890" } }, "merchant": { "merchantSoftware": { "companyName": "John's Gym", "productName": "Cart" } }, "browserInfo": { "browserAcceptHeader": "application/json", "deviceIPAddress": "192.168.1.11", "browserLanguage": "en", "browserColorDepth": "8", "browserScreenHeight": "1", "browserScreenWidth": "1", "deviceLocalTimeZone": 1, "browserUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "challengeWindowSize": "FULL_SCREEN", "javaEnabled": true, "javaScriptEnabled": true } } ``` ---------------------------------------- TITLE: Request Body for Immediate Authorization and Capture - JSON DESCRIPTION: Example JSON request body for the `/payments` endpoint to perform a card authorization with immediate capture. Sets `captureMethod` to 'NOW' (or omits it for default behavior) and includes minimum required fields like amount, currency, merchant info, and card details. Amount uses implied decimal places. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/authorize_and_capture_a_payment___payments_developer_portal.md#_snippet_0 LANGUAGE: json CODE: ``` { "captureMethod": "NOW", "amount": 1000, "currency": "USD", "merchant": { "merchantSoftware": { "companyName": "Payment Company", "productName": "Application Name" } }, "paymentMethodType": { "card": { "accountNumber": "4012000033330026", "expiry": { "month": 5, "year": 2027 } } } } ``` ---------------------------------------- TITLE: Partial Reversal Authorization Request (JSON) DESCRIPTION: Example JSON request body for performing a partial reversal authorization. It specifies the capture method as "NOW" for immediate capture and sets the new authorized amount. The `amount` field represents the *replacement* authorization amount, not the amount to reverse. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/update_a_payment___payments_developer_portal.md#_snippet_2 LANGUAGE: Json CODE: ``` { "captureMethod": "NOW", "amount": 3000 } ``` ---------------------------------------- TITLE: Example Payment Request with Device Fingerprint Data DESCRIPTION: This JSON object represents a sample payment request payload including the device fingerprint session ID within the risk.consumerDeviceInfo field. It demonstrates how to structure the request body when submitting a payment with collected device telemetry. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/collect_and_send_device_fingerprint_data___payments_developer_portal.md#_snippet_0 LANGUAGE: json CODE: ``` { "captureMethod": "NOW", "amount": 1234, "currency": "USD", "risk": { "consumerDeviceInfo": { "deviceFingerprintSessionId": "1e37134jASDh203" } }, "merchant": { "merchantId": "991234567890", "merchantSoftware": { "companyName": "Payment Company", "productName": "Application Name", "version": "1.235", "softwareId": "string" }, "merchantCategoryCode": "4819", "merchantLogoUrl": "string" }, "paymentMethodType": { "card": { "accountNumberType": "PAN", "accountNumber": "string", "expiry": {}, "walletProvider": "APPLE_PAY", "cardType": "VI", "cardTypeName": "VISA", "cvv": "string", "originalNetworkTransactionId": "1c4b1100-4017-11e9-b649-8de064224186", "isBillPayment": true, "maskedAccountNumber": "123456XXXXXX9876", "maskedCardNumber": "string", "cardTypeIndicators": { "cardProductTypes": [] } } } } ``` ---------------------------------------- TITLE: Verify Card Response JSON DESCRIPTION: Example JSON response body received after successfully verifying a card. It includes transaction details, response status, masked card information, and network response details. A successful response typically has an HTTP status of 200. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/verify_a_payment_method___payments_developer_portal.md#_snippet_1 LANGUAGE: json CODE: ``` { "transactionId": "722bb5fd-7c27-442e-a9da-3f8a3c15b468", "requestId": "fc90352e-ebeb-4b19-8621-d439cf27cd07", "currency": "USD", "responseStatus": "SUCCESS", "responseCode": "APPROVED", "responseMessage": "Transaction approved by Issuer", "hostMessage": "Transaction accepted", "paymentMethodType": { "card": { "cardTypeName": "VISA", "cardType": "VI", "maskedAccountNumber": "401200XXXXXX0026", "cardTypeIndicators": { "issuanceCountryCode": "USA", "isLevel3Eligible": false, "isDurbinRegulated": false }, "networkResponse": { "addressVerificationResult": "NOT_REQUESTED", "networkTransactionId": "013228692165455" } } }, "merchant": { "merchantId": "000017904371", "merchantSoftware": { "companyName": "Payment Company", "productName": "Application Name", "version": "1.235" }, "merchantCategoryCode": "4899" }, "transactionDate": "2023-08-16T23:30:43.033Z", "initiatorType": "CARDHOLDER", "accountOnFile": "NOT_STORED", "hostReferenceId": "r8dnofa5dUdnWWiwQuGYC", "approvalCode": "tst262" } ``` ---------------------------------------- TITLE: Valid Card with No RTAU Updates (JSON) DESCRIPTION: Example JSON response for a payment where the card is valid and no updates are available via Real-Time Account Updater (RTAU). SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/real_time_account_updater.md#_snippet_2 LANGUAGE: json CODE: ``` { "accountUpdater": { "requestAccountUpdater": true, "accountUpdaterResponse": "MATCH_NO_UPDATE", "accountUpdaterReasonCode": "SUCCESS", "accountUpdaterReasonMessage": "Valid card no update available" }, "networkAccountUpdater": { "replacementCode": false, "networkResponseCode": "VAU012" } } ``` ---------------------------------------- TITLE: Direct Pay Pull Funds Request Body (JSON) DESCRIPTION: Example JSON request body for initiating a Direct Pay pull funds transaction via the /payments endpoint. It specifies the transaction type as 'ACCOUNT_TO_ACCOUNT', the reason as 'CREDIT_CARD_PAYMENT', and the direct payment type as 'PULL_FUNDS'. It includes sender details such as account number, funding source ('CREDIT_CARD'), tax information, name, address, and birth date. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/direct_pay___payments_developer_portal.md#_snippet_0 LANGUAGE: json CODE: ``` { "directPay": { "fundsTransferType": "ACCOUNT_TO_ACCOUNT", "transactionReason": "CREDIT_CARD_PAYMENT", "directPaymentType": "PULL_FUNDS", "serviceFeeAmount": 123, "sender": { "transactionReferenceNumber": "1234567890123456", "accountNumber": "5214XXXXXX94", "fundingSource": "CREDIT_CARD", "taxId": "123456789", "taxIdType": "SSN", "firstName": "John", "middleName": "D", "lastName": "Doe", "address": { "line1": "1234 Main Street", "line2": "", "city": "BEDFORD", "state": "NH", "countryCode": "USA", "postalCode": "03109" } }, "birthDate": "1975-06-15" } } ``` ---------------------------------------- TITLE: RTAU Response: Contact Cardholder (JSON) DESCRIPTION: Example JSON response indicating that the cardholder needs to be contacted for updates or information. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/real_time_account_updater.md#_snippet_7 LANGUAGE: json CODE: ``` { "accountUpdater": { "requestAccountUpdater": true, "accountUpdaterResponse": "CONTACT_CARDHOLDER", "accountUpdaterReasonCode": "SUCCESS", "accountUpdaterReasonMessage": "Contact Cardholder" }, "networkAccountUpdater": { "accountStatus": "Q", "replacementCode": false } } ``` ---------------------------------------- TITLE: Successful ACH Payment Response (JSON) DESCRIPTION: Example JSON response for a successful ACH payment transaction. Includes transaction details, state, status, and masked account information. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/tokenization___payments_developer_portal.md#_snippet_11 LANGUAGE: json CODE: ``` { "transactionId": "f2ae4dd2-ded8-424f-a910-f3d34bb6b936", "requestId": "0a327188-f385-41ea-b4b9-5c6545ea5a7a", "transactionState": "CLOSED", "responseStatus": "SUCCESS", "responseCode": "ACCEPTED", "responseMessage": "Request successfully completed", "paymentMethodType": { "ach": { "financialInstitutionRoutingNumber": "123456789", "paymentType": "WEB", "accountType": "SAVING", "maskedAccountNumber": "XXXXXXX8925", "ecpProgramName": "STD" } } } ``` ---------------------------------------- TITLE: RTAU Update: New Account Number (JSON) DESCRIPTION: Example JSON response showing an RTAU update where a new account number is provided for the card. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/real_time_account_updater.md#_snippet_3 LANGUAGE: json CODE: ``` { "accountUpdater": { "requestAccountUpdater": true, "accountNumber": "4012001037141112", "accountUpdaterResponse": "NEW_ACCOUNT", "accountUpdaterReasonCode": "SUCCESS", "accountUpdaterReasonMessage": "Account Update provided for Account Number" }, "networkAccountUpdater": { "accountStatus": "A", "replacementCode": true } } ``` ---------------------------------------- TITLE: Partial Reversal Authorization Response (JSON) DESCRIPTION: Example JSON response body returned after successfully processing a partial reversal authorization request. It includes transaction details, status, payment method information, and updated authorization/capture details. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/update_a_payment___payments_developer_portal.md#_snippet_3 LANGUAGE: Json CODE: ``` { "transactionId": "4800ef65-f9e8-4c65-b99e-d537efca9ed1", "requestId": "a039333c-029a-4c1b-accb-51edc60b378f", "transactionState": "CLOSED", "responseStatus": "SUCCESS", "responseCode": "APPROVED", "responseMessage": "Transaction approved by Issuer", "paymentMethodType": { "card": { "cardType": "VI", "cardTypeName": "VISA", "isBillPayment": true, "maskedAccountNumber": "411234XXXXXX4113", "networkResponse": { "addressVerificationResult": "NOT_REQUESTED", "additionalData": { "electronicCommerceIndicator": "7" }, "paymentAccountReference": "Q1J4Z28RKA1EBL470G9XYG90R5D3E" }, "paymentAccountReference": "Q1J4Z28RKA1EBL470G9XYG90R5D3E" } }, "captureMethod": "NOW", "initiatorType": "CARDHOLDER", "accountOnFile": "NOT_STORED", "isVoid": false, "transactionDate": "2024-03-11T20:37:14.582Z", "approvalCode": "TST388", "hostMessage": "Approved", "isAmountFinal": true, "amount": 3000, "currency": "USD", "remainingRefundableAmount": 3000, "remainingAuthAmount": 0, "totalAuthorizedAmount": 10000, "hostReferenceId": "jmSdNuBeaa4uaLSHJFxnR7", "merchant": { "merchantId": "000017904374", "merchantSoftware": { "companyName": "Payment Company", "productName": "Application Name", "version": "1.235" }, "merchantCategoryCode": "4899" }, "paymentRequest": { "paymentRequestId": "4800ef65-f9e8-4c65-b99e-d537efca9ed1", "paymentRequestStatus": "CLOSED", "authorizations": [ { "authorizationId": "4800ef65-f9e8-4c65-b99e-d537efca9ed1", "amount": 10000, "transactionStatusCode": "CAPTURED", "authorizationType": "INITIAL" } ], "captures": [ { "captureId": "4800ef65-f9e8-4c65-b99e-d537efca9ed1", "amount": 3000, "transactionStatusCode": "CLOSED", "captureRemainingRefundableAmount": 3000 } ] } } ``` ---------------------------------------- TITLE: ACH Payment Request with Safetech Token (JSON) DESCRIPTION: Example JSON payload for initiating an ACH payment using a Safetech token as the account number. Specifies the payment type as 'WEB' and account type as 'SAVING'. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/tokenization___payments_developer_portal.md#_snippet_10 LANGUAGE: json CODE: ``` { "paymentMethodType": { "ach": { "accountNumber": "BTKNSTDPRIUP9PHTQKA", "paymentType": "WEB", "accountType": "SAVING" } } } ``` ---------------------------------------- TITLE: Authorizing Payment with Delayed Capture - JSON Request DESCRIPTION: Example JSON request body for initiating a payment authorization with automatic delayed capture via the /payments endpoint. Specifies the capture method, amount, currency, merchant details, and card payment method information. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/authorize_and_capture_a_payment___payments_developer_portal.md#_snippet_2 LANGUAGE: Json CODE: ``` { "captureMethod": "DELAYED", "amount": 1000, "currency": "USD", "merchant": { "merchantSoftware": { "companyName": "Payment Company", "productName": "Application Name" } }, "paymentMethodType": { "card": { "accountNumber": "4012000033330026", "expiry": { "month": 5, "year": 2027 } } } } ``` ---------------------------------------- TITLE: RTAU Response: Account Closed (JSON) DESCRIPTION: Example JSON response indicating that the account associated with the card has been closed. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/real_time_account_updater.md#_snippet_5 LANGUAGE: json CODE: ``` { "accountUpdater": { "requestAccountUpdater": true, "accountUpdaterResponse": "CLOSED_ACCOUNT", "accountUpdaterReasonCode": "SUCCESS", "accountUpdaterReasonMessage": "Account has been closed" }, "networkAccountUpdater": { "accountStatus": "C", "replacementCode": false } } ``` ---------------------------------------- TITLE: Verify Card Request JSON DESCRIPTION: Example JSON request body for verifying a card using the J.P. Morgan Payments API. It includes merchant software details, currency, and card information (account number and expiry). The request is sent via POST to the /verifications endpoint. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/verify_a_payment_method___payments_developer_portal.md#_snippet_0 LANGUAGE: json CODE: ``` { "merchant": { "merchantSoftware": { "companyName": "Payment Company", "productName": "Application Name" } }, "currency": "USD", "paymentMethodType": { "card": { "accountNumber": "4012000033330026", "expiry": { "month": "5", "year": "2027" } } } } ``` ---------------------------------------- TITLE: Successful Response Body for Immediate Authorization and Capture - JSON DESCRIPTION: Example JSON response body for a successful authorization with immediate capture. Shows the transaction details, state ('CLOSED'), response status ('SUCCESS'), and captured amount, along with masked card details and timestamps. Indicates the transaction is closed and only refundable. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/authorize_and_capture_a_payment___payments_developer_portal.md#_snippet_1 LANGUAGE: json CODE: ``` { "transactionId": "9f186d77-cb1b-4a9f-bb44-b5be91b891ac", "requestId": "40902d7b-4566-485c-bd07-7aef69557f55", "transactionState": "CLOSED", "responseStatus": "SUCCESS", "responseCode": "APPROVED", "responseMessage": "Transaction approved by Issuer", "paymentMethodType": { "card": { "cardType": "VI", "cardTypeName": "VISA", "maskedAccountNumber": "401200XXXXXX0026" } }, "captureMethod": "NOW", "captureTime": "2023-09-18T18:04:26.898Z", "initiatorType": "CARDHOLDER", "accountOnFile": "NOT_STORED", "isVoid": false, "transactionDate": "2023-09-18T18:04:26.898Z", "approvalCode": "tst021", "hostMessage": "Approved", "amount": 1000, "currency": "USD", "remainingRefundableAmount": 1234, "remainingAuthAmount": 0, "hostReferenceId": "xf1kGP1Q9zajkzcQ7SIpA6", "merchant": { "merchantId": "000017904371", "merchantSoftware": { "companyName": "Payment Company", "productName": "Application Name" }, "merchantCategoryCode": "4899" }, "paymentRequest": { "paymentRequestId": "9f186d77-cb1b-4a9f-bb44-b5be91b891ac", "paymentRequestStatus": "CLOSED", "authorizations": [ { "authorizationId": "9f186d77-cb1b-4a9f-bb44-b5be91b891ac", "amount": 1234, "transactionStatusCode": "CAPTURED", "authorizationType": "INITIAL" } ], "captures": [ { "captureId": "9f186d77-cb1b-4a9f-bb44-b5be91b891ac", "amount": 1234, "transactionStatusCode": "CLOSED", "captureRemainingRefundableAmount": 1234 } ] } } ``` ---------------------------------------- TITLE: RTAU Update: New Expiry Date (JSON) DESCRIPTION: Example JSON response showing an RTAU update where a new expiry date is provided for the card. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/real_time_account_updater.md#_snippet_6 LANGUAGE: json CODE: ``` { "accountUpdater": { "requestAccountUpdater": true, "accountUpdaterResponse": "NEW_EXPIRY", "accountUpdaterReasonCode": "SUCCESS", "accountUpdaterReasonMessage": "Account Update provided for Account Expiry" }, "networkAccountUpdater": { "accountStatus": "E", "replacementCode": true } } ``` ---------------------------------------- TITLE: Successful Delayed Capture Authorization - JSON Response DESCRIPTION: Example JSON response body indicating a successful authorization with delayed capture. Includes transaction details, state, response codes, payment method info, capture details, and merchant information. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/authorize_and_capture_a_payment___payments_developer_portal.md#_snippet_3 LANGUAGE: Json CODE: ``` { "transactionId": "9f186d77-cb1b-4a9f-bb44-b5be91b891ac", "requestId": "40902d7b-4566-485c-bd07-7aef69557f55", "transactionState": "AUTHORIZED", "responseStatus": "SUCCESS", "responseCode": "APPROVED", "responseMessage": "Transaction approved by Issuer", "paymentMethodType": { "card": { "cardType": "VI", "cardTypeName": "VISA", "maskedAccountNumber": "401200XXXXXX0026" } }, "captureMethod": "DELAYED", "captureTime": "2023-09-18T18:04:26.898Z", "initiatorType": "CARDHOLDER", "accountOnFile": "NOT_STORED", "isVoid": false, "transactionDate": "2023-09-18T18:04:26.898Z", "approvalCode": "tst021", "hostMessage": "Approved", "amount": 1000, "currency": "USD", "remainingRefundableAmount": 1234, "remainingAuthAmount": 0, "hostReferenceId": "xf1kGP1Q9zajkzcQ7SIpA6", "merchant": { "merchantId": "000017904371", "merchantSoftware": { "companyName": "Payment Company", "productName": "Application Name" }, "merchantCategoryCode": "4899" }, "paymentRequest": { "paymentRequestId": "9f186d77-cb1b-4a9f-bb44-b5be91b891ac", "paymentRequestStatus": "PENDING", "authorizations": [ { "authorizationId": "9f186d77-cb1b-4a9f-bb44-b5be91b891ac", "amount": 1234, "transactionStatusCode": "AUTHORIZED", "authorizationType": "INITIAL" } ] } } ``` ---------------------------------------- TITLE: Payments API Response with Masked Card Data and Token DESCRIPTION: This JSON example illustrates the structure of a Payments API response after processing a transaction using encrypted card data. It shows the masked account number and details of the generated SAFETECH payment token. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/encryption___payments_developer_portal.md#_snippet_6 LANGUAGE: JSON CODE: ``` { "paymentMethodType": { "card": { "maskedAccountNumber": "401200XXXXXX1112", "paymentTokens": [ { "tokenProvider": "SAFETECH", "tokenNumber": "4012000803101112", "responseStatus": "SUCCESS" } ] } } } ``` ---------------------------------------- TITLE: RTAU Update: New Account Number and Expiry (JSON) DESCRIPTION: Example JSON response showing an RTAU update where both a new account number and a new expiry date are provided. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/real_time_account_updater.md#_snippet_4 LANGUAGE: json CODE: ``` { "accountUpdater": { "requestAccountUpdater": true, "accountNumber": "4012001037141112", "newAccountExpiry": { "month": 12, "year": 2025 }, "accountUpdaterResponse": "NEW_ACCOUNT_AND_EXPIRY", "accountUpdaterReasonCode": "SUCCESS", "accountUpdaterReasonMessage": "Account Update provided for both account number and expiry" }, "networkAccountUpdater": { "accountStatus": "A", "replacementCode": true } } ``` ---------------------------------------- TITLE: Standalone Refund Response Body (JSON) DESCRIPTION: This JSON object shows an example response received after successfully submitting a standalone refund request. It contains transaction details such as transaction ID, state, amount, currency, response status and codes, approval code, host message, transaction date, merchant details, and processed card information including masked account number and network response data. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/refund_a_payment___payments_developer_portal.md#_snippet_5 LANGUAGE: Json CODE: ``` { "transactionId": "94d1dd5b-2c81-4896-a159-c726af81883a", "requestId": "e8cc1a4a-3869-420f-866c-02c53a370182", "transactionState": "AUTHORIZED", "amount": 1234, "currency": "USD", "responseStatus": "SUCCESS", "responseCode": "APPROVED", "responseMessage": "Transaction approved by Issuer", "approvalCode": "tst825", "hostMessage": "Approved", "initiatorType": "CARDHOLDER", "accountOnFile": "NOT_STORED", "transactionDate": "2024-07-31T14:16:04.869Z", "merchant": { "merchantId": "000017904371", "merchantSoftware": { "companyName": "Payment Company", "productName": "Application Name", "version": "1.235" }, "merchantCategoryCode": "4899" }, "paymentMethodType": { "card": { "cardTypeName": "VISA", "cardType": "VI", "maskedAccountNumber": "401200XXXXXX0026", "cardTypeIndicators": { "issuanceCountryCode": "USA", "isLevel2Eligible": false, "isLevel3Eligible": false, "isDurbinRegulated": false, "cardProductTypes": [ "COMMERCIAL", "PINLESS_DEBIT" ] }, "networkResponse": { "addressVerificationResult": "NOT_REQUESTED", "additionalData": { "electronicCommerceIndicator": "7", "productId": "F", "posEntryMode": "01", "returnAci": "T", "validationCode": "V7JO" }, "networkTransactionId": "014213692168401" } } }, "hostReferenceId": "S6JU1UmjVPOQFCmUjthEF7", "paymentRequest": { "paymentRequestId": "94d1dd5b-2c81-4896-a159-c726af81883a", "paymentRequestStatus": "CLOSED", "refunds": [ { "refundId": "94d1dd5b-2c81-4896-a159-c726af81883a", "amount": 1234, "transactionStatusCode": "CLOSED" } ] } } ``` ---------------------------------------- TITLE: Incremental Authorization Request Body (JSON) DESCRIPTION: Example JSON body for a PATCH request to update a payment with an incremental authorization. It includes the new total authorized amount in the 'amount' field. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/update_a_payment___payments_developer_portal.md#_snippet_0 LANGUAGE: Json CODE: ``` { "amount": 15000 } ``` ---------------------------------------- TITLE: Submitting Payment Request with RTAU Enabled (Json) DESCRIPTION: Example JSON payload for a POST request to the /payments endpoint to submit a Visa transaction with the Real-time Account Updater service explicitly enabled by setting requestAccountUpdater to true. This is used for eligible recurring or stored payment transactions. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/real_time_account_updater.md#_snippet_0 LANGUAGE: Json CODE: ``` { "paymentMethodType": { "card": { "accountNumber": "4012001037141112", "expiry": { "month": 5, "year": 2025 }, "accountUpdater": { "requestAccountUpdater": true } } } } ``` ---------------------------------------- TITLE: Void Authorization Response Body (JSON) DESCRIPTION: This JSON snippet provides an example of the response received after successfully voiding an authorization. Key fields like `transactionState` (showing "VOIDED"), `responseStatus` ("SUCCESS"), and `isVoid` (`true`) confirm the transaction's status. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/how-to/update_a_payment___payments_developer_portal.md#_snippet_5 LANGUAGE: json CODE: ``` { "transactionId": "7dcf2f28-2ce2-4f31-985b-e6c8d6138329", "requestId": "b53710da-608e-4fc2-b3cd-6ee9e1af96df", "transactionState": "VOIDED", "responseStatus": "SUCCESS", "responseCode": "APPROVED", "responseMessage": "Transaction approved by Issuer", "paymentMethodType": { "card": { "cardType": "VI", "cardTypeName": "VISA", "isBillPayment": true, "maskedAccountNumber": "411234XXXXXX4113", "networkResponse": { "addressVerificationResult": "NOT_REQUESTED", "additionalData": { "electronicCommerceIndicator": "7" }, "paymentAccountReference": "Q1J4Z28RKA1EBL470G9XYG90R5D3E" }, "paymentAccountReference": "Q1J4Z28RKA1EBL470G9XYG90R5D3E" } }, "initiatorType": "CARDHOLDER", "accountOnFile": "NOT_STORED", "isVoid": true, "transactionDate": "2024-03-11T20:39:29.007Z", "approvalCode": "tst101", "hostMessage": "Approved", "isAmountFinal": true, "amount": 1234, "currency": "USD", "remainingAuthAmount": 0, "hostReferenceId": "3nMRv8pnX9lWXEIQezTqx3", "merchant": { "merchantId": "000017904374", "merchantSoftware": { "companyName": "Payment Company", "productName": "Application Name", "version": "1.235" }, "merchantCategoryCode": "4899" }, "paymentRequest": { "paymentRequestId": "7dcf2f28-2ce2-4f31-985b-e6c8d6138329", "paymentRequestStatus": "CANCELLED", "authorizations": [ { "authorizationId": "7dcf2f28-2ce2-4f31-985b-e6c8d6138329", "amount": 1234, "transactionStatusCode": "VOIDED", "authorizationType": "INITIAL" } ] } } ``` ---------------------------------------- TITLE: Payments API Request with Encrypted Card Data DESCRIPTION: This JSON example shows how encrypted card details obtained from client-side page encryption are structured within the paymentMethodType.card object for a Payments API transaction request. It includes the encrypted account number, CVV, and the encryption integrity check value. SOURCE: https://github.com/devotts/jpmorgan-api-docs/blob/main/docs/payment-enhancement/encryption___payments_developer_portal.md#_snippet_5 LANGUAGE: JSON CODE: ``` { "paymentMethodType": { "card": { "accountNumberType": "SAFETECH_PAGE_ENCRYPTION", "accountNumber": "401200jpLWkYXHd1112", "expiry": { "month": 5, "year": 2025 }, "cvv": "5D4C3B", "encryptionIntegrityCheck": "ABCDFKEJGJTHFHG" } } } ```