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:
-
Sandbox: sandbox.tinypass.com, sandbox.piano.io
-
Prod-US: buy.tinypass.com, dashboard.piano.io
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.
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:
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.
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.
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.
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:
<!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:
<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:
-
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.
-
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-NNNNorNNN-AAAAAAA(optional). -
Merchant URL: Max. length 13 characters (optional).
-
Additional feature settings:
-
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 Manage → Templates → System → Payment Components, find