Payment API
This document provides a comprehensive migration guide for transitioning from FedNow to PIPA (PayCenter Instant Payments API) Payment API functionality.
It highlights all essential changes including endpoints, headers, request/response structures, identifiers, and error handling to ensure a smooth migration process.
1. Endpoint & Header
API Endpoint
| Area | FedNow | PIPA |
|---|---|---|
| HostName | Sandbox : fedwag01.eagle.jhapaycenter.com Production: fedwag01.tango.jhapaycenter.com | Sandbox : ipa01.eagle.jhapaycenter.com Production: ipa01.tango.jhapaycenter.com |
| URL | /v1/institutions/{senderrtn}/environments/{envname}/products/paycenter/networks/fednow/credit-transfers | /v2/paycenter/institutions/{senderrtn}/environments/{envname}/products/pipa/credit-transfers |
Header
| Header | FedNow | PIPA |
|---|---|---|
| X-Request-ID | • Renamed as OriginatorReferenceId • Optional • Unique per request • Must follow UUID format | • Required • Unique per request • Must follow UUID format • Returned in all response headers |
2. Request Body
Debtor
| Field | FedNow | PIPA |
|---|---|---|
| Name | Optional | Required |
| AccountNumber | Required | Required |
| AccountType | Required Allowed types: Checking, Savings, MICR | Required Allowed types: Checking, Savings, MICR |
| UltimateDebtor.Name | Optional | Optional |
Creditor
| Field | FedNow | PIPA |
|---|---|---|
| Name | Required | Required |
| RoutingNumber | Required | Required |
| AccountNumber | Required | Required |
| UltimateCreditor.Name | Optional | Optional |
CreditTransferDescription
| Field | FedNow | PIPA |
|---|---|---|
| Amount | Required | Required |
| TransferFee | Not Available | Optional |
| OriginatorType | Required Allowed types: CONSUMER, BUSINESS, GOVERNMENT | Required Allowed types: CONSUMER, BUSINESS, GOVERNMENT |
| UserName | Required | Required |
| Notes | Optional | Optional |
For more details:
- Refer Payment API
3. Response Body
| Area | FedNow | PIPA |
|---|---|---|
| Structure | Nested within CreditTransfer Object | Flattened structure with primary identifiers at the top level |
| Primary Identifier | CreditTransfer.Id | PmtHubTrakId |
| Status | CreditTransfer.Status | Status |
For more details:
- Refer Payment API
4. Error Response
| Area | FedNow | PIPA |
|---|---|---|
| Structure | Simple object inside CreditTransfer | Standard PIPA error schema (consistent across all APIs) |
| Key Fields | Message, Error (Code, Description) | ResponseCode, Description, MessageSource, Details[], LogId |
| Code | Error.Code | Details[].Code |
| Description | Error.Description | Details[].Description |
For more details:
- Refer Payment API
5. Duplicate Error Response
| Area | FedNow | PIPA |
|---|---|---|
| Original Transaction Identifier | CreditTransfer.OriginalTransactionDetails.Id | OriginalTransactionDetails.PmtHubTrakId |
| Status | CreditTransfer.OriginalTransactionDetails.Status | OriginalTransactionDetails.Status |
For more details:
- Refer Payment API
6. EES & Events
| Area | FedNow | PIPA |
|---|---|---|
| Primary Identifiers | NetworkPrimaryReferenceId, TrnRcptId, PmtHubTrakId, X-Request-ID, PaymentIntegratorCode, PmtRailType | NetworkPrimaryReferenceId, TrnRcptId, PmtHubTrakId, X-Request-ID, PaymentIntegratorCode, PmtRailType |
| Events | Outbound - DrPmt/Acpt,DrPmt/Rej Inbound - CrPmt/Acpt | Outbound - DrPmt/Acpt,DrPmt/Rej Inbound - CrPmt/Acpt |
For more details:
- Refer Payment API -> EES Event 800
Migration Checklist
Quick Migration Steps
- Update endpoints → Switch to PIPA hostnames and updated API paths.
- Update headers → Use required
X-Request-ID(UUID, unique per request) instead of optionalOriginatorReferenceId. - Add required fields → Ensure Debtor.Name and Debtor.AccountType are provided as required in PIPA.
- Handle new response → Use the flattened PIPA structure and read identifiers from
PmtHubTrakId. - Update error handling → Implement the PIPA standard error schema (
ResponseCode,Description,MessageSource,Details[],LogId).