Gateway
Overview and details on the credit card gateway within RevCent.
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 Gateways
View all gateways by clicking the Payments > Credit Card > Gateways link on the sidebar or going to https://revcent.com/user/gateways

Create A Gateway
Create a new gateway by clicking the Create New Gateway button when viewing all gateways or go to https://revcent.com/user/new-gateway

Name
Enter a name for the gateway. Required and must be unique.
Description
Enter a description for the gateway.
Status
Set the status of the gateway.
Discount Rate
The percentage charged by the gateway for each successful credit card charge.
Success Transaction Fee
The flat fee, if applicable, that the gateway charges for each successful credit card charge.
Failure Transaction Fee
The flat fee, if applicable, that the gateway charges for each unsuccessful credit card charge.
Main Gateway
Select the main gateway you are using. Once selected, the gateway credentials box will appear.

Gateway Credentials
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:
- Live Transactions: Enter your payments gateways’ live credentials and also use a RevCent API Account that is set to live mode. By using a live RevCent API Account, RevCent will send transactions to your gateway’s live endpoint.
- Test Transactions: Enter your payments gateways’ test credentials and also use a RevCent API Account that is set to test mode. By using a test RevCent API Account, RevCent will send transactions to your gateway’s test endpoint.
Edit A Gateway
Edit an existing gateway by clicking the edit button when viewing all gateways.
Details

Name
Enter a name for the gateway. Required and must be unique.
Description
Enter a description for the gateway.
MID
Enter the merchant account ID specific to the gateway.
Acquirer BIN
Enter one or more acquirer BIN’s for this gateway, separating multiple BIN’s by a comma. Optional.
Analytic Cap
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.
Status
Set the status of the gateway.
Gateway Group
Add this gateway to one or more gateway groups. Optional.
Discount Rate
The percentage charged by the gateway for each successful credit card charge.
Success Transaction Fee
The flat fee, if applicable, that the gateway charges for each successful credit card charge.
Failure Transaction Fee
The flat fee, if applicable, that the gateway charges for each unsuccessful credit card charge.
Custom Descriptor
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.
Global Cascade Rules
Please read the Global Cascade Rules section below.
Metadata
Insert custom name value pairs specific to the gateway. Optional.
Credentials
If you wish to modify the existing credentials for the gateway, click the Modify button and the modify credentials box will appear

Modify Credentials
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:
- Live Transactions: Enter your payments gateways’ live credentials and also use a RevCent API Account that is set to live mode. By using a live RevCent API Account, RevCent will send transactions to your gateway’s live endpoint.
- Test Transactions: Enter your payments gateways’ test credentials and also use a RevCent API Account that is set to test mode. By using a test RevCent API Account, RevCent will send transactions to your gateway’s test endpoint.
Global Cascade Rules
Global cascade rules will overwrite individual profile cascade rules across all payment profiles for this gateway. This is especially useful when using the Payment Profile instead of a basic profile.
Revenue Rules
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.
Enabled Checkbox
Whether the specific rule is enabled. If unchecked the rule will not apply.
Bound
The rule bounds to declare if a rule passes or fails.
Options:
- Min: The final calculation value must be greater than the Rule Value.
- Max: The final calculation value must be less than the Rule Value.
Rule Value
The rule value is compared with the calculation value and bound.
Source
The source, in combination with the source value and calculation, is what is used to form the calculation value.
Options:
- This Gateway: Transactions only from the specific gateway the rule is within.
- All Gateways: All transactions regardless of gateway.
- Active Step: The active step being processed during the payment flow.
Source Value
The source value is specific to the source selected.
Options:
- Captured Transactions: Only transactions which were captured.
- Declined Transactions: Only transactions which were declined.
- Charged Back Transactions: Only transactions which were marked as charged back.
- All Transactions: All transactions regardless of outcome or status.
- Step Amount: Applicable only when source is ‘Active Step’. The amount for the active step being processed during the payment flow.
Calculation
The calculation to perform based on the source value.
Options:
- Count: The total number of source value items.
- Percent: The percentage of source value items.
- Sum: The sum of all source value items.
Time Value
The total amount of time the rule applies in a past time range.
Time Unit
The time unit. Used in conjunction with the time value.
Options:
- Hour: Time value as hours.
- Day: Time value as days.
- Week: Time value as weeks.
- Month: Time value as months.
Time Rules
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.
Enabled Checkbox
Whether the specific rule is enabled. If unchecked the rule will not apply.
Day
The specific weekday that the time rule applies.
Time Range
The time range the rule applies to for the day selected.
Option
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:
- Allow: Allow the gateway to process the step transaction if current GMT time and day are within the day and time ranges.
- Deny: Do not allow the gateway to process the step transaction if current GMT time and day are within the day and time ranges.
Available Gateways
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 |
3DS Authentication
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
How It Works
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.
API Request
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/v2#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.
}
.....
}
}3DS SDK Mapping
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 3DS SDK
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 |
NMI 3DS SDK
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 |
Paysafe 3DS SDK
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 |
Checkout.com 3DS SDK
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 |
3DS Pre-Purchase Gateway
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
- Must be using a Payment Profile.
- Must provide payment information or a customer_id with a saved card in an estimate request.
- Must have sale:estimate permissions on the RevCent API account.
Step 1 - Estimate A Sale
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:
- No information is saved with estimating a sale.
- This is a mock call. Neither the customer, payment information or sale are saved within RevCent.
- A sale estimate request is only intended to return estimated and not definitive values.
- The estimate next-gen flow will also run Smart Bin if enabled for your account.
Example Request
Below is an example V1 API sale estimaterequest. 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"
}
]
}
}Step 2 - Estimate Response Gateway ID
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:
- If a gateway isn’t chosen the gateway object will not be returned.
- If you want gateway metadata returned, it must be previously saved within RevCent when editing a gateway.
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.
}Step 3 - Create A Sale
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:
- You must provide the gateway_id within the three_ds object.
- You must use a next-gen payment profile.
- The gateway_id will be preferred, and not forced within a next-gen profile flow.
- The gateway provided may not be used if the sale create next-gen flow rejects the gateway. A sale will not be declined if the gateway_id is rejected by the next-gen flow, instead another gateway will be used.
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.
},
...
}
}