We’ve migrated our documentation to a new site, which means some URLs have changed.
Subscriptions

Chase Orbital Gateway - Credit Cards (Under Review - Do Not Use)

https://docs.piano.io/wp-content/uploads/2022/11/Chase-logo-500x281.png

The integration is currently under review and should not be used at this time.

Chase Payments

Chase Paymentech provides electronic payment processing products for businesses that accept credit or debit cards from their customers.

Merchant Requirements

Chase requires your business to be headquartered in the United States.

Setup in the Chase Orbital Terminal:

Login to Orbital Virtual Terminal → Admin → Hosted Pay Page Admin

Authorized Websites must contain your domain address, cdn.piano.io, and the URL from properties:

https://docs.piano.io/wp-content/uploads/2022/11/Chase2.png

Limitations

Only card payments in USD are accepted.

Supported Countries

Supported Countries



United States



Please reach out to your Piano Account representative in case a currency supported by this payment provider is not listed in the table above.

Supported Currency

Piano supports the following Chase supported currencies:

Supported Currencies



USD



Supported Payment Methods

Piano supports the following payment methods for this payment provider:

Payment method name

Are renewals supported?

Credit card (Mastercard, Visa, American Express, Discover, JCB)

Yes

Supported Features and Functionality

Feature/Functionality

Supported?

Refunds

Full / Partial

Apply Terms Wizard

Yes

My Account - Add payment method

Yes

My Account - Edit payment method

No**

My Account - Delete payment method

Yes

Publisher dashboard - Add payment method

Yes

Publisher dashboard - Edit payment method

No**

Publisher dashboard - Delete payment method

Yes

Tax Providers and Types

TaxJar / Avalara

Transaction descriptors

Soft descriptors

Frictionless

No

3DS / SCA

No

Account Updater

Yes

Passive churn prevention

Yes - Advanced support

Payment token import support

Yes*

*Piano uses Orbital profile IDs for transaction processing. For more information about the payment token import please visit this link.

**Only payment method tax information, including country and postal code (in cases where taxes are enabled for an application), is editable.

Passive Churn Prevention

It's crucial to understand how the various error codes that may arise during a payment failure are handled by the Passive Churn Prevention feature. These error codes provide insights into why a renewal attempt may have failed, enabling you to take appropriate actions to prevent churn. This section details the specific error codes encountered during a payment failure and their mapping to a decline reason.

Decline reason

Error codes

Suspected fraud

15 - Default Call Low Fraud

16 - Default Call Medium Fraud

17 - Default Call High Fraud

18 - Default Call Unavailable Fraud

B7 - Fraud

BQ - Issuer has Flagged Account as Suspected Fraud

Insufficient funds

D7 - Insufficient Funds

Expired card

33 - Card is Expired

4624663 - Error card expired

466467 - PWS_ERR_VALIDATION_EXP_DATE_TOO_NEW. Error card expires in more than 20 years

470471 - Authorization: Expired card

3005 - Authorization Reversal: Expired card

Card is stolen or lost

04 - Pickup

41 - Lost/Stolen

43 - Lost/Stolen Card

Limit exceeded

H3 - Rev Exceed Withdrawal

R4 - Ceiling Limit

C4 - Over Limit

Network failure

L7 - Unable to Determine Network Routing

L8 - System Error

2 - Downstream Host Network error

40 - Cannot Get to Authorizer Service

208 - PWS_ERROR_FAILED_TO_CONNECT

9990 - Gateway Unavailable: Gateway Resources Unavailable: [ROUTE1]

9991 - Gateway Unavailable: Gateway Resources Unavailable: [ROUTE2]

9992 - Authorizer Unavailable: Host Resource Marked Down: [ROUTE1]

9993 - Authorizer Unavailable: Host Resource Marked Down: [ROUTE2]

99 - No Answer/Unable to send

L2 - Process unavailable

3DS failure

 -

Call issuer

