A gateway must be created in order to process credit card payments in RevCent. You must have an existing merchant gateway account with a third party in order to create a RevCent gateway. If you do not have an existing merchant account, contact us and we can help you acquire one.
View all gateways by clicking the Payments > Credit Card > Gateways link on the sidebar or going to https://revcent.com/user/gateways
Create a new gateway by clicking the Create New Gateway button when viewing all gateways or go to https://revcent.com/user/new-gateway
Enter a name for the gateway. Required and must be unique.
Enter a description for the gateway.
Set the status of the gateway.
The percentage charged by the gateway for each successful credit card charge.
The flat fee, if applicable, that the gateway charges for each successful credit card charge.
The flat fee, if applicable, that the gateway charges for each unsuccessful credit card charge.
Select the main gateway you are using. Once selected, the gateway credentials box will appear.
Depending on the merchant gateway selected, you will need to enter specific credentials. Credentials different for each merchant gateway. However, details are provided on the credentials you need. In the credential box above, Stripe was selected as the main main gateway.
Important: Enter the appropriate credentials depending on whether you wish to run live or test transactions using your gateway. You must also use the appropriate RevCent API Account that coincides with either live or test transactions.
Live/Test Example:
Edit an existing gateway by clicking the edit button when viewing all gateways.
Enter a name for the gateway. Required and must be unique.
Enter a description for the gateway.
Enter the merchant account ID specific to the gateway.
Enter one or more acquirer BIN's for this gateway, separating multiple BIN's by a comma. Optional.
Enter the monthly cap for this gateway. Note: This setting is used for providing analytics only, i.e. remaining cap estimates, limit alerts, etc. It does not affect the use of this gateway. Optional.
Set the status of the gateway.
Add this gateway to one or more gateway groups. Optional.
The percentage charged by the gateway for each successful credit card charge.
The flat fee, if applicable, that the gateway charges for each successful credit card charge.
The flat fee, if applicable, that the gateway charges for each unsuccessful credit card charge.
Add the descriptor information for this gateway. Will be provided to supported gateways as well as provided as shortcodes in email templates. Contact your gateway to learn which fields are supported. Empty fields will not be provided in requests. Only enable if you know your gateway/processor support a custom descriptor.
Please read the Global Cascade Rules section below.
Insert custom name value pairs specific to the gateway. Optional.
If you wish to modify the existing credentials for the gateway, click the Modify button and the modify credentials box will appear
Depending on the merchant gateway selected, you will need to enter specific credentials. Credentials different for each merchant gateway. However, details are provided on the credentials you need. In the credential box above, Authorize.net was selected as the main main gateway. Please note that you must select the Confirm checkbox if modifying credentials.
Important: Enter the appropriate credentials depending on whether you wish to run live or test transactions using your gateway. You must also use the appropriate RevCent API Account that coincides with either live or test transactions.
Live/Test Example:
Global cascade rules will overwrite individual profile cascade rules across all payment profiles for this gateway. This is especially useful when using the Next-Gen Payment Profile instead of a basic profile.
Revenue rules are specific to the gateway, and allow or disallow the use of the gateway based on payment volume, occurrences and more. You can add multiple revenue rules to a gateway. When creating a revenue rule, an explainer box will appear, explaining the rule that you have created based on the settings you chose.
Whether the specific rule is enabled. If unchecked the rule will not apply.
The rule bounds to declare if a rule passes or fails.
Options:
The rule value is compared with the calculation value and bound.
The source, in combination with the source value and calculation, is what is used to form the calculation value.
Options:
The source value is specific to the source selected.
Options:
The calculation to perform based on the source value.
Options:
The total amount of time the rule applies in a past time range.
The time unit. Used in conjunction with the time value.
Options:
Time rules are specific to the gateway, and allow or disallow the use of the gateway based on time settings. All time rules are GMT (UTC+0). You can add multiple time rules to a gateway.
Whether the specific rule is enabled. If unchecked the rule will not apply.
The specific weekday that the time rule applies.
The time range the rule applies to for the day selected.
Whether to allow or deny the gateway from processing the step transaction based on the current GMT time and the rule day and time ranges.
Options:
Important: We now recommend using a Next-Gen Payment Profile instead of advanced settings. Advanced settings are meant for the Basic Payment profile. However, the introduction of the Next-Gen Payment Profile has rendered advanced settings obsolete. If you are considering using advanced settings, we recommend you use a Next-Gen profile instead.
RevCent offers advanced settings for individual gateways. Note: Advanced settings only apply when it is an initial sale transaction or subscription renewal and a Payment Profile Cascade is used.
RevCent uses a scoring system to re-order gateways within a cascade if advanced setting options are selected and matched. RevCent totals the score for each enabled gateway within a cascade, based on all options selected. RevCent will re-order the cascade gateways based on the scores, highest first, but still keeping the payment profile step cascade order. If no gateways have an increased score, i.e. all have +0, then the original payment profile step cascade order is kept. Revenue and time rules still apply and may remove a gateway regardless of advanced setting score.
Advanced settings are a powerful tool and require an understanding of each advanced setting Type: currency, BIN, product group, and Type Options: Only, Prefer, Deny. If configured incorrectly, you can inadvertently prevent a gateway from ever processing a transaction, or always have a single gateway process all transactions. Please read carefully if you plan to implement advanced settings.
Each individual setting Type and Type Option have a different score associated for Only and Prefer. This gives you the ability to configure advanced settings in a way that allows maximum flexibility based on currency, BIN and product combined. Any Deny matches immediately remove the gateway from the cascade for the specific transaction, regardless of Only or Prefer matches.
Custom Scoring: The scoring table below are the default score values RevCent assigns. However, you have the ability to implement custom scores for Only and Prefer at the gateway level.
Only Match | Only No Match | Prefer Match | Prefer No Match | Deny Match | Deny No Match | |
---|---|---|---|---|---|---|
Currency | +25 | gateway rejected | +1 | +0 | gateway rejected | +0 |
BIN 8/6 | +15/+14 | gateway rejected | +4/+3 | +0 | gateway rejected | +0 |
Product Group | +8 | gateway rejected | +1 | +0 | gateway rejected | +0 |
Currency based gateway settings. Route to or prevent a gateway based on the transaction currency.
Credit card BIN based gateway settings using BIN Profiles. Route to or prevent a gateway based on the first six or eight digits of the credit card being used.
BIN Profiles allow you to specify individual BIN's, or a range of BIN's, for both BIN 8 and BIN 6. A BIN 8 match is given a higher score versus a BIN 6 match, as more digits matched the customers card. The distinction between BIN lengths allows granular routing, narrowing it down to institution.
Product based gateway settings using Product Groups. Route to or prevent a gateway based on the product within a specific transaction.
Increase the score of a gateway based on the percentage remaining of monthly minimum fee total. Useful when you want to use a particular gateway if you are paying for fees up front. Will receive a multiplicative score increase of +1 * (1- (30 day fee total/minimum monthly fee)) score.
RevCent calculates the score based on the percentage amount of minimum fees remaining to be used. The greater the percentage remaining (1- (30 day fee total/minimum monthly fee)), the greater the score.
Note: Gateway will not receive a score increase for minimum monthly fee if threshold has been reached or exceeded, i.e. the current fee total is greater than or equal to minimum monthly fee amount.
Score Multiplier = 1
30 Day Fee Total = 2500
Minimum Monthly Fee Amount = 5000
Score Calculation = 1 * (1-(2500/5000))
Score Increase = +0.5
Score Multiplier = 1
30 Day Fee Total = 3500
Minimum Monthly Fee Amount = 5000
Score Calculation = 1 * (1-(3500/5000))
Score Increase = +0.3
Score Multiplier = 1
30 Day Fee Total = 5500
Minimum Monthly Fee Amount = 5000
Score Calculation = N/A The 30 Day total exceeded monthly minimum amount.
Score Increase = +0
If you don't see a gateway you need, let us know and we can integrate it.
Name | 3DS v2 |
---|---|
Adyen | |
Authorize.net | |
Braintree | |
Cardpointe | |
Checkout.com | YES |
Cybersource | |
FluidPay | YES |
Elavon Converge | |
Maverick | |
NAB Transact | |
NMI | YES |
Pathly | |
PayJunction | |
PaySafe | YES |
PSiGate | |
Pinwheel |
Some gateways offer the ability to utilize 3DS v2 authentication for payment transactions. You can implement 3DS v2 and use the RevCent API to send the 3DS v2 variables to an enabled gateway. Read more about 3D Secure 2
3DS v2 works via JavaScript code on your shopping cart/checkout page. When a customer clicks submit to complete payment, you first submit a request to the 3DS v2 endpoint to retrieve 3DS v2 authentication values/instructions. These values are then passed to the RevCent API, via the “three_ds” object when ready to process payment. RevCent will pass non-empty and non-null “three_ds” values to the payment gateway according to the specific gateways specification.
3DS v2 is not a plug and play solution, and requires a developer or someone with knowledge on JavaScript in the browser. Only specific gateways are supported, and each gateway requires their own browser implementation.
To send RevCent the 3DS v2 values returned from the browser, do so using the “three_ds” object in the sale > create API call. Example: https://revcent.com/docs/api#sale-create-credit-card
Example Sale > Create request with 3DS v2 values in the “three_ds” object. Not all three_ds values are required, only the values returned in the browser from the gateways' 3DS v2 endpoint.
{
"request": {
"type": "sale",
"method": "create",
"three_ds": {
"enabled": true, // Required if sending 3DS values to RevCent.
"version": "2.2.0", // The 3DS version. Example: "2.1.0" or "2.2.0".
"eci": "05", // The eCommerce indicator. Indicates the result of the attempt to authenticate the cardholder.
"cavv": "Y2FyZGluYWxjb21tZXJjZWF1dGg", // Cardholder Authentication Verification Value
"xid": "YXV0aCB0eG4gaWRzIGFyZSBmdW4=", // The transaction identifier from authentication processing.
"directory_server_id": "3f6fb1f8-f719-46c9-905b-bab446f4de30", // A transaction identifier assigned by the directory server.
"authentication_response": "verified", // Describing if a customer was successfully verified or attempted. Example: "verified" or "attempted".
"acs_transaction_id": "d6f15aae-2c9d-4333-a920-954be07c0c76", // Access Control Server (ACS) transaction identifier.
"algorithm": "1", // 3DS algorithm used.
"directory_response": "Y", // 3DS directory server response.
"enrollment_response": "Y", // Verify enrollment response/status
"three_ds_server_transaction_id": "" // 3DS server transaction id.
"gateway_id": "" // Optional: Provide a specific RevCent gateway ID if 3DS values are specific to a gateway in RevCent. Otherwise do not include.
}
.....
}
}
We have provided a few 3DS SDK examples below, with field mapping and links to instructions. If you are using an SDK not listed below, please make sure you map the correct fields from the SDK you are using.
Note: Each SDK returns specific fields to the browser upon 3DS v2 authentication. These fields are mapped to the RevCent field in the “three_ds” object. Therefore, when making the API call, the response fields from the browser 3DS v2 authentication request need to match the fields in the RevCent API call three_ds object according to the mapping table for each SDK below.
PAAY is a third party service we recommend for easy 3DS integration.
PAAY 3DS Response Field | RevCent API Field | Example Value |
---|---|---|
eci | eci | 05 |
authenticationValue | cavv | Y2FyZGluYWxjb21tZXJjZWF1dGg |
dsTransId | directory_server_id | 3f6fb1f8-f719-46c9-905b-bab446f4de30 |
protocolVersion | version | 2.2.0 |
acsTransId | acs_transaction_id | d6f15aae-2c9d-4333-a920-954be07c0c76 |
The NMI 3DS SDK response fields are shown below
Gateway Response Field | RevCent API Field | Example Value |
---|---|---|
eci | eci | 05 |
cavv | cavv | Y2FyZGluYWxjb21tZXJjZWF1dGg |
xid | xid | OU9rcTRCY1VJTFlDWTFESXFtTHU= |
directoryServerId | directory_server_id | 3f6fb1f8-f719-46c9-905b-bab446f4de30 |
cardHolderAuth | authentication_response | verified |
threeDsVersion | version | 2.2.0 |
The Paysafe 3DS SDK response fields are shown below
Gateway Response Field | RevCent API Field | Example Value |
---|---|---|
eci | eci | 05 |
cavv | cavv | AAABCIEjYgAAAAAAlCNiENiWiV+= |
xid | xid | OU9rcTRCY1VJTFlDWTFESXFtTHU= |
directoryServerTransactionId | directory_server_id | a3a721f3-b6fa-4cb5-84ea-c7b5c39890a2 |
threeDResult | directory_response | Y |
threeDEnrollment | enrollment_response | Y |
threeDSecureVersion | version | 2.2.0 |
The Checkout.com 3DS SDK response fields are shown below
Gateway Response Field | RevCent API Field | Example Value |
---|---|---|
eci | eci | 06 |
cryptogram | cavv | 123feb70-d16b-4da6-b07f-98c0 |
xid | xid | 79f6205c-ff5c-4a4c-8fca-90f67f3a6470 |
version | version | 2.2.0 |
You may wish to know the gateway which will be used prior to processing an initial sale. This is useful when using multiple 3DS SDK's and require a 3DS Key specific to a gateway in order to load the correct SDK within a browser.
This process involves a Sale Estimate API call to RevCent, with payment information or a customer ID with a saved card. RevCent will return a sale estimate which will include the gateway to be used when eventually performing a Sale Create API call. You will then use the gateway_id returned by RevCent for a Sale Create call, within the three_ds object.
Note: This is an advanced method and not necessary if you are not using 3DS, or only using a single 3DS SDK key in the browser during checkout.
Requirements
You will first estimate the sale, with payment information and an include_gateway: true within the request. The Sale Estimate call is similar to the Sale Create call, except no information is saved and no payment is processed. The estimate will run a next-gen payment profile flow to retrieve the gateway which will be used.
Things to note:
Example Request
Below is an example V1 API sale estimate request. If using the V2 API, refer to the V2 API sale estimate request.
{
"request": {
"type": "sale",
"method": "estimate", // make sure this is equal to "estimate".
"campaign": "Facebook Campaign",
"iso_currency": "USD",
"include_gateway": true, // required in order to return a gateway_id
"payment_profile": "next_gen_profile_id", // required and must be the ID to a next-gen profile in RevCent.
"payment": { // required if not providing a customer_id with a saved card, or the card has changed.
"credit_card": {
"card_number": "4000000000000002",
"exp_month": 11,
"exp_year": 42,
"card_code": "123"
}
},
"customer_id": "yRywYAJn1BsYnGpBrRl9", // required if not providing the payment object.
"customer": { // optional and can be used to find an existing customer with a saved card.
"first_name": "George",
"last_name": "Washington",
"email": "georgew@whitehouse.gov",
"address_line_1": "1600 Pennsylvania Ave",
"address_line_2": "West Wing",
"city": "Washington",
"state": "DC",
"zip": "20500",
"country": "USA",
"company": "Acme Inc.",
"phone": "1234567890"
},
"product": [ // required when making a sale estimate request.
{
"id": "av_2017"
}
]
}
}
The Sale Estimate call will return a gateway object, with the gateway_id. This is the gateway which will be used specific to the payment information provided when creating a sale. Any metadata saved for the specific gateway will be returned as well. You can use this metadata to save 3DS keys for a specific gateway.
Things to note:
Example Response
Below is the API response returned for a sale estimate request. You will check for the gateway object with an id property.
{
"code": 1,
"gateway": {
"id": "NkAMJOzpB5iEAOrdloV0", // the gateway ID to be used in a subsequent three_ds object when creating a sale.
"name": "Braintree",
"metadata": [ // metadata specific to the gateway in RevCent, if previously saved.
{
"name": "3ds_api_key",
"value": "XXXX"
}
]
},
... // remaining response fields redacted for brevity.
}
When you are ready to create the sale with a gateway specific to a 3DS authorization, you will include the gateway_id within the three_ds object. This will tell RevCent to prefer a specific gateway when processing payment within a next-gen profile.
Things to note:
Example Request
Below is an example V1 API sale create request. If using the V2 API, refer to the V2 API sale create request.
Important: Include the gateway_id within the three_ds object, not outside the three_ds object.
{
"request": {
"type": "sale",
"method": "create",
"payment_profile": "next_gen_profile_id", // must be a next-gen profile.
"three_ds": { // Provide the gateway_id within the three_ds object.
"enabled": true, // Required if sending 3DS v2 values to RevCent.
"gateway_id": "" // Provide the returned RevCent gateway_id.
... // remaining 3DS fields redacted for brevity.
},
...
}
}