Chase Paymentech
Authentication
In order to connect your chase payment account with Leapfin, you need to request Chase Paymentech to enable SFTP on your production account.
Leapfin needs following information regarding the SFTP account. Please contact Chase Paymentech support for the information.
required fields:
- Server host name
- User name
- Password or Private key (either one of them will be sufficient)
optional fields:
- Private key password (required only if SFTP private key is password protected)
- Outbox or folder name (required only if the files are not placed in the root directory)
- Host key or Host key fingerprint (required only if you need enhanced security. Providing one of them will be sufficient)
- File decryption private key (required only if the files on SFTP server are encrypted)
- File decryption private key password (required only if the files on SFTP server are encrypted using a password protected key)
Data Sources
Once authenticated, Leapfin fetches information related to submissions, fees, deposits, chargebacks and foreign exchange rate from Chase Paymentech via SFTP.
DELIMITED FILE REPORTS
Chase Paymentech sends Delimited File Reports (DFR) via sftp. DFR are downloaded daily.
The DFR contains various types of records. For the schema of the DFR, look here
For each file from DFR with header record (Record Type = "HPDE0017"), each detail record (Record Type = "RPDE0017D") is imported as chase-paymentech-chargeback-detail
into Leapfin.
Sample Data
{
"category": "RECD",
"companyId": "XXXxX",
"feeAmount": "",
"usageCode": "9",
"entityType": "TD",
"reasonCode": "11.3",
"recordType": "RPDE0017D",
"statusFlag": "",
"activityDate": "08/23/2020",
"entityNumber": "18142",
"reportDateTo": "08/23/2020",
"ticketNumber": "",
"accountNumber": "XXXXXXXXXXXXXX33",
"reportDateFrom": "08/23/2020",
"sequenceNumber": "XXXxX",
"tokenIndicator": "0",
"methodOfPayment": "VI",
"transactionDate": "06/29/2020",
"authorizationDate": "06/29/2020",
"chargebackDueDate": "09/10/2020",
"settlementCurrency": "USD",
"merchantOrderNumber": "XXXxX",
"presentmentCurrency": "USD",
"reportGenerationDate": "08/23/2020",
"reportGenerationTime": "20:18:28",
"chargebackInitiatedDate": "08/23/2020",
"potentialBundledChargebacks": "",
"previousPartialRepresentment": "N",
"currentActionSettlementCurrencyAmount": "599.00",
"issuerChargebackSettlementCurrencyAmount": "599.00",
"issuerChargebackPresentmentCurrencyAmount": "599.00",
"currentActionPresentmentCurrencyChargebackAmount": "599.00"
}
For each file from DFR with header record (Record Type = "HFIN0010"), each detail record (Record Type = "RFIN0010") is imported as chase-paymentech-deposit-summary
into Leapfin.
Sample Data
{
"count": "1",
"amount": "9.00",
"category": "SALE",
"companyId": "XXXXX",
"entityType": "TD",
"recordType": "RFIN0010",
"entityNumber": "XXXXX",
"reportDateTo": "03/22/2020",
"reportDateFrom": "03/22/2020",
"methodOfPayment": "JC",
"settledOrConveyed": "S",
"settlementCurrency": "USD",
"foreignExchangeRate": "1",
"presentmentCurrency": "USD",
"reportGenerationDate": "03/23/2020",
"reportGenerationTime": "04:13:44",
"secureBankAccountNumber": "XXXXX",
"fundsTransferInstructionNumber": "XXXXX"
}
For each file from DFR with header record (Record Type = "HACT0010"), each detail record (Record Type = "RACT0010") is imported as chase-paymentech-deposit-detail
into Leapfin.
{
"amount": "29.50",
"reserved": "",
"companyId": "16823",
"actionCode": "DP",
"entityType": "TD",
"rdfiNumber": "",
"recordType": "RACT0010",
"presenterId": "xxxxx",
"traceNumber": "",
"entityNumber": "xxxxx",
"recordNumber": "115",
"reportDateTo": "08/22/2020",
"accountNumber": "XXXXXXXXXXXX9810",
"voucherNumber": "",
"cashbackAmount": "",
"expirationDate": "01/23",
"reportDateFrom": "08/22/2020",
"submissionDate": "08/22/2020",
"tokenIndicator": "",
"methodOfPayment": "MC",
"surchargeAmount": "",
"submissionNumber": "xxxxx.098Ci",
"authorizationCode": "xxxxx",
"authorizationDate": "08/22/2020",
"settlementCurrency": "USD",
"consumerCountryCode": "",
"merchantCountryCode": "5968",
"merchantOrderNumber": "xxxxx",
"presentmentCurrency": "TRY",
"presenterIdShortName": "xxxxx",
"reportGenerationDate": "08/23/2020",
"reportGenerationTime": "01:51:47",
"authorizationResponseCode": "100",
"electronicsBenefitsTransferAccountType": ""
}
For each file from DFR with header record (Record Type = "HACT0012"), each detail record (Record Type = "RACT0012") is imported as chase-paymentech-submission-listing
into Leapfin.
{
"status": "Accepted",
"companyId": "XXXXX",
"entityType": "TD",
"recordType": "RACT0012",
"presenterId": "XXXXX",
"entityNumber": "XXXXX",
"reportDateTo": "03/22/2020",
"reportDateFrom": "03/22/2020",
"submissionDate": "03/21/2020",
"submissionTime": "22:03:39",
"submissionNumber": "XXXXX.0009i",
"transactionCount": "132",
"authorizationCount": "0",
"settlementCurrency": "USD",
"presentmentCurrency": "USD",
"declinedDepositCount": "0",
"presenterIdShortName": "vincia",
"reportGenerationDate": "03/23/2020",
"reportGenerationTime": "03:35:07",
"successfullDepositCount": "132",
"rejectedTransactionCount": "0",
"successfullNetDepositAmount": "8374.36",
"nonFinancialTransactionCount": "0",
"cancelledOrOnholdDepositCount": "0",
"cancelledOrOnholdNetDepositAmount": "0.00"
}
For each file from DFR with header record (Record Type = "HFIN0011"), each detail record (Record Type = "RFIN0011") is imported as chase-paymentech-servicecharge-detail
into Leapfin.
{
"amount": "",
"unitFee": "0.0250",
"category": "IA",
"companyId": "XXXXX",
"actionType": "V",
"entityType": "TD",
"recordType": "RFIN0011",
"subCategory": "IC",
"totalCharge": "-50.08",
"entityNumber": "18142",
"reportDateTo": "03/22/2020",
"unitQuantity": "1759",
"feeScheduleId": "29225062",
"percentageRate": "0",
"reportDateFrom": "03/22/2020",
"methodOfPayment": "VI",
"feeTypeDescription": "Verification",
"settlementCurrency": "USD",
"presentmentCurrency": "USD",
"reportGenerationDate": "03/23/2020",
"reportGenerationTime": "03:34:21",
"secureBankAccountNumber": "XXXXX",
"interchangeQualification": "NONE",
"fundsTransferInstructionNumber": "XXXXX"
}
Mapping Logics
chase-paymentech-deposit-detail
For each file from DFR with header record (Record Type = "HACT0010"), each detail record (Record Type = "RACT0010") is imported as chase-paymentech-deposit-detail
into Leapfin.
Create a payment
Leapfin creates a payment object for each record if chase-paymentech-deposit-detail.actionCode
is any of the following ["B", "D", "H", "I", "DC", "DO", "DP", "OD", "VD"]
Target: leapfinPayment (schema) | Source:chase-paymentech-deposit-detail (schema) page 33 |
---|---|
objectType | “payment” |
id | concatenate the fields from chase-paymentech-deposit-detail -- e.g. "08222020-00822.098Ci-115" |
amount | chase-paymentech-deposit-detail.amount |
currencyCode | chase-paymentech-deposit-detail.presentmentCurrency |
date | chase-paymentech-deposit-detail.submissionDate |
succeededDate | same as date above |
description | '' |
status | “succeeded” |
exchangeRate | we map in rate fromchase-paymentech-deposit-detail.foreignExchangeRate and currencyCode from chase-paymentech-deposit-detail.settlementCurrency |
customFields | The following fields from source record are added: -- chase-paymentech-deposit-detail.merchantOrderNumber -- chase-paymentech-deposit-detail.settlementCurrencyCode |
links | None |
Create a refund
Leapfin creates a refund object for each record if chase-paymentech-deposit-detail.actionCode
is any of the following ["N", "R", "ER", "RD", "RF"]
Target: leapfinRefund (schema) | Source:chase-paymentech-deposit-detail.actionCode (schema) page 33 |
---|---|
objectType | “refund” |
id | concatenate the fields from chase-paymentech-deposit-detail -- e.g. "08222020-00822.098Ci-115" |
amount | chase-paymentech-deposit-detail.amount |
currencyCode | chase-paymentech-deposit-detail.presentmentCurrency |
date | chase-paymentech-deposit-detail.submissionDate |
status | “succeeded” |
exchangeRate | we map in rate fromchase-paymentech-deposit-detail.foreignExchangeRate and currencyCode from chase-paymentech-deposit-detail.settlementCurrency |
customFields | The following fields from source record are added: -- chase-paymentech-deposit-detail.merchantOrderNumber -- chase-paymentech-deposit-detail.settlementCurrencyCode |
links | None |
chase-paymentech-servicecharge-detail
For each file from DFR with header record (Record Type = "HFIN0011"), each detail record (Record Type = "RFIN0011") is imported as chase-paymentech-servicecharge-detail
into Leapfin.
Create a fee
Leapfin creates a fee object for each record in the chase-paymentech-servicecharge-detail
Target: LeapfinFee (schema) | Source:chase-paymentech-servicecharge-detail (schema page 109 |
---|---|
objectType | "fee" |
id | concatenate the fields from chase-paymentech-servicecharge-detail - - row-index start from 1 - e.g. "03222020-1343" |
amount | negative chase-paymentech-servicecharge-detail.totalCharge postive amount is a fee, negative amount is reversal of a fee |
currencyCode | chase-paymentech-servicecharge-detail.settlementCurrency |
date | chase-paymentech-servicecharge-detail.reportDateFrom |
description | chase-paymentech-servicecharge-detail.feeTypeDescription |
customFields | The following fields from source record are added: -- chase-paymentech-servicecharge-detail.category -- chase-paymentech-servicecharge-detail.subCategory -- chase-paymentech-servicecharge-detail.actionType -- chase-paymentech-servicecharge-detail.presentmentCurrency |
links | none |
chase-paymentech-chargeback-detail
For each file from DFR with header record (Record Type = "HPDE0017"), each detail record (Record Type = "RPDE0017D") is imported as chase-paymentech-chargeback-detail
into Leapfin.
create a dispute
Leapfin creates a dispute object for each record in the chase-paymentech-chargeback-detail
Target: LeapfinDispute (schema) | Source: chase-paymentech-chargeback-detail (schema) page 138 |
---|---|
objectType | "dispute" |
id | chase-paymentech-chargeback-detail.sequenceNumber |
amount | absolute value of chase-paymentech-chargeback-detail.currentActionPresentmentCurrencyChargebackAmount |
currencyCode | chase-paymentech-chargeback-detail.presentmentCurrency |
date | chase-paymentech-chargeback-detail.chargebackInitiatedDate |
status | If chase-paymentech-chargeback-detail.category is "OPADENY", then set status as "lost".else if chase-paymentech-chargeback-detail.category is "OPAACCEPT" or "R", set status as "won"Otherwise, set status as "pending". |
initiatedDate | chase-paymentech-chargeback-detail.chargebackInitiatedDate |
resolvedDate | If chase-paymentech-chargeback-detail.category is "OPADENY" or"OPAACCEPT" or "R", then set resolvedDate as chase-paymentech-chargeback-detail.activityDate .else do not update or set as Null |
description | chase-paymentech-chargeback-detail.category |
customFields | The following fields from source record are added: -- chase-paymentech-chargeback-detail.merchantOrderNumber -- chase-paymentech-chargeback-detail.settlementCurrencyCode -- chase-paymentech-chargeback-detail.currentActionSettlementCurrencyAmount -- chase-paymentech-chargeback-detail.issuerChargebackPresentmentCurrencyAmount -- chase-paymentech-chargeback-detail.issuerChargebackSettlementCurrencyAmount |
links | None |
Updated 7 months ago