Skip to main content
Wire Transactions

Integration guide

This guide helps you connect your systems to the J.P. Morgan U.S. Wire API. You’ll learn how to register, set up your environment, send wire payments, and handle errors—so you can manage wire transfers securely and efficiently.

Get started

Step 1: Register for the Developer Portal

  1. Go to developer.payments.jpmorgan.com and select Sign in / Register.
  2. Create a new account using your email or a linked social account.
  3. Check your email for a one-time password (OTP) from noreply@jpmorgan.com.
  4. Enter the OTP to verify your identity.
  5. After registration, you’ll get a welcome email with a Quick Start guide.

Tip: Let your J.P. Morgan Sales Representative know when you’re ready to start onboarding.

Set up your environment

Step 2: Get API documentation

  • Log in to the Developer Portal.
  • Click API Ref at the top.
  • Click All products and scroll to Wire Transactions.
  • Review the API documentation and schema for details on endpoints and required fields.

Step 3: Obtain certificates

Step 4: Choose your environment

  • CAT/UAT: For testing and development.
  • PROD: For live transactions (after testing is complete).

Initiate a wire payment

Step 5: Build your payment request

  • Use the API documentation to format your payment initiation request.
  • Only use allowed characters (A-Z, a-z, 0-9, and a few special characters like /, -, ?, :, (, ), ., , ‘, +, and space).
  • Make sure all required fields are included (see schema in the Developer Portal).

Sample JSON:

{
  "paymentMethod": "TRF",
  "paymentTypeInformation": { "serviceLevelCode": "URGP" },
  "requestedExecutionDate": "2023-10-12",
  "debtor": { "name": "ABC Inc", "postalAddress": { "country": "US" } },
  "debtorAccount": { "accountNumber": "1234567890", "currency": "USD" },
  "debtorAgent": { "country": "US", "aba": "021000021" },
  "creditTransferTransactionInformation": {
    "endToEndId": "AA4AFR6QJIFJVRB",
    "amount": { "instructedAmount": { "amount": 300.0, "currency": "USD" } }
  },
  "creditor": { "name": "ALOHA KEIKI", "postalAddress": { "country": "US" } },
  "creditorAccount": { "accountNumber": "100567" },
  "creditorAgent": { "country": "US", "aba": "334476012" },
  "remittanceInformation": { "unstructured": [ "ABC 888-555-3322" ] }
}

Track and manage payments

Step 6: Check payment status

  • Use the Track-n-Trace API to check the status of your wire payments.
  • For SWIFT payments, use the Track-n-Trace with GPI API for global tracking.

Step 7: Handle returns

  • To return an incoming wire, send a new payment initiation request with the original endToEndId and today’s date.
  • You can return the full or partial amount.

Common payment rejection scenarios

Use this table to identify common payment rejection scenarios, understand their underlying causes, and determine the information you should review or update before resubmitting a payment.

Common payment rejection scenarios
Error Meaning Potential resolution
CH21 Party Private ID details are invalid Verify birthDate, cityOfBirth, countryOfBirth
Mandatory field missing/invalid Missing network-required data Review payment-network requirements
Beneficiary validation error Beneficiary data failed validation Review beneficiary details and country requirements

Support

  • For help, email api.service.support@jpmchase.com or call +1-978-805-1200, Option 1.
  • Include your name, email, company name, username, and a brief explanation of your issue.
  • Maintenance windows are usually Saturday 8:00 PM ET to Sunday 5:00 AM ET (shifting to 5:00 PM ET in August 2024).