01 - Call/Refer to Card Issuer

Do not honor

05 - Do Not Honor

61 - Do Not Honor Medium Fraud

62 - Do Not Honor High fraud

63 - Do Not Honor Unavailable Fraud

Everything else

All error codes not listed above

Fraud Prevention with reCAPTCHA

We support the reCAPTCHA security feature in the Checkout and My Account interfaces to enhance fraud prevention.

Here's an example of a completed reCAPTCHA from My Account.

https://docs.piano.io/wp-content/uploads/2022/11/Captcha1.png

Please reach out to Piano Support at support@piano.io to enable this feature.

End users exhibiting suspicious behavior in Checkout or My Account will be required to complete a reCAPTCHA during various flows involving Chase Credit cards. This ensures an additional layer of security to prevent fraud. The flows include adding, editing a credit card, or updating the renewal payment method in My Account, as well as the purchase flow itself.

To display the reCAPTCHA in checkout:

https://docs.piano.io/wp-content/uploads/2022/11/Captcha.png

For any required System and My Account template changes, please refer to the section here.

Safetech Fraud Prevention

To enable Safetech fraud prevention support:

1. Update templates.

For any required System and My Account template changes, please refer to the section here.

2. Enable Safetech in payment method configuration.

Once templates are updated, Safetech should be enabled in the configuration as per below. Please note that Safetech Merchant ID is provisioned by your Chase Safetech representative.

https://docs.piano.io/wp-content/uploads/2022/11/df0effce-a11b-472c-98fc-6f355e396170.png KTT Data String Mapping

Please note that the below values are sent in kttDataString and formatted according to the following logic:

“U” + Field Name + “=” + Field value + “&|“

  • Application name. The title of the app that transaction belongs to.

  • Term type (standard/gift/subscription). The type of purchased term.

  • Trial. The purchased subscription has any trial period (free/ paid).

  • Promotion. The promo code id in case the end-user used one.

  • User browser ID. The Id of the end-user’s browser.

  • Returning customer. Y - if isNewCustomer parameter=true. N - if isNewCustomer=false.

Additionally, the following checkout values are passed and formatted with the following logic:

T=Type&I=Item&D=Description&Q=Quantity&P=Price&|

where:

  • Type=Resource Name;

  • Item=Term Name;

  • Description=Term description;

  • Quantity=1 (could be updated programmatically only);

  • Price= actual price that the end-user has been charged.

Piano Safetech certification can be provided upon request.

HPP (Hosted Payment Page) Checkout Styling

As part of the Forced Order Abstraction (FOA) update, Piano redeveloped the frontend solution for managing the Chase Hosted Payment Page (HPP) within the checkout process. This implementation allows clients to customize the appearance of their payment page through template configurations in Piano and can be enabled via the toggle below in the payment provider configuration from the Piano dashboard.

https://docs.piano.io/wp-content/uploads/2022/11/HPP.png

Below is an overview of the configuration and styling options available.

Configuring Custom Styling for HPP

This implementation provides flexibility by allowing clients to add a self-hosted HTML file URL to style the HPP page. If no custom styles are applied, the default Piano styles below will be used.

https://docs.piano.io/wp-content/uploads/2022/11/Chase4.png

It’s important to note that due to security and FOA regulations, the fields between the Cardholder Name and Complete Purchase button cannot be modified.

To apply custom styling:

  • Navigate to Edit Business → Payment Providers → Chase Orbital CC Configuration in Piano.

  • Enter the URL to your self-hosted HTML file (e.g., chase.html) in the HPP File URL field after enabling the toggle HPP Styling.

The HTML file should include properly linked CSS files or inline styles to define the appearance. Here is a basic template:

XML
<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edgechrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="https://domain.com/chase-styles.css" />
  </head>
  <body>[[FORM INSERT]]</body>
</html>

Guidelines for Hosting and Styling

  • Ensure all CSS files and images are accessible via HTTPS to maintain security.

  • Use absolute URLs for CSS and image sources to ensure proper rendering.

  • The hosted page must be directly accessible through a web browser.

