Chase Paymentech

Follow the standard PaymentsOS integration procedure, and then apply the relevant extra specifications in this section to integrate with Chase Paymentech.

API Version

Minimum required API version: 1.1.0

The following features require an API version higher than the minimum:

  • 3DS 2.0 External requires API version 1.3.0

Payment Methods

Payment MethodPayment Method Type
American ExpressCards
ChaseNetCards
DISCOVERCards
DISCOVER DINERSCards
JCBCards
MASTERCARDCards
VISACards

Currencies

For charging a customer:
AED,AMD,ARS,AUD,AZN,BDT,BGN,BIF,BND,BOB,BRL,BWP,BYN,BZD,CAD,CHF,CLP,CNY,COP,CRC,CZK,DJF,DKK,DOP,DZD,EGP,ETB,EUR,GBP,GEL,GHS,GNF,GTQ,HKD,HNL,HUF,IDR,ILS,INR,ISK,JMD,JPY,KES,KGS,KHR,KMF,KRW,KZT,LBP,LKR,MAD,MDL,MGA,MOP,MUR,MXN,MYR,MZN,NAD,NGN,NIO,NOK,NPR,NZD,PAB,PEN,PHP,PKR,PLN,PYG,QAR,RON,RUB,RWF,SAR,SEK,SGD,SOS,THB,TOP,TRY,TTD,TWD,TZS,UAH,UGX,USD,UYU,UZS,VES,VND,XAF,XOF,YER,ZAR
Forsettlements:
AUD,CAD,EUR,GBP,USD

Features

The following table provides an overview of all supported and non-supported features.

FeatureSupportedNotes
3DS 2.0 ExternalYes
3DS 2.0 PaymentsOS-handledNo
3DS 2.0 Provider-handledNo
3DS 2.0 Self-handledNo
InstallmentsNo
Level 2 and 3 DataYes
Multi-seller PaymentsNo
Network TokensNo
Payment FacilitatorNo
PayU RiskNo
Pre-authorizationNo
Retrieve Supported Payment MethodsNo
Retrieve Supported PlansNo
Statement Soft DescriptorYes
Stored Credentials FlagYes
Transaction Processing without CVVYesTransaction processing without CVV is not supported with VISA and DISCOVER.

Requests

The following table lists all supported requests for card-based transactions. Use the bodybuilder to create a sample request body for each request type.

RequestPartial/MultipleModeNotes
AuthorizePartial and multiple are not supportedSynchronous
Capture Both partial and multiple are supportedSynchronous
Charge Not ApplicableSynchronous
CreditPartial and multiple are not supportedSynchronous
Refund Both partial and multiple are supportedSynchronous
Void Not ApplicableSynchronousIf you void a Capture, make sure to do so before the nightly batch. Else the Void will fail.
Supported Void types:
  • Block before capture: Funds are unfrozen according to the issuing bank's transaction expiration time, and capture is blocked.
  • Reversal: This type of Void unfreezes the funds immediately.
The type of Void request that is invoked is determined by the onlineReversalIndicator field, which you may optionally pass in the provider_specific_data object of the Void request. For an example, use the Bodybuilder to generate a Void request with optional fields.

Setup Procedures

The following table lists the setup procedures that are specific to this provider.

ConfigurationRequired/Optional
In the PaymentsOS Control Center, configure the following credentials:
  • merchant_id: The Gateway merchant account number, assigned by ChasePaymentech. Note: Only one currency can be associated with one merchant_id.
  • terminal_id (configuring this is optional): The Terminal ID assigned by Chase Paymentech. Valid range of values: a number from 000 to 999. Default if not configured is 001.
  • bin: The transaction routing definition, assigned by Chase Paymentech. Possible values:STRATUS or TANDEM.
You should have received a set of test credentials for each currency that you intend to use, when you created your Chase Paymentech account. Use these credentials to create one provider configuration per currency, in the PaymentsOS test environment.
Required
In your Chase Paymentech account, configure the Auto Settle time and timezone fields. This must be configured to prevent transactions from remaining un-settled ('Open Batch').Required
In your Chase Paymentech account, connect the Zooz submitter ID to your account. The submitter ID is 258071.Contact Chase Paymentech support for assistance.Required
In your Chase Paymentech account, set Card Verification Data (CVD) as optional or mandatory (this is also known as as CVV2, CVC2, or CID). In addition, enable CVV verification and determine whether a failed verification should cause the request to fail as well. Note that if you enabled CVV verification, you will receive the status of the verification in theadditional_detailsobject in the request response data.Optional
In your Chase Paymentech account, enable AVS verification (full AVS or zip-code only AVS) and determine whether a failed verification should cause the request to fail. Note that if you enabled AVS verification, you will receive the status of the verification in the additional_detailsobject in the request response data.Optional
In your Chase Paymentech account, configure the 'Attempt Authorization Reversal when Voiding' setting. This setting triggers the automatic attempt of an Authorization Reversal when a void is processed. Important note: If you do not configure this setting, then you must pass the provider_specific_data.chasepaymentech.additional_details.onlineReversalIndicator field in the Create Void request.Optional

Response Data

In the response of a transaction request, you will also receive:

  • The status of the CVV and AVS verification (if enabled in your Chase Paymentech account)

  • An indication whether level 2 and 3 data was sent.

CVV and AVS Verification Response

In your Chase Paymentech account, you can enable CVV and AVS verification and determine whether a failed verification should cause the request to fail as well. If a CVV check is performed, you will receive the status of the verification in the CVV2RespCode field of the additional_information object in the request response data:

...
{
  "provider_data": {
    ...
    "additional_information": {
      "CVV2RespCode": "M"
      ...
    },
  }
},
...

The CVV2RespCode can be one of the following values:

  • M: CVV Match
  • N: CVV No Match Error
  • P: Not processed
  • S: Should have been present
  • U: Unsupported by issuer/issuer unable to process request
  • I: Invalid
  • Y: Invalid
  • blank: Not applicable (non-Visa)

If an AVS verification was done, you will receive the status of the verification in the avs_code field of the provider_data object:

...
{
  "provider_data": {
    ...
    "avs_code": "A"
    ...
  }
},
...

For an overview of possible AVS codes, see AVS Response Codes.

Level 2 and 3 Data Response

The response of a Create Autorization request indicates whether the card that was used for the payment supports sending level 2 and 3 data:

...
{
  "provider_data": {
    ...
    "additional_information": {
      "CTILevel3Eligible": "Y"
      ...
    },
  }
},
...

Level 2 and 3 data fields can then be sent in a Create Capture request (use the Bodybuilder to generate a sample Create Capture request that includes level 2 and 3 data). The response of the Create Capture request will let you know whether level 2 or 3 data was sent:

...
{
  "provider_data": {
    ...
    "additional_information": {
      "level_2_3_sent": "true" // true if sent; otherwise false
      ...
    },
  }
},
...

Identifying Rejected Refunds

There are rare cases in which a refund is rejected by the issuer, even though it was initially approved (this can happen, for example, if the customer’s bank account was closed). Since the refund was initially approved, its status in PaymentsOS will be Succeed. If you want to determine whether an approved approved was rejected by the issuer, you will have to do so manually by checking your transaction history and PTO/DFR reports in your Chase Paymentech account.

Testing

Follow the PaymentsOS recommended testing procedures.

Last modified December 7, 2021