GLOBAL PAYMENTS API V2 CLIENT INTEGRATION GUIDE
GP2 API CLIENT INTEGRATION GUIDE - VIEW DOCUMENT 2025 ONLINE Table of Contents 1. Introduction
4
5 2. Navigating the Payments Developer Portal (PDP*)
.
6
7
:
8
9 10 �
11
12 13 3. Client Onboarding
To
14
To
15 16 17 18 19 20 21 22 4. Payment Statuses and Events
23
24 25 26 27 1. Sample Payload on GP2 � Push to Wallet
{
"requestedExecutionDate": "2025-10-15", "paymentIdentifiers": {
"endToEndId": "PUSHTOWALLET1234"
}, "transferType": "CREDIT", "value": {
"currency": "USD",
"amount": "100.01"
}, "paymentType": "PAYPAL", "debtor": { "name": "John Smith", "account": {
"accountNumber": "083472915624308",
"accountType": "DDA"
}
}, "debtorAgent": { "financialInstitutionIds": [ {
"id": "CHASUS33",
"idType": "BIC"
}
]
}, "creditor": { "name": "JPMC", "account": { "alternateAccountIdentifiers": [ {
"identifier": "test123@email.com",
"idType": "PROPRIETARY",
"proprietarySchemeName": "EMAL"
}
]
},
"postalAddress": {
"postalCode": "10001",
"country": "US"
}
}, "paymentPurpose": { "purpose": { "proprietary": "GOODS" } }, "remittanceInformation": { "unstructuredInformation": [ { "text": "Sample remittance info" } ] } }
28
2. Synchronous Response � Accepted & Created Payment
{ "paymentId": "1b2c3d4e-5f6a-7b8c-9d0e-f1a2b3c4d5e6", "paymentStatus": "ACCEPTED", "paymentSubStatus": "ACCEPTED", "statusUpdatedAt": "2025-10-15T18:48:57Z", "requestedExecutionDate": "2024-10-22", "paymentIdentifiers": { "endToEndId": " aBcDeFgHiJkLmNoP " }, "transferType": "CREDIT", "paymentType": "RTP"
}
3. Synchronous Response � Duplicate payment (same endToEndId within 60 days)
{ "duplicateOf": { "paymentId": "1b2c3d4e-5f6a-7b8c-9d0e-f1a2b3c4d5e6", "paymentIdentifiers": { "endToEndId": "aBcDeFgHiJkLmNoP" } }, "links": { "payment": "v2/payments/1b2c3d4e-5f6a-7b8c-9d0e-f1a2b3c4d5e6" }, "reason": { "code": "11909", "location": "BODY", "message": "This is a business duplicate, refer to documentation." }
}
29
4. Synchronous Response � Duplicate payment (same idempotency key used within 24 hours)
{ "title": "Idempotency Failure", "httpStatus": 422, "traceId": "00-00000000000000005ba75849d3ff8f2c-0ead1367b673c311-01", "context": [ { "code": "10106", "message": "Idempotency Key must not be reused across different payloads of this
operation" }
]
}
5. Synchronous Response � Other Rejections
{ "title": "Forbidden", "httpStatus": 403, "traceId": "00-0000000000000000638c257dd60e6662-638c257dd60e6662-01", "context": [ { "code": "14000", "message": "Security failure" } ]
}
30
6. Asynchronous Response/ Webhook � Processing or Completed
{ "specversion": "1.0.0", "id": "ec521d12-416e-4f48-a1b8-1d61e40146d2", "time": "2025-07-18T07:03:22.503+00:00", "type": "Payment.Completed", "source": "payment/v2/payments?endToEndId=IMPS_0718123057", "dataschema": "urn:com.jpmorgan.payments/payment-event", "data": { "payments": [ { "paymentId": "01981c56-0e48-7000-bfec-6fb5be1b3cc0", "requestedExecutionDate": "2025-01-06", "paymentStatus": "COMPLETED", "paymentSubStatus": "COMPLETED_BY_JPM", "statusUpdatedAt": "2025-07-18T07:03:22.503+00:00", "paymentIdentifiers": { "endToEndId": "IMPS_0718123057" }, "paymentType": "RTP", "transferType": "CREDIT", "clearingSystem": { "reference": "D49KMSHY8GG2" } } ] }
}
31
7. Asynchronous Response/ Webhook � Payment Rejected
{
"specversion": "1.0.0",
"id": "25d712f7-3dd9-48f4-a69e-a3135e7ed9e5",
"time": "2025-07-18T07:30:10.170+00:00",
"type": "Payment.Rejected",
"source": "payment/v2/payments?endToEndId=IMPS_0718120916",
"dataschema": "urn:com.jpmorgan.payments/payment-event",
"data": {
"payments": [
{
"paymentId": "01981c42-3439-7000-87cc-52975776be03",
"requestedExecutionDate": "2025-01-06",
"paymentStatus": "REJECTED",
"paymentSubStatus": "REJECTED",
"statusUpdatedAt": "2025-07-18T07:30:10.170+00:00",
"paymentIdentifiers": {
"endToEndId": "IMPS_0718120916"
},
"paymentType": "RTP",
"transferType": "CREDIT",
"clearingSystem": {
"reference": "519912266003"
},
"exceptions": [
{
"code": "11006",
"message": "Account specified is blocked, prohibiting posting of transactions against
it.",
"location": "BODY",
"additionalContext": [
{
"type": "ISO20022",
"code": "AC06",
"message": "Account specified is blocked, prohibiting posting of transactions
against it"
}
]
}
]
}
]
}
}
32
8. Get Status � Sample Schema
{ "paymentId": "a1b2c3d4-e5f6-1234-abcd-abcdef123456", "requestedExecutionDate": "2025-01-06", "paymentStatus": "COMPLETED", "paymentSubStatus": "COMPLETED_BY_JPM", "statusUpdatedAt": "2025-07-18T07:03:19.214+00:00", "paymentIdentifiers": { "endToEndId": "INDIAIMPS1234" }, "paymentType": "RTP", "transferType": "CREDIT", "clearingSystem": { "reference": "AB12CD34EF56" }
}
33
1. Brazil RTP Returns � Full return
{ "paymentType": "RTP", "originalPaymentIdentifiers": { "clearingSystemReference": "2QJ0B5XH320E059B117983652402Y5Q" }, "paymentIdentifiers": { "endToEndId": "015520300215950001" }, "chargeBearer": "DEBTOR", "country": "BR", "returnType": "FULL"
}
2. Brazil RTP Returns � Partial return
{ "paymentType": "RTP", "originalPaymentIdentifiers": { "clearingSystemReference": "185E2954302601583511865029340558" }, "paymentIdentifiers": { "endToEndId": "K105250090305750052" }, "chargeBearer": "DEBTOR", "country": "BR", "returnType": "PARTIAL", "value": { "amount": "30", "currency" : "BRL" }
}
34
5. Error Handling
US ACH Sample
{ "paymentId": "842c11d0-dbf9-4ae9-969e-5f5802ad0fac", "requestedExecutionDate": "2025-10-28", "paymentStatus": "RETURNED", "paymentSubStatus": "RETURNED", "statusUpdatedAt": "2025-10-29T07:03:19.214+00:00", "paymentIdentifiers": { "endToEndId": "USACH1234" }, "paymentType": "ACH", "transferType": "CREDIT", "exceptions": [ { "code": "11001", "message": "Account number is invalid or missing", "additionalContext": [ { "code": "AC01", "type": "EXTERNAL", "message": "Account number is invalid or missing" }, { "code": "C14", "type": "CLEARING_NACHA", "message": "Incorrect DFI Account Number. Please use 123456789" } ] } ]
}
35
36 6. Ancillary API compatibility
37
38 7. Support & Troubleshooting
�
�
39
8. Other Resources Coming Soon
40
GP2 API CLIENT INTEGRATION GUIDE - 2025