To style the Chase Hosted Payment Page, you must use one of two approaches:

1. Put a direct link to your CSS file, like this:


Or

2. Use inline styles:

HTML
<style>
 body {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
 }
</style>

For any required System and My Account template changes, please refer to the section here.

How to integrate Chase with Piano

You can input your Chase account information into the Piano dashboard by clicking Edit Business→Payment Provider→ Chase Orbital Gateway: CC (Add New).

Piano has already completed the TPQ with Chase and is certified; you do not have to fill out another TPQ and complete the certification again. If necessary, the Piano Certification testing summary can be shared upon request to support@piano.io and you may want to request regression testing support from Chase.

You will need to request the Orbital Connection Username and Orbital Connection Password for the JSON API and HPS ver 2.0 from Chase.

These credentials are NOT the same as the Virtual Terminal login.

To integrate Chase with Piano, have the following information ready to enter into the form fields and then click Save:

https://docs.piano.io/wp-content/uploads/2022/11/Chase-1.png
  • Title of configuration: The name of this integration (for your reference only)

  • Orbital username: This is your Orbital Connection Username.

  • Orbital password: This is your Orbital Connection Password.

  • Hosted ID: This is your Secure Account ID.

  • Hosted token: This is your Secure API Token.

  • Merchant ID: Locate your Merchant ID in the Virtual Terminal.

  • Bin: Select Stratus (000001).

  • Terminal ID: 001

  • Industry type: Available options include: E-commerce, Installment, IVR, Mail Order, and Recurring payment.

  • Currency: Only payments in USD are supported.

  • Soft descriptor: If enabled, you are able to enter the following values.

    https://docs.piano.io/wp-content/uploads/2022/11/Chase1.png
    • Merchant name: Your company name (max. 9 characters).

    • Product description: Desired description for your product.

    • Merchant email: Max. length 13 characters (optional).

    • Merchant phone: Has to be in the format of either NNN-NNN-NNNN or NNN-AAAAAAA (optional).

    • Merchant URL: Max. length 13 characters (optional).

Additional feature settings:

https://docs.piano.io/wp-content/uploads/2022/11/Chase2-1.png
  • Account updater: There are multiple Account updater options available.

    • RTAU -  this toggle enables the use of real-time account updating, once enabled Piano will query Chase upon each transaction and fetch updated payment data using Orbital Profile IDs.

    • SCHEDULE - this toggle only allows specifying that this application is using scheduled account updating, however, the Scheduled updater needs to be configured in your Chase Orbital dashboard and will run on the configured schedule for VISA and MC.

      Please see additional information on Chase Account Updater services under this link.

      Once the Account Updater has been enabled on your merchant record, Chase establishes a schedule for it to query your customer profiles on a regular basis (e.g. once a month).  Any updated information returned from the card issuers will be applied automatically to your customer profiles.

      In addition to the defined Account Updater schedule, it’s also possible to have Account Updater run on any customer profile 5 days prior to the expiration of its payment data and/or 5 days prior to any recurring billing that is approaching.

  • Safetech: Enables the Safetech fraud prevention.

  • HPP Styling: Enables HPP (Hosted Payment Page) styling.

Template changes

To ensure the latest code is loaded in the Checkout and My Account, template changes are required. There are a few ways to update your templates: 

  • The easiest is to reset to default if you haven’t stylized the templates. 

  • If you did, then you can use the Compare code feature and compare the code between the default version and your current version, and carry over any new code line by line.

  • Alternatively, you can follow the below scripts and carry over the latest code line by line to your system templates.

This includes incorporating changes to accommodate Fraud Prevention with reCAPTCHA, Safetech Fraud Prevention, and the Hosted Payment Page (HPP) flow.

System templates

Payment Components

Go to ManageTemplatesSystemPayment Components, find

Last updated: