Introduction
Welcome to E-Payment Integrator, a comprehensive set of components for Credit Card & Electronic Check (ACH) processing via major Internet payment gateways. Rock-solid E-Commerce components trusted by thousands of developers worldwide.
lib\DPayments.InPay.dll is designed for use in .NET Framework 4.0 and up, .NET Core 3.0 and up, and .NET 5 and up. This is the default library which maintains a familiar API in line with previous versions of the product.
Support for asynchronous programming patterns (async/await) is exposed in a separate DPayments.async.InPay namespace. See the Async Functionality page for details.
-
lib\net6.0\DPayments.InPay.dll is designed for use in .NET 6 and up. The .NET 6 library provides cross-platform support while maintaining the same API as the default library in lib.
lib\netstandard2.0\DPayments.InPay.dll is designed for use in .NET Standard 2.0 and up. The .NET Standard library provides cross-platform support for legacy projects.
lib\net20\DPayments.InPay.dll is designed for use in .NET Framework 2.0 and up. This library targets .NET Framework 2.0 and is maintained for legacy projects.
ACHConverter | The ACHConverter component is used to convert ACH files into XML, for the purpose of easy viewing and editing. The component can also convert this XML back into the ACH format, so it may later be processed by the ACH network. Validation of these files occurs during the translation process. |
CardValidator | The CardValidator component is used to verify that a given credit card number is formatted properly, and could be a valid card number. Validating a card before actually submitting a transaction for authorization can reduce the fees that may be associated with invalid or declined transactions. |
CertMgr | The CertMgr component is used to manage the digital certificates installed on a system. |
Check21 | The Check21 component is used to construct a file containing scanned images of paper checks, and optionally upload it to an FTPS server. |
DirectPayment | Obtain payment through PayPal directly from a buyer's credit card. |
ECheck | The ECheck component is used to process Electronic Check (ACH) transactions through Internet Payment services such as the Authorize.Net eCheck.Net service. |
ExpressCheckout | Express Checkout allows customers the option to quickly pay through PayPal. |
ICharge | The ICharge component is used to authorize credit card transactions with any of the supported Internet Payment Gateways. |
Level2 | The Level2 component is a tool used to create Level2 Corporate Purchasing Card aggregates, which can then be passed to the ICharge or Retail components. |
Level3 | The Level3 component is a tool used to create Level3 Corporate Purchasing Card aggregates, which can then be passed to the ICharge or Retail components. |
OAuth | The OAuth component is used to authorize a client and provide an authorization string used in future requests. |
RecurringBilling | The RecurringBilling component is used to authorize and set up recurring transactions with any of the supported Internet Payment Gateways. |
Retail | The Retail component is used to authorize credit card transactions with any of the supported Internet Payment Gateways. |
Additional Information
You will always find the latest information about E-Payment Integrator at our web site: www.4dpayments.com. We offer free, fully-functional 30-day trials for all of our products, and our technical support staff are happy to answer any questions you may have during your evaluation.
Please direct all technical questions to support@4dpayments.com. To help support technicians assist you as quickly as possible, please provide an detailed and accurate description of your problem, the results you expected, and the results that you received while using our product. For questions about licensing and pricing, and all other general inquiries, please contact sales@4dpayments.com.
Thank You!
Thank you for choosing E-Payment Integrator for your development needs. We realize that you have a choice among development tools, and that by choosing us you are counting on us to be a key component in your business. We work around the clock to provide you with ongoing enhancements, support, and innovative products; and we will always do our best to exceed your expectations!
Basic Credit Card Information
A credit card number consists of anywhere between 12 and 19 digits (depending upon the credit card type). The first six digits of a credit card number are known as the Issuer Identification Number (IIN) or Bank Identification Number (BIN), which is used to identify which organization issued the card along with other information. The remaining digits make up the account identifier/number with the exception of the last digit, which is the checksum digit used to validate the card number via the LUHN formula.
With the IIN/BIN, one can identify the card type (i.e. Visa, MasterCard, etc.), card level (i.e. business or purchasing card), along with issuer details (such as bank and country). The only type of card information able to be obtained by directly viewing the card number is the card type, as card brands are all assigned the same starting digits (i.e. all Visa cards start with a 4). Therefore the CardValidator component is only able to determine the CardType (along with validating the card number via the LUHN formula and verifying the Expiration Date). The remaining digits of the IIN/BIN are not specifically assigned (based on a formula) for a card issuer or level. Thus we cannot determine this information. However all this information is stored within IIN/BIN databases. There are multiple databases available but often require some sort of subscription to access the data. These are very helpful resources in the case that you need to determine if the card is a commercial card and sending Level2 and Level3 data (which is often associated with lower interchange fees).
Gateway Response Codes
The current (at the time of this release) response codes for the supported Gateways are listed below. Please see the individual specifications for each Gateway (available from the Gateway itself) for an updated list of these codes.
3DSI EC-Linx:
Code | Description |
0 | Transaction succeeded |
1 | The Total Amount must be a numeric value |
2 | The Tax Amount must be a numeric value |
3 | The Freight Amount must be a numeric value |
4 | The Duty Amount must be a numeric value |
5 | The Order Number is a required field |
6 | The Response URL is a required field |
7 | The Transaction Type is a required field |
8 | Unrecognized Transaction Type |
9 | The Debit/Credit indicator is a required field |
10 | Invalid Debit/Credit indicator |
11 | The Original Order Number is a required field |
12 | The Cardholder Name is a required field |
13 | The Expiration Month is a required field |
14 | Invalid Expiration Month |
15 | The Expiration Year is a required field |
16 | Invalid Expiration Year |
17 | Credit Card Number is a required field |
18 | Credit Card Number must contain only numbers |
19 | Credit Card Number is invalid |
20 | The number of line items must be a numeric value |
21 | The Quantity field is not numeric for line item X |
22 | The Amount field is not numeric for line item X |
25 | Authorization Code is required for a Forced Transaction |
30 | Original Order Number does not exist |
31 | The Credit Card Number passed for the credit does not match Credit Card Number of the original transaction |
32 | The credit amount cannot exceed the original transaction amount |
33 | The original order has not been processed by the bank |
34 | The original order is not a debit therefore it cannot be credited |
35 | An unknown error has occurred. Retry your request. |
36 | Order Number does not exist |
37 | The Credit Card number authorized does not match the capture Credit Card Number |
38 | The total amount to capture cannot be more than was authorized |
39 | The order has not been authorized. You must authorize the order before requesting a capture |
40 | The requested credit amount must equal the original transaction amount |
48 | The transaction amount exceeds the bank's limit of {#########.##}. Please split the transaction so that the transaction amount for each transaction is less than this amount. |
49 | DetailLevel must be one of the following values: 1, 2, 3. |
50 | User locked out |
51 | Unable to validate user |
52 | Order Number entered already exists |
53 | Card rejected. Verify it is a card that you accept |
54 | Message returned from bank (reason for decline-not always populated) |
55 | Not a valid user for external processing. (This error usually occurs when using an EC-Zone User Id and Password). |
56 | Merchant is not certified for external processing |
59 | User is temporarily locked out due to too many consecutive password failures. |
60 | Currency must be one of the following values: CAD, USD. |
61 | The Invoice Date must be a valid date value in the form 'YYYYMMDD'. |
70-74 | An error occurred processing the request. Retry your request. |
75 | An error occurred while processing your request. Object 'GetMaxTransLimit' failed. |
76 | The Canadian GST Tax must be a numeric value |
77 | The Canadian PST Tax must be a numeric value |
78 | The Canadian QST Tax must be a numeric value |
79 | The Canadian HST Tax must be a numeric value |
80 | An error occurred while processing your request. Object 'IsValidSENum' failed. |
81 | Valid service establishment number does not exist for credit card. |
-1:-14 | An error occurred processing the request. Retry your request. |
-15 | The Credit Card Number failed account number validation |
-16 | The Expiration Date failed validation |
-17 | The Amount field failed validation |
-18 | The AddressVerifyZip field failed validation |
-19 | The AddressVerifyState field failed validation |
-20 | The ShipToZip field failed validation |
-21 | The SalesTaxAmount1 field failed validation |
-22 | The SalesTaxAmount2 field failed validation |
-23 | The SE Number field failed validation |
-24 | The SE Number was not provided |
-25 | The SE Number was provided but is not used for this card company |
-26 | The CVV2 Indicator field failed validation |
-27 | The CVV2 Value field failed validation |
-28 | The CVV2 Value was not provided |
-29 | The CVV2 Value was provided but is not required |
-30:-99 | An error occurred processing the request. Retry your request. |
5th Dimension Logistics:
Code | Description |
1 | Approved |
520 | Approved |
A | Approved |
00 | Approved |
100 | Approved |
2 | Declined |
530 | Declined |
540 | Declined |
D | Declined |
05 | Declined |
500 | Declined |
3 | Error |
550 | Error |
X | Error |
ER | Error |
Code | Description |
A | Approved |
D | Declined |
E | Error |
Code | Description |
A | Approved |
D | Declined |
E | Error |
Code | Description |
Authorised | Authorization approved |
Refused | Declined, possibly due to fraud. |
Error | An error occurred. |
[refund-received] | Credit transaction approved. |
[cancel-received] | Void transaction approved. |
[capture-received] | Capture transaction approved. |
Code | Description |
1 | Transaction approved. |
2 | Transaction declined. |
3 | Error in transaction data. |
ProcessorCode | Description |
100 | Transaction was approved. |
200 | Transaction was declined by processor. |
201 | Do not honor. |
202 | Insufficient funds. |
203 | Over limit. |
204 | Transaction not allowed. |
220 | Incorrect payment information. |
221 | No such card issuer. |
222 | No card number on file with issuer. |
223 | Expired card. |
224 | Invalid expiration date. |
225 | Invalid card security code. |
226 | Invalid PIN. |
240 | Call issuer for further information. |
250 | Pick up card. |
251 | Lost card. |
252 | Stolen card. |
253 | Fraudulent card. |
260 | Declined with further instructions available. (See response text) |
261 | Declined-Stop all recurring payments. |
262 | Declined-Stop this recurring program. |
263 | Declined-Update cardholder data available. |
264 | Declined-Retry in a few days. |
300 | Transaction was rejected by gateway. |
400 | Transaction error returned by processor. |
410 | Invalid merchant configuration. |
411 | Merchant account is inactive. |
420 | Communication error. |
421 | Communication error with issuer. |
430 | Duplicate transaction at processor. |
440 | Processor format error. |
441 | Invalid transaction information. |
460 | Processor feature not available. |
461 | Unsupported card type. |
Code | Description |
1 | Approved. |
2 | Declined. |
3 | Error. |
4 | Held for review. (Approved is set to 'True', so transaction is assumed to be successful) |
Code | Description |
I00001 | The request was processed successfully. |
I00003 | The record has already been deleted. |
E00001 | An unexpected system error occurred while processing this request. |
E00002 | The only supported content-types are text/xml and application/xml. |
E00003 | This is the result of an XML parser error. |
E00004 | The name of the root node of the XML request is the API method being called. It is not valid. |
E00005 | Merchant authentication requires a valid value for transaction key. |
E00006 | Merchant authentication requires a valid value for name. |
E00007 | The name/and or transaction key is invalid. |
E00008 | The payment gateway or user account is not currently active. |
E00009 | The requested API method cannot be executed while the payment gateway account is in Test Mode. |
E00010 | The user does not have permission to call the API. |
E00011 | The user does not have permission to call the API method. |
E00013 | One of the field values is not valid. |
E00014 | One of the required fields was not present. |
E00015 | One of the fields has an invalid length. |
E00016 | The field type is not valid. |
E00019 | The customer tax ID or driver's license information (driver's license number, driver's license state, driver's license DOB) is required for the subscription. |
E00027 | An approval was not returned for the transaction. |
E00029 | Payment information is required when creating a subscription or payment profile. |
E00039 | A duplicate of the customer profile, customer payment profile, or customer address was already submitted. |
E00040 | The profileID, paymentProfileId, or shippingAddressId for this request is not valid for this merchant. |
E00041 | All of the fields were empty or missing. |
E00042 | The maximum number of payment profiles for the customer profile has been reached. |
E00043 | The maximum number of shipping addresses for the customer profile has been reached. |
E00044 | The payment gateway account is not enabled for Customer Information Manager (CIM). |
E00045 | An error exists in the XML namespace. This error is similar to E00003 |
E00051 | If the customer profile ID, payment profile ID, and shipping address ID are included, they must match the original transaction. |
Code | Description |
1 | Approved. |
3 | Referred. Transaction was declined by the authoriser, but it might receive voice approval. This is also known as a soft decline. |
50 | Declined. Transaction was declined by the authoriser and it is unlikely that it would receive voice approval. This is also known as a hard decline. |
- | Error. There is something wrong with the transaction which prevents it from processing. See ErrorText for more information. |
BASYS:
Code | Description |
-100 | Transaction NOT Processed; Generic Host Error. |
0 | Approved. |
1 | User Authentication Failed. |
2 | Invalid Transaction. |
3 | Invalid Transaction Type. |
4 | Invalid Amount. |
5 | Invalid Merchant Information. |
7 | Field Format Error. |
8 | Not a Transaction Server. |
9 | Invalid Parameter Stream. |
10 | Too Many Line Items. |
11 | Client Timeout Waiting for Response. |
12 | Decline. |
13 | Referral. |
14 | Transaction Type Not Supported In This Version. |
19 | Original Transaction ID Not Found. |
20 | Customer Reference Number Not Found. |
22 | Invalid ABA Number. |
23 | Invalid Account Number. |
24 | Invalid Expiration Date. |
25 | Transaction Type Not Supported by Host. |
26 | Invalid Reference Number. |
27 | Invalid Receipt Information. |
28 | Invalid Check Holder Name. |
29 | Invalid Check Number. |
30 | Check DL Verification Requires DL State. |
40 | Transaction did not connect (to NCN because SecureNCIS is not running on the web server). |
50 | Insufficient Funds Available. |
99 | General Error. |
100 | Invalid Transaction Returned from Host. |
101 | Timeout Value too Small or Invalid Time Out Value. |
102 | Processor Not Available. |
103 | Error Reading Response from Host. |
104 | Timeout waiting for Processor Response. |
105 | Credit Error. |
106 | Host Not Available. |
107 | Duplicate Suppression Timeout. |
108 | Void Error. |
109 | Timeout Waiting for Host Response. |
110 | Duplicate Transaction. |
111 | Capture Error. |
112 | Failed AVS Check. |
113 | Cannot Exceed Sales Cap. |
1000 | Generic Host Error. |
1001 | Invalid Login. |
1002 | Insufficient Privilege or Invalid Amount. |
1003 | Invalid Login Blocked. |
1004 | Invalid Login Deactivated. |
1005 | Transaction Type Not Allowed. |
1006 | Unsupported Processor. |
1007 | Invalid Request Message. |
1008 | Invalid Version. |
1010 | Payment Type Not Supported. |
1011 | Error Starting Transaction. |
1012 | Error Finishing Transaction. |
1013 | Error Checking Duplicate. |
1014 | No Records To Settle (in the current batch). |
1015 | No Records To Process (in the current batch). |
Code | Description |
1 | Transaction approved. |
0 | Transaction declined. |
Code | Description |
0 | Declined |
1 | Approved |
Code | Description |
0 | Declined |
1 | Approved |
E | Error |
Code | Description |
success | Transaction approved (Card transactions). |
PENDING | Transaction approved (ECheck transactions). |
fail | Transaction failed. |
Code | Description |
2xx | (Any HTTP 2xx) Indicates success. |
403 | (HTTP 403) Indicates user doesn't have the necessary permission to complete the requested action, or that a resource doesn't exist. |
500 | (HTTP 500) Internal server error. Contact BlueSnap for help. |
Code | ErrorCode | Description |
7 | INVALID_TRANSACTION_TYPE | Transaction type is invalid. (Note: HTTP status is 403 Forbidden) |
30 | MISSING_SHOPPER_OR_CARD_HOLDER | No card holder or vaulted shopper id. |
85 | INVALID_HTTP_METHOD | CAPTURE transactions should be sent using an HTTP PUT method. |
10000 | INVALID_API_VERSION | The API version passed in the request is invalid. |
10000 | PAYMENT_GENERAL_FAILURE | A general payment failure has occurred. |
10001 | VALIDATION_GENERAL_FAILURE | The resource passed in the request has violated validation rules. Additional information about the specific issue is provided in the error description. |
10001 | INVALID_MERCHANT_TRANSACTION_ID | merchantTransactionId should be up to 50 characters. |
10001 | MERCHANT_CONFIGURATION_ERROR | Merchant Configuration Error. |
10001 | MISSING_CARD_TYPE | cardType element is required. |
11001 | XSS_EXCEPTION | User input suspected as malicious. |
14001 | THREE_D_SECURITY_AUTHENTICATION_REQUIRED | 3D security authentication is required. |
14002 | CALL_ISSUER | Payment processing failure due to an unspecified error. Please contact the issuing bank. |
14002 | CARD_LOST_OR_STOLEN | The card is lost or stolen. Retry the transaction using a different card or decline the transaction. |
14002 | CVV_ERROR | Payment processing failure due to CVV error. Correct the CVV code and retry the transaction. |
14002 | DO_NOT_HONOR | Payment processing failure due to a "Do not honor" status. The issuing bank has put a temporary hold on the card, retry with a different card. |
14002 | EXPIRED_CARD | Payment processing failure due to expired card. Correct the expiration date and retry. If the transaction still fails, retry with a different payment method or decline the transaction. |
14002 | GENERAL_PAYMENT_PROCESSING_ERROR | Payment processing failure due to an unspecified error. Description will contain the error code and message sent by the processor if applicable. |
14002 | HIGH_RISK_ERROR | Payment processing failure due to high risk. |
14002 | INCORRECT_INFORMATION | Payment processing failure due to incorrect information. See error description for additional information. |
14002 | INSUFFICIENT_FUNDS | Payment processing failure due to insufficient funds. Retry the transaction at a later date, use a new payment method, or decline the transaction. |
14002 | INVALID_CARD_NUMBER | Payment processing failure due to invalid card number. Correct the card number and retry the transaction. If the transaction still fails, try a new payment method or decline the transaction. |
14002 | INVALID_CARD_TYPE | Payment processing failure due to invalid card type. Correct the card number and retry the transaction. If the transaction still fails, try a new payment method or decline the transaction. |
14002 | INVALID_PIN_OR_PW_OR_ID_ERROR | Payment processing failure due to invalid PIN, password or ID error. |
14002 | LIMIT_EXCEEDED | Payment processing failure because card limit has exceeded. Retry the transaction later, use a new payment method, or decline the transaction. |
14002 | PICKUP_CARD | Payment processing failure. The card has been reported lost or stolen and should be removed from use. |
14002 | PROCESSING_AMOUNT_ERROR | Payment processing failure due to invalid amount for this transaction. Validate the amount submitted is correct and resubmit. If the transaction still fails decline the transaction. |
14002 | PROCESSING_DUPLICATE | Payment processing failure due to duplication. The transaction is a duplicate of a previously submitted transaction. |
14002 | PROCESSING_GENERAL_DECLINE | Payment processing failure due to an unspecified error returned. Retry the transaction and if problem continues contact the issuing bank, or decline the transaction. |
14002 | PROCESSING_TIMEOUT | Payment processing failure due to timeout. Retry the transaction. |
14002 | SYSTEM_TECHNICAL_ERROR | Payment processing failure due to system technical error. Retry the transaction. |
14002 | THE_ISSUER_IS_UNAVAILABLE_OR_OFFLINE | Payment processing failure because the issuer is unavailable or offline. Retry the transaction. |
14002 | THREE_D_SECURE_FAILURE | Payment processing failure due to 3D secure failure. |
14002 | RESTRICTED_CARD | Payment processing failure due to restricted card. |
14004 | REFUND_GENERAL_FAILURE | A general refund failure has occurred. Retry the transaction. |
14005 | REFUND_MIN_AMOUNT_FAILURE | The refund amount passed in the request is smaller than the minimum amount allowed. Correct the amount and resubmit. |
14006 | REFUND_MAX_AMOUNT_FAILURE | The refund amount passed in the request exceeds the maximum amount allowed. Correct the amount and resubmit. |
14007 | REFUND_PERIOD_EXPIRED | Refund failed because the allowed refund period has ended. |
14008 | INSUFFICIENT_FUNDS_FOR_REFUND | There are insufficient funds to perform the requested refund. |
14009 | INVOICE_ALREADY_REFUNDED | Refund failed because the payment was already refunded. |
14016 | NO_AVAILABLE_PROCESSORS | There are no available processors for the specific request. |
14020 | PARTIAL_REFUND_CREATED_LESS_THAN_24_HOURS_AGO | Partial refund is not possible because the transaction was created less than 24 hours ago. Retry the transaction after the 24-hour window has elapsed. |
14022 | INVOICE_ALREADY_FULLY_REFUNDED | Invoice has already been fully refunded. |
14023 | REFUND_IN_PROCESS | Another refund request for this invoice is currently in process. Please wait for it to finish before submitting new request. |
14024 | PARTIAL_REFUND_NOT_SUPPORTED | Invoice cannot be partially refunded. |
15008 | SHOPPER_NOT_FOUND | The Shopper ID passed in the request was not found. Validate the shopper id is correct and resubmit. |
15011 | FRAUD_DETECTED | The transaction triggered one or more fraud rules. Check the Data field for the full response data for more information. |
15012 | SHOPPER_COUNTRY_OFAC_SANCTIONED | One of the shopper's countries was defined as OFAC sanctioned. Do not resubmit. |
16003 | MULTIPLE_PAYMENT_METHODS_NON_SELECTED | Shopper has multiple payment methods, but none is selected. Correct the payment method and resubmit. |
20002 | MULTIPLE_TRANSACTIONS_FOUND | Transaction retrieval service failure. Multiple transactions found with merchant transaction ID: ${merchantTransactionId}. |
20003 | TRANSACTION_LOCKED | Transaction ${transactionType} failed. Transaction locked. |
20004 | TRANSACTION_PAYMENT_METHOD_NOT_SUPPORTED | Payment method is not supported. Retry the transaction with another payment method or decline the transaction. |
20005 | TRANSACTION_NOT_AUTHORIZED | Transaction is not authorized. |
20006 | TRANSACTION_ALREADY_EXISTS | Transaction AUTH_REVERSAL FAILED. Transaction already exists. |
20007 | TRANSACTION_EXPIRED | Transaction is expired. |
20008 | TRANSACTION_ID_REQUIRED | Transaction ID is required. Add the transaction ID and retry the transaction. |
20008 | INVALID_TRANSACTION_ID | Transaction ID is invalid. Correct the transaction ID and retry the transaction. |
20010 | TRANSACTION_ALREADY_CAPTURED | Transaction was already captured. |
20020 | INVALID_ALT_TRANSACTION_TYPE | Invalid Transaction Type. |
20021 | MULTI_SHOPPER_INFORMATION | Cannot accept 'payerInfo' and 'vaultedShopperId' elements. |
20022 | MISSING_SHOPPER_INFORMATION | ECP transaction must include a 'payerInfo' or 'vaultedShopperId' element. |
20023 | MISSING_PAYER_INFO_FIELDS | This transaction must include a {fieldName} element within its 'payer-info' element. |
20024 | EXPECT_NO_ECP_DETAILS | ECP transaction with Vaulted Shopper ID expect no ECP details, but an empty 'ecpTransaction' element instead. |
20025 | INVALID_ECP_ACCOUNT_TYPE | Invalid Account Type. Please insert a valid value. |
20030 | MISSING_VAULTED_SHOPPER_FIELDS | ECP shopper must include a zip/phone element. |
(Undefined) | CREDIT_CARD_DETAILS_PLAIN_AND_ENCRYPTED | Shopper credit card cannot contain both plain and encrypted details. Correct the shopper details and resubmit. |
(Undefined) | CREDIT_CARD_ENCRYPTED_NUMBER_REQUIRED | Encrypted Field 'Encrypted Card Number' is required. Add the encrypted card number and resubmit. |
(Undefined) | CREDIT_CARD_ENCRYPTED_SECURITY_CODE_REQUIRED | Encrypted Field 'Encrypted Security Code' is required. Add the encrypted security code and resubmit. |
(Undefined) | MISSING_ARGUMENTS | "Cancel URL is a mandatory field." or "Return URL is a mandatory field." |
(Undefined) | EXPIRED_TOKEN | Token is expired |
(Undefined) | TOKEN_NOT_FOUND | Could not find the token |
BrainTree:
Code | Description |
1 | Transaction Approved. |
2 | Transaction Declined. |
3 | Error in transaction data or system error. |
ProcessorCode | Description |
100 | Transaction was approved (Approved). |
200 | Transaction was declined by Processor. |
201 | Do Not Honor. |
202 | Insufficient Funds. |
203 | Over Limit. |
204 | Transaction not allowed. |
220 | Incorrect Payment Data. |
221 | No such card issuer. |
222 | No card number on file with Issuer. |
223 | Expired card. |
224 | Invalid expiration date. |
225 | Invalid card security code. |
240 | Call Issuer for further information. |
250 | Pick up card. |
251 | Lost card. |
252 | Stolen card. |
253 | Fraudulent card. |
260 | Declined with further instructions (see response text). |
261 | Declined - Stop all recurring payments. |
262 | Declined - Stop this recurring program. |
263 | Declined - Updated cardholder data available. |
264 | Declined - Retry in a few days. |
300 | Transaction was rejected by gateway. |
400 | Transaction error returned by processor. |
410 | Invalid merchant configuration. |
411 | Merchant account is inactive. |
420 | Communication error. |
421 | Communication error with issuer. |
430 | Duplicate transaction at processor. |
440 | Processor format error. |
441 | Invalid transaction information. |
460 | Processor feature not available. |
461 | Unsupported card type. |
Code | Description |
A | Transaction approved. |
B | Retry. |
C | Declined. |
ErrorCode | Description |
00 | Approval |
01 | VoiceAuth Approved |
08 | Profile Deleted |
09 | Profile Saved |
11 | Invalid card |
12 | Invalid track |
13 | Bad card check digit |
14 | Non-numeric CVV |
15 | Non-numeric expiry |
16 | Card expired |
17 | Invalid zip |
18 | CardDefense Review |
19 | CardDefense Decline |
21 | Invalid merchant |
22 | No auth route |
23 | No auth queue |
24 | Reversal not supported |
25 | No matching auth for reversal |
26 | Txn Settled |
27 | Txn Batched |
28 | Txn not settled |
29 | Txn not found |
31 | Invalid currency |
32 | Wrong currency for merch |
33 | Unknown card type |
34 | Invalid field |
35 | No postal code |
36 | Duplicate sequence |
37 | CVV mismatch |
38 | CVV is required |
41 | Below min amount |
42 | Above max amount |
43 | Invalid amount |
44 | Prepaid not supported |
45 | Refunds without reference not supported |
61 | Line down |
62 | Timed out |
63 | Bad resp format |
64 | Bad HTTP header |
65 | Socket close error |
66 | Response mismatch |
70 | Voice authorization cannot be voided |
91 | No TokenSecure |
92 | No Merchant table |
93 | No Database |
94 | No action |
95 | Missing config |
96 | Profile not found |
97 | Merchant disabled |
98 | Invalid token |
101 | AVS Mismatch |
102 | Service Fee Declined |
103 | Service Fee Txn not found |
104 | Surcharge Not Supported |
Code | Text | Description |
0 | APPROVED | Transaction approved. |
1 | (Custom server response) | Declined or error condition. See Text for additional information. |
[Empty] | [Empty] | See ErrorCode and ErrorText for error information. |
Code | Description |
0 | Approved |
- | Anything other than an approved transaction will return no code. However, the Text field will contain the error message. |
Code | Description |
ACCEPT | Transaction approved. |
REJECT | The request was rejected. Check the Text for the reason why. |
ERROR | There was a system error. |
Code | Description |
1 | Success - Transaction accepted and logged. |
2 | Socket write error - Communication was interrupted. The argument is e.g. 523/555 (523 bytes written but 555 expected). |
3 | Timeout - A timeout occurred while we were reading the transaction details. |
5 | Edit error - A field was specified twice, you sent us too much or invalid data, a pre-auth lookup failed during a fulfill transaction, the swipe field was incorrectly specified, or you omitted a field. The argument will give a better indication of what exactly went wrong. |
6 | Comms error - Error in communications link; resend. |
7 | Not authorised - Transaction declined. The arguments are as return code 1, except the first argument is the bank's reason for declining it (e.g. REFERRAL, CALL AUTH CENTRE, PICK UP CARD etc.) or the result from a failed fraud check (e.g. FRAUD DECLINED reason code) |
9 | Currency error - The currency you specified does not exist. |
10 | Authentication error - The vTID or password were incorrect. |
12 | Invalid authorisation code - The authcode you supplied was invalid. |
13 | Type field missing - You did not supply a transaction type. |
14 | Database server error - Transaction details could not be committed to our database. |
15 | Invalid type - You specified an invalid transaction type. |
19 | Cannot fulfill transaction - You attempted to fulfill a transaction that either could not be fulfilled (e.g. auth, refund) or already has been. |
20 | Duplicate transaction reference - A successful transaction has already been sent using this vTID and reference number. |
21 | Invalid card type - This terminal does not accept transactions for this type of card (e.g. Diner's Club, American Express if the merchant does not take American Express, Domestic Maestro if multicurrency only). |
22 | Invalid reference - Reference numbers should be 16 digits for fulfill transactions, or between 6 and 30 digits for all others. |
23 | Expiry date invalid - The expiry dates should be specified as MM/YY or MM-YY. |
24 | Card has already expired - The supplied expiry date is in the past. |
25 | Card number invalid - The card number does not pass the standard Luhn checksum test. |
26 | Card number wrong length - The card number does not have the expected number of digits. |
27 | Issue number error - You did not supply an issue number when we expected one, or the issue number you supplied was non-numeric or too long. |
28 | Start date error - The start date was missing or malformed (must be MM/YY). |
29 | Card is not valid yet - The supplied start date is in the future |
30 | Start date after expiry date. |
34 | Invalid amount - The amount is missing, is not fully specified to x.xx format. |
40 | Invalid cheque type - Must be either "business" or "personal". |
41 | Invalid cheque number - Cheque number was missing or was not 6 digits. |
42 | Invalid sort code - The sort code was missing or was not 6 digits. |
44 | Invalid account number - The account number was missing or was not 8 digits. |
51 | Reference in use - A transaction with this reference number is already going through the system. |
53 | No free TIDs available for this vTID - There are matching TIDs available, but they are all in use. |
56 | Card used too recently. |
57 | Invalid velocity_check value - The velocity_check value must be numeric and between 0 and 120. |
59 | This combination of currency, card type and environment is not supported by this vTID. |
60 | Invalid XML - The XML Document is not valid with our Request schema. The reason is detailed in the "information" element of the Response document. |
61 | Configuration error - An error in account configuration caused the transaction to fail. Contact DataCash Technical Support. |
62 | Unsupported protocol - Please use the DataCash XML API. |
63 | Method not supported by acquirer - The transaction type is not supported by the Acquirer. |
104 | APACS30: WRONG TID - Error in bank authorization, where APACS30 Response message refers to different TID to that used in APACS30 Request message; resend. |
105 | APACS30: MSG SEQ NUM ERR - Error in bank authorization, where APACS30 Response message refers to different message number to that used in APACS30 Request message; resend. |
106 | APACS30: WRONG AMOUNT - Error in bank authorization, where APACS30 Response message refers to different amount to that used in APACS30 Request message; resend. |
190 | No capture method specified - Your vTID is capable of dealing with transactions from different environments (e.g. MoTo, e-comm), but you have not specified from which environment this transaction has taken place. |
271 | Cannot query transactions of this kind. |
274 | Cannot locate transaction to query. |
280 | Unknown format of datacash reference - The datacash reference should be a 16 digit number. The first digit (2, 9, 3 or 4) indicates the format used and whether the txn was processed in a live or test environment. |
281 | Datacash reference fails Luhn check - The new format of datacash reference includes a luhn check digit. The number supplied failed to pass the luhn check. |
282 | Mismatch between historic and current site_id - The site_id extracted from the datacash reference does not match the current environment. |
283 | Mismatch between historic and current modes - The mode flag extracted from the datacash reference does not match the current environment. |
425 | ISO8583 - message corrupted - Encoded characters are not supported. |
440 | Payment Gateway Busy - Out of external connections. |
470 | Maestro txns for CNP not supported for clearinghouse - Maestro transactions for Card Holder not present are not supported for the given clearinghouse. |
471 | 3-D Secure Required - This transaction must be a 3dsecure transaction. |
472 | Invalid capturemethod - International Maestro is not permitted in a Mail order / telephone order environment. |
473 | Invalid transaction type - Keyed International Maestro transaction not permitted. |
480 | Invalid value for merchantid - The Merchant Id provided is invalid . |
481 | Element merchantid required - The merchant is expected to provide a Merchant Id with each transaction. |
482 | Invalid element merchantid - The merchant is not set to provide Merchant Id for a transaction. |
510 | GE Capital: Inappropriate GE Capital card number - The merchant attempted to use a GE Capital card with a BIN that does not belong to them. |
1100 | No referenced transaction found. |
1101 | Only referred transactions can be authorised. |
1102 | Only pre or auth transaction can be authorised. |
1103 | Must supply updated authcode to authorise transaction. |
1104 | Transactions cannot be authorized after time limit expired - The default timeout value is set to 6hours but can be amended per Vtid by contacting DataCash Support. |
1105 | Fraud challenged transactions cannot be authorized. |
1106 | Historic reference already in use |
12001 | vtidconfiguration - There are more than one active passwords already registered against your vTID at the time the txn was received. |
12002 | vtidconfiguration - The IP address of the system submitting the vtidconfiguration request is not registered against your vTID. |
eProcessing:
Code | Description |
0 | Approved. |
1 | Declined. |
2 | Error. |
Code | Description |
True | Transaction authorized. |
Anything else | Transaction declined. |
ExPay Response Codes for the ExPayGetMethods call:
Code | Description |
200 | The request has been successfully processed |
401 | Invalid request hash |
402 | Invalid Payee ID key |
404 | Mandatory attribute is missing |
405 | Invalid format of the attribute |
500 | Internal server error |
ExPay Response Codes for the AuthOnly method:
Code | Description |
204 | Payment is rejected |
206 | Waiting for payment by the payer |
401 | Invalid request's hash |
402 | Invalid Payee ID Key |
404 | Required attribute is missing |
405 | Invalid format of the attribute |
406 | The amount of payment is less than the minimum possible at a selected payment method |
407 | The amount of payment larger than the maximum possible in a selected payment method |
413 | The amount of payment is less than commission |
479 | This payment ID already exists in the system |
483 | This payment method is not available |
500 | Internal server error |
545 | This merchant is blocked, contact support |
583 | The payment system provides payment method is blocked |
999 | Unknown status, contact support |
ExPay Response Codes for the ExPayGetStatus call:
Code | Description |
201 | Payment is in the processing queue |
203 | Payment in the processing |
204 | Payment is rejected |
205 | Payment has been successfully completed |
206 | Waiting for payment by the payer |
207 | Payment is returned |
401 | Invalid hash of request |
402 | Invalid Payee ID Key |
404 | Mandatory attribute is missing |
405 | Invalid attribute format |
474 | Payment with the specified parameters is not found |
500 | Internal server error |
999 | Unknown status, contact support |
Fast Transact/Net Billing:
Code | Description |
I (letter I) = Incomplete | These are transactions that are successful, but may fail at a later date, ie: An ACH transaction is approved, but then is later denied due to NSF. |
1 (number 1) = Approved, Good | This is a transaction that is approved and charged. |
R = Refunded | This transaction has been refunded. It is extremely unlikely you will ever see this return code in this context, although you may see it when browsing old transactions in the NetBilling database (via the Admin tools). |
T = Ticket | This is returned when an Authorize-Only or AVS-Only transaction is good. |
F or 0 = Failure | The number zero "0" or the letter "F" indicates that the transaction failed. A more detailed message will be available in the Text field. |
Other Code | Any other non-zero, non-null codes should be interpreted as success for compatibility with future response codes. |
Code | Description |
1 | Approved |
2 | Declined |
3 | Error |
Code | Description |
00 | Transaction Normal |
08 | CVV2/CID/CVC2 Data not verified |
10 | Invalid Transaction Description |
11 | Invalid Sequence No |
12 | Message Timed-out at Host |
14 | Invalid Gateway Id |
15 | Invalid Transaction Number |
16 | Connection Inactive |
17 | Unmatched Transaction |
18 | Invalid Reversal Response |
19 | Unable to Send Socket Transaction |
20 | Unable to Write Transaction to File |
21 | BCE Function Error |
22 | Invalid Credit Card Number |
23 | Invalid Response from First Data |
24 | Unable to Void Transaction |
25 | Invalid Expiry Date |
26 | Invalid Amount |
27 | Invalid Card Holder |
28 | Invalid Authorization No |
30 | Invalid Date From Host |
31 | Invalid Verification String |
32 | Invalid Transaction Code |
40 | Unable to Connect |
41 | Unable to Send Logon |
42 | Unable to Send Trans |
43 | Invalid Logon |
44 | Address not Verified |
52 | Terminal not Activated |
53 | Terminal/Gateway Mismatch |
54 | Invalid Processing Center |
55 | No Processors Available |
56 | Database Unavailable |
57 | Invalid Reference No |
58 | Invalid AVS String, The length of the AVS String has exceeded the max. 40 characters |
60 | Invalid Customer Reference Number |
61 | Socket Error |
62 | Host not Ready |
63 | Invalid Duplicate |
64 | Invalid Refund |
68 | Restricted Card Number |
70 | Transaction Placed in Queue |
72 | Data within the transaction is incorrect |
73 | Transaction Received from Bank |
76 | Reversal Pending |
77 | Reversal Complete |
79 | Reversal Sent to Bank |
93 | Invalid authorization number entered on a pre-auth completion |
F1 | Address check failed - Fraud suspected |
F2 | Card/Check Number check failed - Fraud suspected |
F3 | Country Check Failed - Fraud Suspected |
F4 | Customer Reference Check Failed - Fraud Suspected |
F5 | Email Address check failed - Fraud suspected |
F6 | IP Address check failed - Fraud suspected |
Code | Description |
Unknown | |
Success | Request was received and successfully processed. Returned on API calls which don't involve executing a payment or payment cancellation. |
Payment_Success | Specific to Make a Payment. Indicates the payment was accepted and successfully issued for authorization. |
Cancel_Success | Specific to Cancel Payment. Indicates the request to cancel a payment was received and successfully issued to the processor. |
Error | Indicates an error occurred in processing your request. Any number of problems could produce an error condition. ResponseText will contain the further error details. |
Declined | Indicates that a payment authorization has been denied by the processor. ResponseText may contain further details. |
Verification_failed | Indicates that the consumer identity information did not match the processors records. |
Communication_Error | Indicates that the PayPoint system is experiencing issues communicating with in its internal systems. |
Settled | Indicates that the transaction was issued for Settlement and was successfully accepted. |
Settlement_Error | Indicates that when the payment action was issued for settlement an error occurred. If a payment action receives a Settlement Error you should contact PayPoint Support personnel for additional details. |
Network_Error | Indicates that the PayPoint system is experiencing issues communicating with third party processing. |
Processor_Mismatch | There is a processor mismatch in the internal systems. |
CreditCards_Disabled | Indicates that the application you are attempting to issue a credit card payment action against is currently not enabled for Credit Cards. If you wish to start accepting credit cards contact PayPoint Support personnel. |
Unaccepted_Card_Type | Indicates the Make A Payment request was rejected because the card type used is not valid for this application. PayPoint enables only cards being accepted by your Payment Processor. |
Payment_Exceeds_System_Limit | PayPoint has the ability to set a daily limit on payments received and processed for a given account. This limit is determined at the time you fill out your PayPoint application. The default setting is unlimited. Unless you explicitly request a limitation on your PayPoint application you will never see this return code. |
Payment_Exceeds_Card_Limit | PayPoint has the ability to set a single payment limit on payments received and processed for a given card. This limit is determined at the time you fill out your PayPoint application. The default setting is unlimited. Unless you explicitly request a limitation on your PayPoint application you will never see this return code. |
Possible_Duplicate_Payment | PayPoint has the ability to track duplicate payments received and can reject them as a part of the Make A Payment request. This feature is determined at the time you fill out your PayPoint Application. The default setting is set to not check for duplicates. Unless you explicitly request a duplicate payment check option on your PayPoint application you will never see this return code. |
Unresolved_Cancellation | A cancellation was not resolved on the internal systems. |
Undefined_Item | Prior to processing a request within PayPoint the data you send is run through a data validation process. This process checks to ensure that your request conforms to the specification. For example that you have provide all required data elements in your request, or that you are passing proper data types (i.e. not passing characters in numeric values). If your request fails this validation process PayPoint will reject your request with this return code. The Result Message will provide more specific details on what data failed validation. |
Chargeback | Indicates that the payment was successfully charged back. |
Chargeback_Reversal | Indicates that a charge back request was successfully reversed. |
Settlement_Incomplete | Catch all error for technical problems encountered during settlement processing. You should never see this result code. If this error is ever seen contact PayPoint Support personnel. |
Partial_Settlement | Anytime there are multiple payments actions under a single transaction where one payment is settled but the other has not you will see a Partial_Settlement Result Code. For example if you have a primary payment and a convenience fee payment under the same transaction and only the primary payment has been issued for settlement. Another possible example is a E-Check payment which is refunded, the original payment would be settled but the refund may not have settled yet. |
Settlement_Pending | This result code is specific to E-Check payments which have a longer settlement process than Credit Cards. This result code means a payment has been sent off for settlement, but we have not received back confirmation of the settlement result. Settlement results within ACH are typically updated as a result of no negative activity within the first 6 days from the settlement issuance. |
eChecks_Disabled | Indicates that the application you are attempting to issue a E-Check payment action against is currently not enabled for E-Checks. If you wish to start accepting E-Checks contact PayPoint Support personnel. |
Missing_Identification | The result code is specific to E-Checks. PayPoint provides fraud detection services. PayPoint provides the ability to enable identity verification services for an additional cost. These services are offered to allow clients to be NACHA compliant with consumer identity requirements. If enabled this result code indicates that the payment is being rejected because you did not provide the required identity data such as Driver's License Number or SSN. |
Waiting_On_PreNote | This result code is specific to E-Checks. PayPoint supports the ability to require the issuance of Pre-Notes for registered accounts. If your application is enabled to require Pre-Notes it may also be set to require a successful pre-note before accepting payments. You will receive this result code for any payments received prior to completion of the pre-note process for a given registered account. |
PreNote_Failed | This result code is specific to E-Checks. PayPoint supports the ability to require the issuance of Pre-Notes for registered accounts. If your application is enabled to require Pre-Notes it may also be set to require a successful pre-note before accepting payments. Indicates that the Pre-Note request for a registered account has failed. No Payments can be applied against the registered account until the account information is updated and a new pre-note is issued by PayPoint. You will receive this result code for any payments received prior to correcting the registration information and successful issuance of the pre-note. |
Stop_Payment_Issued | This result code is specific to E-Checks. Consumers have the right to issue a stop payment up to 60 days after making an original payment. This result code indicates that we received a stop payment request through the ACH network and have reversed the original payment transaction within PayPoint and a reversal has been issued against the merchants account. |
Non_Sufficient_Funds | This result code is specific to E-Checks. This indicates that a E-Check which was issued for settlement resulted in a Non-Sufficient Funds return. Depending on your configuration the payment will be re-presented through the ACH network up to 2 additional times. If you see this message it indicates 1 of 2 possible attempts. If after re-presentment the payment still results in Non-Sufficient funds in the consumers account a Final_Non_Sufficient_Funds result code is returned. |
Final_Non_Sufficient_Funds | This result code is specific to E-Checks. This indicates that the consumers account has insufficient funds to process the original payment request. As a result PayPoint will reverse the transaction. In addition a reversal of the original payment request will be issued against the merchants account. |
Account_Invalid | This result code is specific to E-Checks. When a E-Check payment request is received PayPoint will perform a basic check of the account and routing numbers provided against known data sources such as Thomson account files to ensure the account number is valid. However after a payment is issued for settlement there can be other conditions that result in invalidating the use of the account number. One example is consumers who may have debit blocks on their accounts which would result in a denial by the consumers back to allow the debit to take place. If an Invalid account result is received PayPoint will reverse the transaction within PayPoint. In addition a reversal of the original payment request will be issued against the merchants account. |
Payment_Pending | Indicates that the original Payment was issued with a postdated payment. PayPoint only support postdated transactions for E-Check payments. Once the payment date is reached the payment request will be sent through the normal payment authorization and settlement processing. |
Post_Date_Too_Large | This result code is specific to E-Checks. This result indicates that at the time the Make A Payment request sent the payment was posted dated beyond the acceptable limits. PayPoint can support postdated payments up to 365 days. The default value is to not accept postdated payments. When you fill out your PayPoint Application form you must identify the number of days your application will accept posted dated payments. |
Refund_Settlement_Pending | E-Check Only result code. This result code indicates that a E-Check Payment which is currently in Settlement_Pending status was refunded. (i.e. before the original payment fully settled through ACH). The refund stays in a Refund_Settlement_Pending status until the original payment fully settles and the refund can be settled against the original payment. |
Pre_Auth_Success | This result code is specific to Credit Card payments and is only seen when PayPoint is responsible for doing account verifications when new registrations are created. Account Verification is a feature that can be enabled on your PayPoint account to make a verification request of the account data associated with the registration data being created or updated. To verify a credit card a Pre-Authorization for $1.00 is made to verify account is valid. |
Eligible | Result code is specific to PINless debit cards. The result is returned as a result of a call to the PinlessDebitCheck API call. This result code indicates that the card is eligible to be processed through the PINless debit network. |
Not_Eligible | Result code is specific to PINless debit cards. The result is returned as a result of a call to the PinlessDebitCheck API call. This result code indicates that the card is NOT eligible to be processed through the PINless debit network. |
PINLessDebit_Disabled | Result code is specific to PINless debit cards. This result is returned when your PayPoint account is not enabled to process PINless debit transactions. |
PINDebit_Disabled | Result is specific to PIN based debit cards. This result is returned when your PayPoint account is not enabled to process PIN debit transactions. |
Code | Description |
00 | Successful |
101 | Declined by Issuing Bank |
102 | Referral by Issuing Bank (treat as decline in automated system such as internet) |
103 | Card reported Lost or Stolen |
106 | AUTH FAILED CONTACT AUTH CENTRE |
107 | FAILS REALSCORE FRAUD CHECKS |
108 | USING TEST SYSTEM. PLEASE USE PREAPPROVED TEST CARDS ONLY |
109 | COMMS ERROR SCHEDULED Issuing BANK MAINTENANCE |
200 | UNSPECIFIED BANK ERROR |
202 | NETWORK ERROR: CANNOT CONNECT TO EpoS. |
205 | Comms error Bank connection error. |
301 | Cannot connect to Database. |
302 | Configuration error with your bank details acquiring bank). Please contact Global Iris. |
303 | Error in configuration, merchant has more than one config for this currency/card combination. |
304 | Can't find transaction details in database. |
305 | HSBC Merchant Services are currently updating the system. We apologise for the inconvenience. |
501 | This transaction has already been processed. |
502 | Compulsory field not present, cannot continue. |
503 | Request type not allowed for this merchant. |
504 | There is no merchant id. Please contact Global Iris Support Team if you continue to experience this problem. |
505 | Sha1hash incorrect. |
506 | Bad XML formation. |
507 | Currency/Card combination not allowed. |
508 | Invalid request data. |
509 | Invalid credit card data. |
510 | That amount is greater than the max allowed. |
511 | Unable to connect to the merchant response URL. |
512 | Original transaction not found. |
513 | Can't void a settled transaction. |
514 | Can't settle the transaction. |
600 | "INTERNAL PROBLEM" Application has identified an issue with a resource dependency and cannot process the request. |
601 | "INVALID REQUEST" Request Format does not conform and cannot be parsed. |
603 | "INTERNAL EXCEPTION" Application has encountered an unknown error and cannot process the request. |
666 | This account has been deactivated. Please contact Global Iris Support Team for further details. |
Code | Description |
A | Approved |
D | Declined |
R | Referral |
Code | Description |
00 | Transaction was Approved |
01 | Error - invalid request. |
02 | Error - invalid credentials. |
03 | Error - internal GPG Error. |
05 | Merchant processing network error - timeout. |
20 | Declined - Exceeds Maximum Ticket. |
21 | Declined - CVV No Match. |
22 | Declined - AVS No Match. |
23 | Declined - Fraud Prevention. |
24 | Declined - Test Card. |
25 | Declined - Transaction Not Allowed. |
26 | Declined - Prepaid Card Not Allowed. |
27 | Declined - Transaction Not Allowed. |
28 | Declined - Transaction Not Allowed. |
200 | Transaction was declined by processor. |
201 | Do not honor. |
202 | Insufficient Funds. |
203 | Over Limit. |
204 | Transaction not allowed. |
220 | Incorrect payment data. |
221 | No such card issuer. |
222 | No card number on file with issuer. |
223 | Expired card. |
224 | Invalid expired date. |
225 | Invalid card security code. |
240 | Call issuer for further information. |
250 | Pick-up card. |
251 | Lost card. |
252 | Stolen card. |
253 | Fraudulent card. |
260 | Declined with further information available. |
261 | Declined - stop all recurring payment. |
262 | Declined - stop this recurring program. |
263 | Declined - update cardholder data available. |
264 | Declined - retry in few days. |
300 | Transaction was rejected by gateway. |
400 | Transaction error returned by processor. |
410 | Invalid merchant configuration. |
411 | Merchant account is inactive. |
420 | Communication error. |
421 | Communication error with issuer. |
430 | Duplicate transaction at processor. |
440 | Processor format error. |
441 | Invalid transaction information. |
460 | Processor feature not available. |
461 | Unsupported card type. |
Code | Description |
0 | Error |
1 | Transaction successful |
2 | Transaction declined |
Code | Description |
0 | Normal Termination |
20978 | A required transaction field is invalid/missing |
20979 | A required transaction field is missing |
20988 | Merchant is not approved for service |
20989 | Both Card and Check services are turned off |
20995 | Invalid transaction type |
20996 | Missing transaction type |
20997 | Invalid server (potential security violation) |
20998 | Could not validate Merchant Id |
20999 | Missing or invalid Merchant Id |
30998 | Internal software error |
Code | Description |
-21 | Unauthorized. |
-2 | Authentication error. |
-1 | Portico error. |
0 | Success. |
1 | Gateway system error. |
2 | Duplicate transactions. |
3 | Invalid original transaction. |
4 | Transaction already associated with batch. |
5 | No current batch. |
6 | Invalid return amount. |
7 | Invalid report parameters. |
8 | Bad track data. |
9 | No transaction associated with batch. |
10 | Empty report. |
11 | Original transaction not CPC. |
12 | Invalid CPC data. |
13 | Invalid edit data. |
14 | Invalid card number. |
15 | Batch close in progress. |
16 | Invalid Ship Date. |
17 | Invalid encryption version. |
18 | E3 MSR Failure. |
19 | Invalid Reversal Amount. |
20 | Database operation time out. |
21 | Archive database is currently unavailable. |
22 | Archive database is currently unavailable, but an attempt was made to retrieve the data from the real-time database. |
23 | An error was returned from the tokenization service when looking up a supplied token. |
24 | A token was supplied in the request but tokenization is not yet supported for the requested service type. |
25 | A token value was both supplied and requested. |
30 | POS Gateway did not receive a response from the back end systems. POS Gateway is not sure if the transaction was successful or not. |
32 | Missing KTB error. |
33 | Missing KSN error. |
34 | Invalid data received. |
35 | Device setting error. |
36 | Invalid Original Txn for Repeat. |
37 | Missing Element. |
38 | Invalid auth amount. |
39 | Transaction rejected because EMV TLV data was invalid. |
40 | Transaction rejected the referenced transaction has invalid EMV TLV data. |
41 | Transaction declined because possible fraud was detected. |
50 | Processor System Error. |
51 | Processor Configuration error. |
52 | Service Not Allowed. |
Code | Description |
A | Approved. |
D | Declined. Transaction was declined by the authoriser and it is unlikely that it would receive voice approval. This is also known as a hard decline. |
R | Referred. Transaction was declined by the authoriser, but it might receive voice approval. This is also known as a soft decline. |
E | Error. There is something wrong with the transaction which prevents it from processing. |
Code | Description |
0 | Transaction Approved |
* | All other codes should be considered as declined. |
Code | Description |
A | Approved. The purchase has been authorized by the issuer. |
S | Same. The DTS has detected a possible duplicate transaction. You can treat this as a decline, or you can send the transaction again after adding the following special field with the AddSpecialField method: AddSpecialField("DUPEOK", "Y");. |
D | Declined. The authorizer has declined the purchase request. |
X | Expired. The card has expired. |
E | Error. A data entry error of some kind has occurred. |
U | Unknown. An unknown processor or issuer error has occurred. |
F | Failure. A system failure of some kind has occurred. |
Code | Description |
0 | Approved. |
1 | Declined or error condition. |
Code | Description |
000 | Approved |
001 | Refer to card issuer. |
002 | Refer to card issuer, special condition. |
003 | Pick up card. |
005 | Do not honor. |
006 | Error. |
007 | Pickup card, special condition. |
014 | Invalid account number (no such number). |
015 | No such issuer. |
025 | Record cannot be found. |
041 | Pick up card (lost card). |
043 | Pick up card (stolen card). |
051 | Insufficient funds. |
052 | No checking account. |
054 | Expired Card. |
057 | Transaction not permitted to cardholder. |
062 | Restricted card. |
100 | Do not honor. |
103 | Invalid manual Entry 4DBC. |
104 | New card issued. |
105 | Account Canceled. |
107 | Please Call Issuer. |
109 | Invalid merchant. |
110 | Invalid amount. |
111 | Invalid account. |
115 | Service not permitted. |
122 | Invalid card (CID) security code. |
125 | Invalid effective date. |
181 | Format error. |
182 | Please wait. |
183 | Invalid currency code. |
188 | Expiration date required. |
189 | Canceled or Closed Merchant/SE. |
200 | Pick up card. |
400 | Reversal accepted. |
913 | Merchants who do not accept certain credit card types. |
917 | Expired card. |
981 | Merchant accounts that are configured to reject transactions based on AVS results. |
992 | Decline/Timeout. |
900 | XML syntax error. |
Code | Description |
1 | Transaction successful |
0 | Transaction failed |
101 | Invalid request method. Only post is allowed. |
102 | MerchantID field is empty |
103 | OrderNumber field is empty |
104 | OrderNumber is already used |
105 | FirstName field is empty |
106 | LastName field is empty |
107 | EmailAddress field is empty |
108 | PhoneNumber field is empty |
109 | BankName field is empty |
110 | CountryName field is empty |
111 | StateName field is empty |
112 | CityName field is empty |
113 | Address1 field is empty |
114 | ZIPCode field is empty |
115 | OrderAmount field is empty |
116 | CurrencyCode field is empty |
117 | CurrencyCode is invalid |
118 | CardNumber field is empty |
119 | CardNumber field is invalid |
120 | ExpMonth field is empty |
121 | ExpMonth field is invalid |
122 | ExpYear field is empty |
123 | ExpYear field is invalid |
124 | CVC field is empty |
125 | PayerIP field is empty |
126 | CSID field is empty (Customer ID) |
127 | MerchantID field is invalid |
128 | Terminal is inactive |
129 | Gateway is inactive |
130 | Bad gateway error |
Code | Description |
APPROVED | The transaction was approved. |
DECLINED | the transaction was declined. |
FRAUD | Fraudulent transaction detected. |
Code | Description |
000 | Approved |
010 | Partially Approved |
100 | Processing Network Unavailable |
101 | Issuer Unavailable |
102 | Re-submit Transaction |
110 | Insufficient Funds |
111 | Authorization amount has already been depleted |
120 | Call Issuer |
121 | Call AMEX |
122 | Call Diners Club |
123 | Call Discover |
124 | Call JBS |
125 | Call Visa/MasterCard |
126 | Call Issuer - Update Cardholder Data |
127 | Exceeds Approval Amount Limit |
130 | Call Indicated Number |
140 | Update Cardholder Data |
191 | The merchant is not registered in the update program. |
301 | Invalid Account Number |
302 | Account Number Does Not Match Payment Type |
303 | Pick Up Card |
304 | Lost/Stolen Card |
305 | Expired Card |
306 | Authorization has expired; no need to reverse |
307 | Restricted Card |
308 | Restricted Card - Chargeback |
310 | Invalid track data |
311 | Deposit is already referenced by a chargeback |
320 | Invalid Expiration Date |
321 | Invalid Merchant |
322 | Invalid Transaction |
323 | No such issuer |
324 | Invalid Pin |
325 | Transaction not allowed at terminal |
326 | Exceeds number of PIN entries |
327 | Cardholder transaction not permitted |
328 | Cardholder requested that recurring or installment payment be stopped |
330 | Invalid Payment Type |
335 | This method of payment does not support authorization reversals |
340 | Invalid Amount |
346 | Invalid billing descriptor prefix |
349 | Do Not Honor |
350 | Generic Decline |
351 | Decline - Request Positive ID |
352 | Decline CVV2/CID Fail |
353 | Merchant requested decline due to AVS result |
354 | 3-D Secure transaction not supported by merchant |
355 | Failed velocity check |
356 | Invalid purchase level III, the transaction contained bad or missing data |
360 | No transaction found with specified litleTxnId |
361 | Authorization no longer available |
362 | Transaction Not Voided - Already Settled |
363 | Auto-void on refund |
365 | Total credit amount exceeds capture amount |
370 | Internal System Error - Call Litle |
400 | No Email Notification was sent for the transaction |
401 | Invalid Email Address |
500 | The account number was changed |
501 | The account was closed |
502 | The expiration date was changed |
503 | The issuing bank does not participate in the update program |
504 | Contact the cardholder for updated information |
505 | No match found |
506 | No changes found |
601 | Soft Decline - Primary Funding Source Failed |
602 | Soft Decline - Buyer has alternate funding source |
610 | Hard Decline - Invalid Billing Agreement Id |
611 | Hard Decline - Primary Funding Source Failed |
612 | Hard Decline - Issue with Paypal Account |
701 | Under 18 years old |
702 | Bill to outside USA |
703 | Bill to address is not equal to ship to address |
704 | Declined, foreign currency, must be USD |
705 | On negative file |
706 | Blocked agreement |
707 | Insufficient buying power |
708 | Invalid Data |
709 | Invalid Data - data elements missing |
710 | Invalid Data - data format error |
711 | Invalid Data - Invalid T&C version |
712 | Duplicate transaction |
713 | Verify billing address |
714 | Inactive Account |
716 | Invalid Auth |
717 | Authorization already exists for the order |
Code | Description |
0 | Approved |
1 | Declined |
Code | Description |
000 | Transaction Approved. |
085 | No reason to decline (Response to an AVS Only transaction) |
0xx | Transaction declined. xx = decline reason code. |
101 | Invalid Profile ID or Profile Key. |
102 | Incomplete Request. |
103 | Invoice Number Length Error. |
104 | Reference Number Length Error. |
105 | AVS Address Length Error. |
106 | AVS Zip Length Error. |
107 | Merchant Name Length Error. |
108 | Merchant City Length Error. |
109 | Merchant State Length Error. |
110 | Merchant Zip Length Error. |
111 | Merchant Category Code Length Error. |
112 | Merchant Phone Length Error. |
113 | Reference Number Must Be Numeric. |
114 | Missing Card Holder Account Data. |
115 | Invalid Card Number. |
116 | Credits Not Allowed. |
117 | Card Type Not Accepted. |
118 | Currency Type Not Accepted. |
119 | Retry ID length error. Must be 16 characters or less |
120 | An invoice number is required for a 3D enrollment check |
121 | MOTO/e-Commerce indicator length error. |
122 | Non-USD offline transaction are not supported |
123 | Client Reference Number length error |
124 | Batch Number Required |
125 | Invalid Batch Number |
201 | Invalid Transaction ID. |
202 | Invalid Transaction Amount. |
203 | Void Failed. |
204 | Transaction Already Settled. |
205 | Transaction Already Voided. |
206 | Transaction Already refunded. |
207 | Refund failed. |
208 | Failed to receive a response from auth host. |
209 | Invalid tax amount. |
210 | AVS result is declined by user. |
211 | CVV2 result is declined by user. |
212 | Refund amount must be between zero and the original amount. |
213 | Only sale transactions can be refunded. |
214 | Only one type of card data allowed per request. |
215 | Invalid Card ID. |
216 | Failed to load card data, retry request. |
217 | Failed to store card data, retry request. |
218 | Card ID parameter cannot be included in this type of transaction. |
219 | Offline transactions requires an authorization code |
220 | Failed to delete card data, retry request |
221 | Invalid Card ID |
222 | Card ID required |
223 | Retry Request ID Lookup Failed |
224 | FX rate ID invalid. |
225 | FX rate has expired. |
226 | FX rate lookup failed, retry request. |
227 | FX rate ID required for foreign currency transactions. |
228 | Base and consumer amounts are inconsistent with the FX rate. |
229 | Failed to find currency code for the requested country code. |
230 | Failed to post transaction the FX service. |
231 | FX amount in base currency is required. |
232 | FX transactions not accepted for this account. |
233 | Request currency code must match FX rate currency code |
234 | Pin debit transactions require track 2 swipe data. |
235 | Invalid pin debit transaction type. |
236 | Non-USD pin debit transactions are not supported. |
237 | Batch Close Failed |
238 | Quit Duplicate Batch |
300 | Failed to capture International transaction. |
301 | Failed to void International transaction. |
302 | Failed to refund International transaction. |
303 | Card Verify not supported. |
304 | Failed to reverse International authorization. |
400 | VBV/MSC Enrollment Check |
401 | VBV/MSC Verification Failed. |
999 | Internal Error. |
Code | Description |
Declined | Transaction declined. |
Approved | Transaction accepted. |
Code | Description |
0 | Transaction successful. |
1 | Transaction could not be processed. |
2 | Transaction declined - Contact issuing bank. |
3 | Transaction declined - No reply from bank. |
4 | Transaction declined - Expired card. |
5 | Transaction declined - Insufficient credit. |
6 | Transaction declined - Bank system error. |
7 | Payment server processing error. |
8 | Transaction declined - Transaction type not supported. |
9 | Bank declined transaction. |
A | Transaction aborted. |
B | Transaction blocked. |
C | Transaction cancelled. |
D | Deferred transaction. |
E | Transaction declined - Refer to card issuer. |
F | 3D Secure authentication failed. |
I | Card security code failed. |
L | Shopping transaction locked. |
N | Cardholder is not enrolled in 3D Secure (Authentication only). |
P | Transaction is pending. |
R | Retry limits exceeded. |
T | Address verification failed. |
U | Card security code failed. |
V | Address verification and card security code failed. |
Code | Description |
AUTH | Transaction authorized/approved. |
CALL | Call processor for authorization. |
DENY | transaction denied, permanent denial, not likely to succeed on further attempts. |
DUPL | Duplicate transaction. |
PKUP | Confiscate card. |
RETRY | Temporary error, retrying the transaction may yield a different result. Typically these are clerk-initiated retries, not automated. |
SETUP | Setup error. |
TIMEOUT | Transaction not processed in allocated amount of time. |
Code | Description |
0 | Declined or incomplete. |
1 | Approved. |
Code | Text | Description |
0 | APPROVED | Transaction approved. |
1 | (Custom server response) | Declined or error condition. See Text for additional information. |
[Empty] | [Empty] | See ErrorCode and ErrorText for error information. |
Code | Description |
ACCEPTED | The transaction was processed. |
DECLINED | The transaction was declined before it was sent for processing. |
ERROR | The transaction was attempted but failed. |
Code | Description |
1 | Accepted |
2 | Declined |
3 | Error |
Code | Description |
0 | Incomplete or invalid |
1 | Cancelled by client |
2 | Authorization refused |
4 | Order stored |
41 | Waiting client payment |
5 | Authorized |
51 | Authorization waiting |
52 | Authorization not known |
55 | Stand-by |
59 | Authoriz. to get manually |
6 | Authorized and cancelled |
61 | Author. deletion waiting |
62 | Author. deletion uncertain |
63 | Author. deletion refused |
64 | Authorized and cancelled |
7 | Payment deleted |
71 | Payment deletion pending |
72 | Payment deletion uncertain |
73 | Payment deletion refused |
74 | Payment deleted |
75 | Deletion processed by merchant |
8 | Refund |
81 | Refund pending |
82 | Refund uncertain |
83 | Refund refused |
84 | Payment declined by the acquirer |
85 | Refund processed by merchant |
9 | Payment requested |
91 | Payment processing |
92 | Payment uncertain |
93 | Payment refused |
94 | Refund declined by the acquirer |
95 | Payment processed by merchant |
99 | Being processed |
Code | Description |
0 | Decline. |
1 | Approved. |
2 | Message/System error. |
Code | Description |
0 | Failed Transaction |
1 | Successful Transaction (for Charge and Settle) |
2 | Voided or Refunded Transaction |
5 | Pending Credit for First Data |
7 | Successful Authorization Transaction |
9 | Pending Transaction |
10 | Successful Pending E-Check Transaction |
21 | eCheck NSF |
22 | eCheck NSF |
23 | eCheck Return |
24 | eCheck Return |
Code | Description |
00 | Approved. |
85 | Approved. |
FE | There was a format error with your Trinity Gateway Service (API) request. |
LE | Could not log you in (problem with dc_logon and/or dc_password). |
AE | Address verification failed because address did not match. |
ZE | Address verification failed because zip did not match. |
XE | Address verification failed because zip and address did not match. |
YE | Address verification failed because zip and address did not match. |
OE | Address verification failed because address or zip did not match.. |
UE | Address verification failed because cardholder address unavailable. |
RE | Address verification failed because address verification system is not working. |
SE | Address verification failed because address verification system is unavailable. |
EE | Address verification failed because transaction is not a mail or phone order. |
GE | Address verification failed because international support is unavailable. |
CE | Declined because CVV2/CVC2 code did not match. |
NL | Aborted because of a system error, please try again later. |
AB | Aborted because of an upstream system error, please try again later. |
04 | Declined. Pick up card. |
07 | Declined. Pick up card (Special Condition). |
41 | Declined. Pick up card (Lost). |
43 | Declined. Pick up card (Stolen). |
13 | Declined because of the amount is invalid. |
14 | Declined because the card number is invalid. |
80 | Declined because of an invalid date. |
05 | Declined. Do not honor. |
51 | Declined because of insufficient funds. |
N4 | Declined because the amount exceeds issuer withdrawal limit. |
61 | Declined because the amount exceeds withdrawal limit. |
62 | Declined because of an invalid service code (restricted). |
65 | Declined because the card activity limit exceeded. |
93 | Declined because there a violation (the transaction could not be completed). |
06 | Declined because address verification failed. |
54 | Declined because the card has expired. |
15 | Declined because there is no such issuer. |
96 | Declined because of a system error. |
N7 | Declined because of a CVV2/CVC2 mismatch. |
M4 | Declined. |
Code | Description |
-100 | Transaction NOT Processed; Generic Host Error |
0 | Approved |
1 | User Authentication Failed |
2 | Invalid Transaction |
3 | Invalid Transaction Type |
4 | Invalid Amount |
5 | Invalid Merchant Information |
7 | Field Format Error |
8 | Not a Transaction Server |
9 | Invalid Parameter Stream |
10 | Too Many Line Items |
11 | Client Timeout Waiting for Response |
12 | Decline |
13 | Referral |
14 | Transaction Type Not Supported In This Version |
19 | Original Transaction ID Not Found |
20 | Customer Reference Number Not Found |
22 | Invalid ABA Number |
23 | Invalid Account Number |
24 | Invalid Expiration Date |
25 | Transaction Type Not Supported by Host |
26 | Invalid Reference Number |
27 | Invalid Receipt Information |
28 | Invalid Check Holder Name |
29 | Invalid Check Number |
30 | Check DL Verification Requires DL State |
40 | Transaction did not connect (to NCN because SecureNCIS is not running on the web server) |
50 | Insufficient Funds Available |
99 | General Error |
100 | Invalid Transaction Returned from Host |
101 | Timeout Value too Small or Invalid Time Out Value |
102 | Processor Not Available |
103 | Error Reading Response from Host |
104 | Timeout waiting for Processor Response |
105 | Credit Error |
106 | Host Not Available |
107 | Duplicate Suppression Timeout |
108 | Void Error |
109 | Timeout Waiting for Host Response |
110 | Duplicate Transaction |
111 | Capture Error |
112 | Failed AVS Check |
113 | Cannot Exceed Sales Cap |
1000 | Generic Host Error |
1001 | Invalid Login |
1002 | Insufficient Privilege or Invalid Amount |
1003 | Invalid Login Blocked |
1004 | Invalid Login Deactivated |
1005 | Transaction Type Not Allowed |
1006 | Unsupported Processor |
1007 | Invalid Request Message |
1008 | Invalid Version |
1010 | Payment Type Not Supported |
1011 | Error Starting Transaction |
1012 | Error Finishing Transaction |
1013 | Error Checking Duplicate |
1014 | No Records To Settle (in the current batch) |
1015 | No Records To Process (in the current batch) |
Code | Description |
0 | Approved |
- | Anything other than an approved transaction will return no code. However, the Text field will contain the error message. |
Code | Description |
0 | Approved. |
1 | User authentication failed. |
2 | Invalid tender type. Your merchant bank account does not support the following credit card type that was submitted. |
3 | Invalid transaction type. Transaction type is not appropriate for this transaction. For example, you cannot credit an authorization-only transaction. |
4 | Invalid amount format. |
5 | Invalid merchant information. Processor does not recognize your merchant account information. Contact your bank account acquirer to resolve this problem. |
7 | Field format error. Invalid information entered. |
8 | Not a transaction server. |
9 | Too many parameters or invalid stream. |
10 | Too many line items. |
11 | Client timeout waiting for response. |
12 | Declined. Please check the credit card number and transaction information to make sure they were entered correctly. If this does not resolve the problem, have the customer call the credit card issuer to resolve. |
13 | Referral. Transaction was declined but could be approved with a verbal authorization from the bank that issued the card. Submit a manual Voice Authorization transaction and enter the verbal auth code. |
19 | Original transaction ID (PNRef) not found. The transaction ID you entered for this transaction is not valid. |
20 | Cannot find the customer reference number. |
22 | Invalid ABA number. |
23 | Invalid account number. Please check credit card number and re-submit. |
24 | Invalid expiration date. Please check and re-submit. |
25 | Transaction type not mapped to this host. |
26 | Invalid vendor account. |
27 | Insufficient partner permissions. |
28 | Insufficient user permissions. |
29 | Invalid XML document. This could be caused by an unrecognized XML tag or a bad XML format that cannot be parsed by the system. |
30 | Duplicate transaction. |
31 | Error in adding the recurring profile. |
32 | Error in modifying the recurring profile. |
33 | Error in canceling the recurring profile. |
34 | Error in forcing the recurring profile. |
35 | Error in reactivating the recurring profile. |
36 | OLTP Transaction failed. |
50 | Insufficient funds available. |
99 | General error. |
100 | Transaction type not supported by host. |
101 | Timeout value too small. |
102 | Processor not available. |
103 | Error reading response from host. |
104 | Timeout waiting for processor response. Try your transaction again. |
105 | Credit Error. Please make sure you have not already credited this transaction, or that this transaction ID is for a creditable transaction (for example, you cannot credit an authorization.) |
106 | Host not available. |
107 | Duplicate suppression timeout. |
108 | Void error. Please make sure the transaction ID entered has not already been voided. If not, then look at the Transaction Detail screen for this transaction to see if it has settled (the Batch field will be set to a number greater than zero if the transaction has been settled.) If the transaction has already settled your only recourse is a reversal (credit a payment or submit a payment for a credit). |
109 | Timeout waiting for host response. |
111 | Capture error. Only authorization transactions can be captured. |
112 | Failed AVS check. Address and zip code do not match. |
113 | Cannot exceed sales cap. For ACH transactions only (not supported.) |
114 | CVV2 Mismatch. An authorization may still exist on the cardholder's account. |
115 | System is busy, try again later. |
116 | VPS Internal error - Failed to lock terminal number. |
117 | Failed merchant rule check. An attempt was made to submit a transaction that failed to meet the security settings specified on the VeriSign Manager Security Settings page. See VeriSign Manager User's Guide. |
118 | Invalid keywords found in string fields. |
1000 | Generic host error. This is a generic message returned by your credit card processor. The message itself will contain more information describing the error. |
Code | Description |
1 | Approved. |
2 | Referral (General). |
3 | Referral - Call bank for manual approval. |
4 | AVS request accepted. |
50 | Declined (General). |
51 | Connection timed-out. |
52 | Error connecting to processor or sending data. |
53 | Error during Payment Commit phase. |
54 | Timed out waiting for response. |
100 | Transaction failed to settle due to Soft Error. |
101 | Transaction failed to settle due to Hard Error. |
102 | Transaction failed to settle because the transaction is marked as Locked. |
500 | Declined - Transaction considered fraudulent by Fraud component. |
501 | "The transaction was Approved by the processor. However, it failed a postprocessing fraud rule and has been voided." |
502 | "The transaction was Approved by the processor. However, it failed a fraud rule and has been marked for review." |
Code | Description |
1 | Approved |
0 | Decline or error |
Code | Description |
1 | Accepted |
2 | Declined |
3 | Error |
Code | Description |
0 | Approved. |
-1 | The response from the PayTrace API was null. |
30 | Customer ID, xxxxx, was not found or is incomplete. |
35 | Please provide a valid Credit Card Number. |
36 | Customer ID, xxxxxx, does not have a valid billing address. |
37 | Customer ID, xxxxxx, does not have a valid billing ZIP. |
39 | Your PayTrace account is not set up to accept this card type. |
40 | An error occurred during the decryption process. |
43 | Please provide a valid Expiration Month. |
44 | Please provide a valid Expiration Year. |
45 | Please provide a valid Checking Account Number. |
46 | Please provide a valid Transit Routing Number. |
47 | Please provide an Amount that is less than your Sale Ceiling Amount. |
48 | Please provide an Amount that is less than your Refund Ceiling Amount. |
51 | Please provide a valid Amount. |
54 | Cash Advances may only be processed as Sales. |
55 | Cash Advances may only be processed through accounts set up in the TSYS/Vital network. |
56 | Cash Advances may not be processed to stored customers. |
57 | Your PayTrace account is not set up to process Cash Advances. |
58 | Please provide a valid Transaction ID. |
59 | Please provide a valid Check ID. |
61 | The Customer ID that you provided was not found in the PayTrace records. |
62 | Please provide a valid Photo ID. |
63 | Please provide a valid ID Expiration. |
64 | Please provide a valid Last 4 of Card. |
65 | Cash Advances may only be processed on Visa, MasterCard, and Discover cards. |
80 | The Check ID that you provided was not found in the PayTrace records. It may already be voided or settled. |
81 | The Transaction ID that you provided was not found in the PayTrace records. It may be a voided a transaction or an unsettled transaction. |
82 | Please provide a valid Batch Number. |
83 | This is not an approved transaction so it can not be captured. |
84 | This transactions approval code has expired as it was obtained more than 20 days ago. |
85 | The Transaction ID that you provided was not found in the PayTrace records. It may already be captured or settled. |
86 | The Transaction ID that you provided was not found in the PayTrace records. It may already be voided, settled, or an uncaptured authorization. |
87 | The Transaction ID that you provided was not found in the PayTrace records, and the receipt could not be emailed. |
88 | The Transaction ID that you provided was not found in the PayTrace records, and level 3 data could not be added to the Visa transaction. |
89 | The Transaction ID that you provided was not found in the PayTrace records, and level 3 data could not be added to the MasterCard transaction. |
90 | The Transaction ID that you provided was not found in the PayTrace records, and the amount was not updated. |
115 | Please provide a valid Approval Code. |
116 | Please provide a valid Transaction Type. |
117 | Please provide a valid Billing Name. |
118 | Please provide a valid Billing Address. |
119 | Please provide a valid Billing Address 2. |
120 | Please provide a valid City. |
121 | Please provide a valid State. |
122 | Please provide a valid Zip Code. |
124 | Please provide a valid Shipping Name. |
125 | Please provide a valid Shipping Address. |
126 | Please provide a valid Shipping Address 2. |
127 | Please provide a valid Shipping City. |
128 | Please provide a valid Shipping County. |
129 | Please provide a valid Shipping State. |
130 | Please provide a valid Shipping Zip Code. |
131 | Please provide a valid Shipping Country |
132 | Please provide a valid Phone Number. |
133 | Please provide a valid Source State. |
134 | Please provide a valid Source Zip Code. |
135 | Please provide a valid list of Shippers. |
136 | Please provide a valid Weight. |
137 | Please provide a valid Fax Number. |
139 | Please make sure the Shipping State and Shipping Zip are accurate. |
141 | Please provide a valid Email Address. |
148 | Please provide a valid CSC. |
149 | Please provide a valid Invoice Number. |
150 | Please provide a valid Description. |
151 | Please provide a valid Tax Amount. |
152 | Please provide a valid Customer Reference. |
153 | This customer profile does not have an email address to send the receipt. |
160 | Please provide a valid Frequency. |
161 | Please provide a valid Transaction Count. |
162 | Please provide a valid Start Date. |
163 | Please provide a valid Next Date. |
164 | Please provide a valid Repeat value. |
165 | Please provide a valid Recurring Payment ID. |
169 | No recurring payments were found with this criteria. |
170 | No approved transactions were found for this customer. |
171 | Please provide a unique customer ID. |
172 | Please provide a Customer Password that is greater than 6 characters and less than 255 characters. |
175 | Please provide a valid Start Date. |
176 | Please provide a valid End Date. |
177 | Please provide a date range. |
178 | Please provide a valid User. |
180 | No transactions were found with these criteria. |
185 | No customers were found with these criteria. |
190 | Please provide a valid National Tax Amount. |
191 | Please provide a valid Merchant Tax ID. |
192 | Please provide a valid Customer Tax ID. |
193 | Please provide a valid Commodity Code. |
194 | Please provide a valid Discount Amount. |
195 | Please provide a valid Freight Amount. |
196 | Please provide a valid Duty Amount. |
197 | Please provide a valid Additional Tax Amount. |
198 | Please provide a valid Additional Tax Rate. |
199 | Please provide a valid Additional Tax Indicator. |
200 | Please provide a valid Line Item record. |
201 | Please provide a valid Line Item Commodity Code. |
202 | Please provide a valid Line Item Description. |
203 | Please provide a valid Line Item Product ID. |
204 | Please provide a valid Line Item Quantity. |
205 | Please provide a valid Line Item Measure. |
206 | Please provide a valid Line Item Unit Cost. |
207 | Please provide a valid Line Item Additional Tax Amount. |
208 | Please provide a valid Line Item Additional Tax Rate. |
209 | Please provide a valid Line Item Discount. |
210 | Please provide a valid Line Item Amount. |
211 | Please provide a valid Line Item Additional Tax Indicator. |
212 | Please provide a valid Line Item Discount Rate. |
213 | Please provide a valid Line Item Discount Indicator. |
214 | Please provide a valid Line Item Net Gross Indicator. |
215 | Please provide a valid Line Item Debit Credit Indicator. |
230 | Batch was not initiated as no transactions are pending settlment. |
231 | Batch was not initiated as another batch is in progress or pending. |
700 | This transaction was not approved because the authorization network was not available. Please retry this transaction again. |
740 | PayTrace is unable to process this check as the check processor information is incomplete or the network returned an error. |
750 | PayTrace does not support this transaction type for this check processor. |
777 | PayTrace blocked this transaction because it is a duplicate, and it may be reprocessed in ### minute(s). |
867 | Please provide valid new passwords. |
869 | Please provide new passwords that are unique to your previous 4 passwords. |
880 | This customer is schedule for recurring payment #xxxxx and may not be deleted. |
900 | Please indicate that you agree with PayTrace's terms and conditions. |
950 | Unreferenced refunds are not permitted for Optima Payments accounts. |
951 | Forced Sales are not permitted for Optimal Payments accounts. |
952 | Swiped/card present transactions are not permitted for Optimal Payments accounts. |
973 | The processor information for xxxxxx is incomplete. |
974 | Your PayTrace account is not set up to use the PayTrace API. |
975 | Your PayTrace account is not set up to process recurring transactions. |
976 | Your account is only set up to process Cash Advances and Voids. |
978 | Your account is not set up to process checks. |
979 | Password is expired. Please log into virtual terminal to reset password. |
980~986 | Log in failed for insufficient permissions. |
987 | Please provide a valid method or request to process. |
988 | Log in failed. |
989 | Log in failed for insufficient permissions. |
990 | Please provide a properly formatted parameter string. |
991 | Log in failed. |
992 | Please ensure you have exactly one '~' between each of the name and value pairs in the parameter string. |
993 | xxxxxx is not a valid parameter name. |
994 | Please provide a valid user name. |
995 | Please provide a valid password. |
998 | Log in failed. |
999 | Log in failed for insufficient permissions. |
Code | Description |
0 | There were no errors during the execution of the operation. |
1000 | This code groups all errors related to the parameters sent. |
2000 | Groups all errors related to Payvision. |
3000 | Groups all responses related to declines. |
3100 | Groups all responses related to Referral transactions. |
3200 | Groups all errors related to the acquiring bank. |
4000 | Groups all errors regarding security issues. |
5000 | Groups all unexpected errors. |
6000 | Groups all codes different than 0 given by the business rules applied to the execution of an operation. |
PayWiser:
Code | Description |
-1 | Invalid caller |
-2 | Invalid parameters |
-3 | Duplicate ReferenceID |
-4 | Error calling bank |
-5 | Unknown card type |
-6 | Wrong format of CardExpDate |
-7 | Invalid CheckReferenceID |
-8 | Invalid PGReferenceID |
-9 | Amount is out of bounds (either 0 or not between min and max) |
-10 | Invalid ReservationReferenceID |
-11 | General processing error |
-12 | Invalid InitPaymentReferenceID |
-13 | Web payment is no longer active |
-14 | Web payment was already processed |
-15 | Invalid PaymentCheckURL response |
-16 | Invalid card region (intra) |
-17 | Invalid card region (inter) |
-18 | Hourly transaction count limit exceeded |
-19 | Daily transaction count limit exceeded |
-20 | Monthly transaction count limit exceeded |
-21 | Hourly transaction sum limit exceeded |
-22 | Daily transaction sum limit exceeded |
-23 | Monthly transaction sum limit exceeded |
-24 | Hourly card transaction count limit exceeded |
-25 | Daily card transaction count limit exceeded |
-26 | Monthly card transaction count limit exceeded |
-27 | Invalid WebFormLanguage |
-28 | Invalid TemplateID |
-29 | Invalid RecurringScheduleID |
-30 | General Moneta error |
-31 | Invalid AgreementID |
-32 | Agreement not confirmed |
-33 | 3DS error - wrong card type |
-34 | 3DS processing error |
-35 | 3DS is not set up for this account |
-36 | 3DS is not allowed for this account |
-37 | 3DS error - parameter ThreeDSecurePaRes or ThreeDSecureReferenceID is required |
-38 | 3DS error - parameter ThreeDSecureData is required |
-39 | 3DS error - ThreeDSecureReferenceID not found or not completed |
-40 | Maestro cards cannot be tokenized. Use /Reserve with card data instead. |
-41 | Merchant requires 3DS, but this card does not support 3DS |
-42 | Maestro cards processing require 3DS enabled account |
-43 | Maestro cards cannot be tokenized. |
-44 | Maestro cards require 3DS. |
-45 | 3DS error - parameter ThreeDSecureReferenceID is required |
-46 | Yearly transaction count limit exceeded |
-47 | Yearly transaction sum limit exceeded |
-48 | Yearly card transaction count limit exceeded |
-49 | Account has been temporarily suspended |
-50 | Card has already been declined by the bank. Unable to process this card for 10 minutes. |
-51 | Recurring payments or installments are not allowed with mandatory 3DS. |
-52 | Down payments, skipping payments or shitfing first payment are not alloweed with mandatory 3DS. |
-53 | Invalid RecurringPlanID |
-54 | Invalid FirstPaymentDate |
-55 | Invalid ExpiryDate |
-56 | PaymentsSkipCount cannot be greater than total number of payments |
-57 | Recurring payments cannot have Amount (use RecurringPayment.PaymentAmount instead) |
-58 | Recurring ExpiryDate must be after FirstPaymentDate |
-59 | Recurring FirstPaymentDate can not be before today |
-60 | Duplicate RecurringReferenceID |
-61 | Recurring payments are now allowed for this account |
-62 | Recurring schedule does not exist |
-63 | Recurring schedule is already terminated |
-64 | Invalid PlanPattern value |
-65 | Invalid RetryPattern value |
-66 | MaxRetryCount must be greater or equal to 0 |
-67 | Either both MaxRetryCount and RetryPattern or none of them must be specified |
-68 | PaymentHour must be between 0 and 23 |
-69 | Card with specified CardToken does not exist |
-70 | Recurring plan can not have InstallmentTotalValue |
-71 | ImmediatePaymentAmount is out of bounds (either 0 or not between min and max) |
-72 | PaymentAmount is out of bounds (either 0 or not between min and max) |
-73 | Card payments are now allowed, specifying AllowCards is not allowed |
-74 | Moneta payments are now allowed, specifying AllowMoneta is not allowed |
-75 | AdjustPlanWithStartDate is not allowed with specified recurring plan pattern |
-76 | RenewYearly is only allowed with installment type (not recurring) and for monthly plans with less than 12 installments only |
-77 | Sepa payments are now allowed for this account |
-78 | Invalid MandateSignatureDate |
-79 | Duplicate MandateID |
-80 | MandateID does not exist |
-81 | MandateID is already revoked |
-82 | Amount is out of bounds (either 0 or not between min and max) |
-83 | Invalid CheckPaymentReferenceID |
-84 | Invalid Sepa Sequence |
-85 | Invalid MandateValidFromDate |
-86 | Sepa collection date can not be before current day |
-87 | Sepa payment date is out of bounds (either to soon or too late) for bank processing, check StartDate |
-88 | Invalid CollectionDate |
-89 | MandateID is allowed only for Sepa payments |
-90 | Sepa mandate is canceled |
-91 | Currency mismatch (different currency than used for Reserve) |
-92 | Invalid Amount (larger than used for Reserve) |
-93 | Sepa mandate has already been used |
-94 | Invalid combination of CardToken, SepaMandateID and MonetaAgreementID - only one can be used |
-95 | Recurring payments require recurring mandate |
-96 | One or more itms in the list has Currency different from the payment Currency |
-97 | Either CardToken, SepaCreditorMandateID or MonetaAgreementID must be specified |
-98 | Sepa first payment date is out of bounds (either to soon or too late) for bank processing |
-99 | Sepa consecutive payment dates are out of bounds (either to soon or too late) for bank processing |
-100 | Sepa consecutive retry dates are out of bounds (either to soon or too late) for bank processing |
-101 | Sepa payments are now allowed, specifying AllowSepa is not allowed |
-102 | MonetaDO settings missing |
-103 | MonetaDO error |
-104 | MonetaDO agreement does not exist |
-105 | MonetaDO agreement is not yet confirmed by the customer |
-106 | MonetaDO agreement is canceled |
-107 | MonetaDO reservation does not exist |
-108 | Only EUR currency is allowed for Moneta payments |
-109 | AgreementID is not allowed for non-recurring payments |
-110 | AgreementID is allowed only for moneta payments |
-111 | MobileNumber does not support Moneta payments |
-113 | General Sepa error |
-114 | Invalid characters |
-115 | Sepa error - access token not available |
-116 | Payouts are not allowed for this account |
-117 | Surcharge+Cashback can not be greater than Amount |
-118 | Invalid Surcharge amount (larger than used for Reserve) |
-119 | Invalid CashBack amount (larger than used for Reserve) |
-120 | Surcharge is allowed only for card payments |
-121 | Surcharge can not be greater than Amount |
0 | Ok |
305 | 3DS is needed |
1000 | Confirmation requested |
1001 | Agreement not active |
20000 | Approved |
40000 | General input error |
40110 | Invalid card number |
40120 | Invalid CSC |
40130 | Invalid expire date |
40135 | Card expired |
40140 | Invalid currency |
40200 | Clearhaus rule violation |
40300 | 3-D Secure problem |
40310 | 3-D Secure authentication failure |
40400 | Backend problem |
40410 | Declined by issuer or card scheme |
40411 | Card restricted |
40412 | Card lost or stolen |
40413 | Insufficient funds |
40414 | Suspected fraud |
40415 | Amount limit exceeded |
50000 | Clearhaus error |
40000 | General input error |
40110 | Invalid card number |
40120 | Invalid CSC |
40130 | Invalid expire date |
40135 | Card expired |
40140 | Invalid currency |
40200 | Clearhaus rule violation |
40300 | 3-D Secure problem |
PhoeniXGate:
Code | Description |
-100 | Transaction NOT Processed; Generic Host Error. |
0 | Approved. |
1 | User Authentication Failed. |
2 | Invalid Transaction. |
3 | Invalid Transaction Type. |
4 | Invalid Amount. |
5 | Invalid Merchant Information. |
7 | Field Format Error. |
8 | Not a Transaction Server. |
9 | Invalid Parameter Stream. |
10 | Too Many Line Items. |
11 | Client Timeout Waiting for Response. |
12 | Decline. |
13 | Referral. |
14 | Transaction Type Not Supported In This Version. |
19 | Original Transaction ID Not Found. |
20 | Customer Reference Number Not Found. |
22 | Invalid ABA Number. |
23 | Invalid Account Number. |
24 | Invalid Expiration Date. |
25 | Transaction Type Not Supported by Host. |
26 | Invalid Reference Number. |
27 | Invalid Receipt Information. |
28 | Invalid Check Holder Name. |
29 | Invalid Check Number. |
30 | Check DL Verification Requires DL State. |
40 | Transaction did not connect (to NCN because SecureNCIS is not running on the web server). |
50 | Insufficient Funds Available. |
99 | General Error. |
100 | Invalid Transaction Returned from Host. |
101 | Timeout Value too Small or Invalid Time Out Value. |
102 | Processor Not Available. |
103 | Error Reading Response from Host. |
104 | Timeout waiting for Processor Response. |
105 | Credit Error. |
106 | Host Not Available. |
107 | Duplicate Suppression Timeout. |
108 | Void Error. |
109 | Timeout Waiting for Host Response. |
110 | Duplicate Transaction. |
111 | Capture Error. |
112 | Failed AVS Check. |
113 | Cannot Exceed Sales Cap. |
1000 | Generic Host Error. |
1001 | Invalid Login. |
1002 | Insufficient Privilege or Invalid Amount. |
1003 | Invalid Login Blocked. |
1004 | Invalid Login Deactivated. |
1005 | Transaction Type Not Allowed. |
1006 | Unsupported Processor. |
1007 | Invalid Request Message. |
1008 | Invalid Version. |
1010 | Payment Type Not Supported. |
1011 | Error Starting Transaction. |
1012 | Error Finishing Transaction. |
1013 | Error Checking Duplicate. |
1014 | No Records To Settle (in the current batch). |
1015 | No Records To Process (in the current batch). |
Planet Payment:
Code | Text | Description |
01 | CALL | See Text for issuer phone number |
02 | CALL | See Text for issuer phone number |
03 | TERM ID ERROR | Invalid merchant ID |
04 | HOLD - CALL | Pick up card |
05* | DECLINE | Do not honor |
06 | ERROR | General error |
07 | PICKUP CARD | Do not honor |
08 | HONOR WITH ID | Honor with customer ID |
10 | PARTIAL APPROVAL | Partial approval for the authorized amount returned |
11 | APPROVAL VIP | approval |
12* | INVALID TRANS | Invalid transaction |
13* | AMOUNT ERROR | Invalid transaction amount |
14* | CARD NO. ERROR | Invalid card number |
15* | NO SUCH ISSUER | No such issuer |
17 | CUST CANCELATION | Customer cancellation |
19* | RE ENTER | Re-enter transaction |
21 | NO ACTION TAKEN | Unable to back out transaction |
25* | NO RECORD FOUND | Unable to locate record in file, or account number is missing from inquiry |
27* | ERROR | Issuer File Update field edit error |
28* | NO REPLY | Temporarily unavailable |
30* | CALL | Format error |
32 | PARTIAL REVERSAL | Partial reversal |
40 | NOT SUPPORTED | Requested function not supported |
41 | HOLD-CALL | Pickup card-lost |
43 | HOLD-CALL | Pickup card-stolen |
51* | DECLINE | Insufficient funds |
52 | NO CHECK ACCOUNT | No checking account |
53 | NO SAVE ACCOUNT | No savings account |
54* | EXPIRED CARD | Expired card |
55 | WRONG PIN | Incorrect PIN |
57 | SERV NOT ALLOWED | Transaction not permitted-card |
58 | SERV NOT ALLOWED | Transaction not permitted-terminal |
59 | DECLINE | Suspected fraud |
61* | DECLINE | Exceeds withdrawal limit |
62 | DECLINE | Invalid service code, restricted |
63 | SEC VIOLATION | Security violation |
65* | DECLINE | Activity limit exceeded |
68 | LATE RESPONSE | Response received late |
75 | PIN EXCEEDED PIN | tries exceeded |
76* | NO ACTION TAKEN | Unable to locate |
77* | NO ACTION TAKEN | Inconsistent data, rev. or repeat |
78* | NO ACCOUNT | No account |
79 | ALREADY REVERSED | Already reversed |
80 | DATE ERROR | Invalid date |
81* | ENCRYPTION ERROR | Cryptographic error |
82 | INCORRECT CVV | CVV data incorrect |
83 | CANT VERIFY PIN | Cannot verify PIN |
84 | BAD LIFE CYCLE | Invalid authorization life cycle |
85 | CARD OK | No reason to decline |
86 | CANT VERIFY PIN | Cannot verify PIN |
87 | DECLINE | Network unavailable |
91* | NO REPLY | Issuer unavailable |
92* | INVALID ROUTING | Destination not found |
93 | DECLINE | Violation, cannot complete |
94* | DECLINE | Duplicate transmission detected |
96* | SYSTEM ERROR | Re-send, system error |
AX | EXCEEDS AMOUNT | Amount exceeds either the minimum or maximum allowed amount |
B1 | SURCHARGE NOT ALLOWED | Surcharge amount not permitted on Visa cards or EBT food stamps |
ER | ERROR | Error-see MRC response |
N0* | FORCE STIP | Force STIP |
N3 | CASHBACK NOT AVAIL | Cash back service not available |
N4* | DECLINE | Exceeds issuer withdrawal limit |
N7 | CVV2 MISMATCH CVV2 | value supplied is invalid |
P2 | INVALID BILL INFO | Invalid biller information |
P5 | PIN CHARGE/UNBLOCK DECLINED | PIN charge/unblock declined |
P6 | UNSAFE PIN | Unsafe PIN |
Q1 | AUTHENTIC FAILED | Card authentication failed |
R0 | STOP RECURRING | Customer requested stop of specific recurring payment. |
R1 | STOP RECURRING | Customer requested stop of all recurring payments from specific merchant. |
R3 | ALL AUTH REVOKED | Revocation of All Authorizations Order SD SOFT DECLINE Transaction is declined by the Gateway based on merchant's settings for ACCOUNT_VALIDATION and CONSUMER_VALIDATION TO (Tee-oh)* TIME OUT Re-submit |
XA* | FORWARD 2 ISSUER | Forward to issuer |
XD* | FORWARD 2 ISSUER | Forward to issuer |
Z3* | UNABLE TO ONLINE | Unable to go online, declined. |
PlugNPay:
Code | Description |
A | Approved. |
C | Call Auth Center. |
D | Declined. |
P | Pick up card. |
X | Expired. |
E | Other Error. |
Code | Description |
Approved, Settled, Voided, AuthOnly, InProgress, and 200-299 | Successes |
400-499 | Client request errors |
500-599 | Server errors |
ProPay XML:
Code | Description |
00 | Success |
20 | Invalid username |
21 | Invalid transType |
23 | Invalid accountType |
24 | Invalid sourceEmail |
25 | Invalid firstName |
26 | Invalid mInitial |
27 | Invalid lastName |
28 | Invalid billAddr |
29 | Invalid aptNum |
30 | Invalid city |
31 | Invalid state |
32 | Invalid billZip |
33 | Invalid mailAddr |
34 | Invalid mailApt |
35 | Invalid mailCity |
36 | Invalid mailState |
37 | Invalid mailZip |
38 | Invalid dayPhone |
39 | Invalid evenPhone |
40 | Invalid ssn |
41 | Invalid dob |
42 | Invalid recEmail |
43 | Invalid knownAccount |
44 | Invalid amount |
45 | Invalid invNum |
46 | Invalid rtNum |
47 | Invalid accntNum |
48 | Invalid ccNum |
49 | Invalid expDate |
50 | Invalid cvv2 |
51 | Invalid transNum or unavailable to act on transNum due to funding |
52 | Invalid splitNum |
53 | A ProPay account with this e-mail address already exists or User has no AccountNumber |
54 | A ProPay account with this social security number already exists |
55 | The email address provided does not correspond to a ProPay account. |
56 | Recipient's e-mail address shouldn't have a ProPay account and does |
57 | Cannot settle transaction because it already expired |
58 | Credit card declined |
59 | User not authenticated |
60 | Credit card authorization timed out; retry at a later time |
61 | Amount exceeds single transaction limit |
62 | Amount exceeds monthly volume limit |
63 | Insufficient funds in account |
64 | Over credit card use limit |
65 | Miscellaneous error |
66 | Denied a ProPay account (Developer should display a descriptive message that guides a new user to fill out ProPay exceptions form and submit it.) |
67 | Unauthorized service requested |
68 | Account not affiliated |
69 | Duplicate invoice number (Transaction succeeded in a prior attempt within the previous 24 hours. This return code should be handled as a success. Details about the original transaction are included whenever a 69 response is returned. These details include a repeat of the authcode, the original AVS response, and the original CVV response.) |
70 | Duplicate external ID |
71 | Account previously set up, but problem affiliating it with partner |
72 | The ProPay Account has already been upgraded to a Premium Account |
73 | Invalid Destination Account |
74 | Account or Trans Error |
75 | Money already pulled |
76 | Not Premium (used only for push/pull transactions) |
77 | Empty results |
78 | Invalid Authentication |
79 | Generic account status error |
80 | Invalid Password |
81 | AccountExpired |
82 | InvalidUserID |
83 | BatchTransCountError |
84 | InvalidBeginDate |
85 | InvalidEndDate |
86 | InvalidExternalID |
87 | DuplicateUserID |
88 | Invalid track 1 |
89 | Invalid track 2 |
90 | Transaction already refunded |
91 | Duplicate Batch ID |
92 | Duplicate Batch Transaction |
93 | Batch Transaction amount error |
94 | Unavailable Tier |
95 | Invalid Country Code |
97 | Account created in documentary status, but still must be validated. |
98 | Account created in documentary status, but still must be validated and paid for. |
99 | Account created successfully, but still must be paid for. |
100 | Transaction Already Refunded |
101 | Refund Exceeds Original Transaction |
102 | Invalid Payer Name |
103 | Transaction does not meet date criteria |
104 | Transaction could not be refunded due to current transaction state. |
Code | Description |
APPROVED | The card issuing bank approved the transaction request. |
DECLINED | The transaction request was accepted as a valid request and was declined by the card issuing bank. |
ERROR | The transaction request encountered an error. |
Code | Description |
0 | Status Ok - Request succeeded. |
10100 | The transaction had a validation error, but could not be voided automatically. If you want to void or cancel it, you must do so manually. This is a warning and can happen if there is an incorrect street address and/or zip code. Depending on the merchant's fraud settings, QBMS may try to automatically void the transaction. If that fails, as is the case with this status code, you must void or cancel the transaction manually. |
10101 | This is a validation error warning and can be returned if the merchant's fraud settings cause some auth transactions to be rejected. In this case, even though the auth is rejected, the auth is kept on file against the customer card up to 15-30 days after the rejection. |
10200 | An error occurred while communicating with the processing gateway. Indicates a communication problem, rather than an error resulting from transaction content. |
10201 | An error occurred during login to the processing gateway. Could not log in to the QBMS processing gateway. |
10202 | An error occurred during account validation. Could not validate the QBMS account. |
10300 | A numeric value was of the wrong type. For example, some values require integers only, while others require decimals. |
10301 | This credit card number is invalid. |
10302 | An error occurred while validating a date field. Format is invalid. |
10303 | A mandatory element is missing from the request. |
10304 | A field in the request is too long. The maximum length has been exceeded. |
10305 | An error occurred during data validation. Unexpected data was found during the validation. |
10306 | You may only supply the Boolean values true or false in the indicated field. |
10307 | A field in the request is too short - The expected minimum data is not present. |
10309 | A field is not formatted correctly. |
10312 | Invalid data contained in a field. This error can occur for various reasons, for example if the value supplied in the TransactionAmount property is not formatted correctly (dollars, period, cents to two decimal places), you'll get this error. |
10314 | You can not reuse a TransactionId for a different type of transaction within a 5 minute period. The TransactionId should be unique within this time window. |
10400 | This account does not have sufficient funds to process this transaction. The attempted transaction exceeded the customer's credit limit on the credit card. The transaction failed. |
10401 | Declined: The card issuer/processor refused to authorize the transaction. For example, the account may have been closed, or activities may have been temporarily stopped for that card due to security reasons. |
10402 | The merchant bank account does not support this type of credit card. |
10403 | The QBMS account contained in the request is not valid. |
10404 | This transaction has been declined, but can be approved by obtaining a Voice Authorization code from the card issuer and then calling the Force method. |
10405 | An error occurred while attempting to void this transaction. The transaction may have already been settled. |
10406 | This capture transaction could not be processed for one of the following reasons. The transaction has been captured already, has been voided, has expired, or the capture request has used the incorrect authorization transaction ID. |
10407 | The transaction amount exceeded the per transaction limit imposed by the card issuer. |
10408 | An error occurred due to invalid data format. An incorrect format was used for a field value, such as the transaction ID. |
10409 | A validation error occurred while processing this transaction: |
10415 | This transaction has been declined because the credit card used for the original transaction has expired. For example, this error could occur if the card in question has expired between the time of authorization and the time of an attempted capture. |
10416 | This transaction was already submitted and processed. A check transaction is being duplicated. |
10417 | A particular type of check is not supported for an attempted check transaction (i.e. a Payroll Check). |
10418 | Total amount of checks submitted exceeds allowed daily maximum. |
10419 | Number of transactions exceeds allowed daily maximum. |
10420 | The check transaction was declined due to suspected fraud. |
10500 | An unknown server error occurred that prevents processing of the request. |
10501 | An unknown server error occurred that prevents processing of the request. |
ErrorCode | Description |
PMT-1000 | Incorrect CVC (fraud_warning) |
PMT-1001 | CVC check could not be validated (fraud_warning) |
PMT-1002 | Incorrect address information (fraud_warning) |
PMT-1003 | Address information could not be validated (fraud_warning) |
PMT-2000 | Incorrect CVC (fraud_error) |
PMT-2001 | CVC check unavailable (fraud_error) |
PMT-2002 | Incorrect address information (fraud_error) |
PMT-2003 | Address information unavailable (fraud_error) |
PMT-3000 | The merchant account could not be validated (account_error) |
PMT-4000 | {0} is invalid (invalid_request) |
PMT-4001 | No {0} found (invalid_request) |
PMT-4002 | {0} is required (invalid_request) |
PMT-5000 | Transaction declined (transaction_declined) |
PMT-5001 | Unsupported payment method (transaction_declined) |
PMT-5002 | Transaction declined due to risk (transaction_declined) |
PMT-6000 | Temporary system error (system_error) |
Repay Gateway:
Code | Description |
-100 | Transaction NOT Processed; Generic Host Error. |
0 | Approved. |
1 | User Authentication Failed. |
2 | Invalid Transaction. |
3 | Invalid Transaction Type. |
4 | Invalid Amount. |
5 | Invalid Merchant Information. |
7 | Field Format Error. |
8 | Not a Transaction Server. |
9 | Invalid Parameter Stream. |
10 | Too Many Line Items. |
11 | Client Timeout Waiting for Response. |
12 | Decline. |
13 | Referral. |
14 | Transaction Type Not Supported In This Version. |
19 | Original Transaction ID Not Found. |
20 | Customer Reference Number Not Found. |
22 | Invalid ABA Number. |
23 | Invalid Account Number. |
24 | Invalid Expiration Date. |
25 | Transaction Type Not Supported by Host. |
26 | Invalid Reference Number. |
27 | Invalid Receipt Information. |
28 | Invalid Check Holder Name. |
29 | Invalid Check Number. |
30 | Check DL Verification Requires DL State. |
40 | Transaction did not connect (to NCN because SecureNCIS is not running on the web server). |
50 | Insufficient Funds Available. |
99 | General Error. |
100 | Invalid Transaction Returned from Host. |
101 | Timeout Value too Small or Invalid Time Out Value. |
102 | Processor Not Available. |
103 | Error Reading Response from Host. |
104 | Timeout waiting for Processor Response. |
105 | Credit Error. |
106 | Host Not Available. |
107 | Duplicate Suppression Timeout. |
108 | Void Error. |
109 | Timeout Waiting for Host Response. |
110 | Duplicate Transaction. |
111 | Capture Error. |
112 | Failed AVS Check. |
113 | Cannot Exceed Sales Cap. |
1000 | Generic Host Error. |
1001 | Invalid Login. |
1002 | Insufficient Privilege or Invalid Amount. |
1003 | Invalid Login Blocked. |
1004 | Invalid Login Deactivated. |
1005 | Transaction Type Not Allowed. |
1006 | Unsupported Processor. |
1007 | Invalid Request Message. |
1008 | Invalid Version. |
1010 | Payment Type Not Supported. |
1011 | Error Starting Transaction. |
1012 | Error Finishing Transaction. |
1013 | Error Checking Duplicate. |
1014 | No Records To Settle (in the current batch). |
1015 | No Records To Process (in the current batch). |
Code | Description |
A | Transaction approved. |
E | Front-End Error (Not approved) |
X | Gateway Error (Not approved) |
Code | Description |
OK | Process executed without error. The DEFERRED payment was released. |
MALFORMED | Input message was malformed - normally will only occur during development. |
INVALID | Unable to authenticate you or find the transaction, or the data provided is invalid. If the Deferred payment was already released, an INVALID response is returned. |
ERROR | Only returned if there is a problem at Protx. |
Code | Description |
A | Transaction authorized by bank. Approval Code available as bank reference |
N | Transaction not authorized. Failure message text available to merchant |
C | Communication problem. Trying again later may well work |
P:A | Pre-bank checks. Amount not supplied or invalid |
P:X | Pre-bank checks. Not all mandatory parameters supplied |
P:P | Pre-bank checks. Same payment presented twice |
P:S | Pre-bank checks. Start date invalid |
P:E | Pre-bank checks. Expiry date invalid |
P:I | Pre-bank checks. Issue number invalid |
P:C | Pre-bank checks. Card number fails LUHN check |
P:T | Pre-bank checks. Card type invalid - i.e. does not match card number prefix |
P:N | Pre-bank checks. Customer name not supplied |
P:M | Pre-bank checks. Merchant does not exist or not registered yet |
P:B | Pre-bank checks. Merchant account for card type does not exist |
P:D | Pre-bank checks. Merchant account for this currency does not exist |
P:V | Pre-bank checks. CV2 security code mandatory and not supplied / invalid |
P:R | Pre-bank checks. Transaction timed out awaiting a virtual circuit. Merchant may not have enough virtual circuits for the volume of business. |
P:# | Pre-bank checks. No MD5 hash / token key set up against account |
Code | Description |
Y | Transaction approved. |
N | Host decline. |
Code | Description |
0 | Transaction is not approved. |
1 | Transaction is approved. |
-1 | Error in transaction. |
Code | Description |
200 | Success |
Anything else | Failure |
Code | Description |
200 | Success |
Anything else | Failure |
Code | Description |
1 | Approved |
2 | Declined |
3 | Error / Invalid Data |
Code | Description |
Settled | The transaction has been processed AND sent to bank for settlement. |
Authorized | The Transaction was processed. |
Declined | The bank declined the transaction. |
Voided | Canceled by user. |
Canceled | Canceled by PRIGate. Usually because provided data is insufficient. |
Qued | Placed in que for later processing. Credit cards usually take 2 hours. ACH 11am next day. |
UnKnown | Unknown transaction status. |
Code | Text | Description |
00 | APPROVAL | Approved and completed. |
01 | CALL | Refer to issuer. |
02 | CALL | Refer to issuer - Special condition. |
03 | TERM ID ERROR | Invalid merchant ID. |
04 | HOLD-CALL | Pick up card. |
05 | DECLINE | Do not honor. |
06 | ERROR xx | General error. |
06 | ERROR xxxx | General error. |
07 | HOLD-CALL | Pick up card - Special condition. |
13 | AMOUNT ERROR | Invalid amount. |
14 | CARD NO. ERROR | Invalid card number. |
15 | NO SUCH ISSUER | No such issuer. |
19 | RE ENTER | Re-enter transaction. |
21 | NO ACTION TAKEN | Unable to back out transaction. |
28 | NO REPLY | File is temporarily unavailable. |
39 | NO CREDIT ACCOUNT | No credit account. |
41 | HOLD-CALL | Pickup card - Lost. |
43 | HOLD-CALL | Pickup card - Stolen. |
51 | DECLINE | Insufficient funds. |
54 | EXPIRED CARD | Expired card. |
57 | SERV NOT ALLOWED | Transaction not permitted - Card. |
61 | DECLINE | Exceeds withdrawal limit. |
62 | DECLINE | Invalid service code, restricted. |
65 | DECLINE | Activity limit exceeded. |
76 | NO ACTION TAKEN | Unable to locate, no match. |
77 | NO ACTION TAKEN | Inconsistent data, rev. or repeat. |
78 | NO ACCOUNT | No account. |
80 | DATE ERROR | Invalid date. |
85 | CARD OK | No reason to decline. |
91 | NO REPLY | Issuer or switch is unavailable. |
93 | DECLINE | Violation, cannot complete. |
96 | SYSTEM ERROR | System malfunction. |
98 | VOID ERROR | No matching transaction to void. |
L2 | PASSWORD INVALID | Password is missing or invalid. |
L3 | EXPIRATION DATE INVALID | Expiration Date is not formatted correctly. |
L6 | ORDER NUMBER MISSING | The Order Number is required but missing. |
L7 | WRONG TRANSACTION CODE | Transaction Code must be either a 30 for Authorize Only, 32 for Authorize and Settle. |
L8 | NETWORK | The Network Connection timed out due to a communications error. |
Code | Description |
1 | Transaction approved. |
2 | Transaction declined. |
3 | Error in transaction data. |
Code | Description |
approved | Transaction received on-line approval (sales, auth-onlys) |
accepted | Transaction accepted for later processing (credits, captures, etc) |
error | Gateway system error |
baddata | Invalid fields sent to gateway. |
Code | Description |
Approved | Transaction approved. |
Declined | Transaction declined. |
Error | There is an error in the data received. |
This gateway is no longer in service.
Verifi:
Code | Description |
1 | Transaction approved. |
2 | Transaction declined. |
3 | Error in transaction data. |
Code | Description |
0 | Transaction Successful. |
1000.1 | Missing Input. |
1001.2 | Unknown error, please contact support. Ref: |
2001.8 | Mid not found. |
2101.5 | Mid is Inactive. |
2101.6 | Switch is Inactive. |
2900.1 | Credit transactions are currently disabled on this device. |
2900.5 | Invalid card type. |
2900.2 | Mid not found. |
2900.3 | Mid is Inactive. |
2900.4 | Switch is Inactive. |
2900.6 | Invalid currency.. |
2900.7 | Invalid Switch. |
2900.8 | Invalid System Mode. |
2900.9 | Unknown error, please contact support. Reference Number. |
2100.2 | Invalid transaction number. |
2100.3 | Merchant Mismatch. |
2100.4 | Transaction not found. |
2100.5 | No previous completed sale transaction found. |
2100.6 | Transaction already void. |
2100.7 | Transaction exceeded total amount of transaction. |
2100.8 | Transaction exceeded total amount of transaction. |
2100.9 | Transaction exceeded total amount of transaction. |
2100.10 | Unable to decrypt card details. |
2101.11 | Unknown error, please contact support. Reference Number: |
2111.1 | This transaction require customer to enter their billing address. |
2111.2 | Transaction failed. Please contact Support. |
2111.4 | Transaction failed. Switch not yet supported. Please contact Support. |
Code | Description |
A | Transaction authorized. |
Anything else | Transaction declined. |
Code (HTTP Response Code) | Description |
200 | Success |
400 | Something was wrong with the request, e.g. invalid JSON or token |
401 | Something was wrong with authentication, e.g. invalid key |
404 | The requested item was not found, e.g. invalid token |
405 | The endpoint does not support the requested method |
415 | Unsupported media type defined in the HTTP header |
500 | Something went wrong on Worldpay's end |
Code | Description |
Declined | Transaction declined. |
Approved | Transaction accepted. |
Code | Description |
AUTHORISED | Transaction authorized. (AuthOnly/Sale) |
ok | Transaction accepted (Void, Capture, Credit, and Force) |
Anything else | Transaction declined. |
Code | Description |
1 | OK. |
2 | NG. |
ICharge Gateway Setup and Required Properties
This page contains the available methods, properties, and additional setup information for each gateway.
3DSI EC-Linx (gw3DSI)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
MerchantLogin corresponds to the 3DSI field "MerchId" and MerchantPassword corresponds to "Pwd". You will need to add the "UserId" field with the value supplied from 3DSI using AddSpecialField. The TransactionId property is required for all transactions. Captures of previous auth-only transactions must have the same TransactionId as the original authorization. The Credit method is used for both credits and voids, and the TransactionId must be different than the original authorization. (The TransactionId from the original authorization should be passed in the Credit's TransactionId parameter).
5th Dimension Logistics (gw5thDimension)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The MerchantLogin property corresponds to the 5th Dimension field "mkey".
ACH Federal (gwACHFederal)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
ACH Payments (gwACHPayments)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Adyen (gwAdyen)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The MerchantLogin property maps to the Webservice User, and the password is the password given to that user. These values are accessible from the Adyen's online management console (located at https://ca-live.adyen.com/ or https://ca-test.adyen.com/). You must also set the "TerminalId" configuration setting with the name of your merchant account. Note that this gateway does not make a distinction between Sales and Authorization-Only transactions in the API. Instead, the management console has global settings that control when captures are made. (In other words; you can make only sale transactions, or only auth-only transactions. You cannot send both). You may need to set the "CurrencyCode" config depending on your locale.
American Payment Solutions (gwAmericanPaymentSolutions)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, a value of "1.00".
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The APSRequestType configuration setting can be used to allow the component to send requests to add, update, or delete customer vault records. After adding a customer vault record, the Id field will contain the customer vault Id. This same Id can be used when making transaction requests, or to update or delete that customer vault record.
Note that, prior to updating an existing customer vault record, you should query it to pre-populate the component with the information currently stored in the customer vault record. If you fail to do this, and send an update request without all of the existing values, then the gateway may clear any fields you did not resubmit in your update request.
The following table shows how various American Payment Solutions gateway request fields are represented in the component. Any fields not listed here from the gateway documentation can be added before making the request using the AddSpecialField method.
APS Field Names | ICharge Equivalent |
username | MerchantLogin property. |
password | MerchantPassword property. |
ccexp, ccnumber, and cvv | Card property. |
address1, address2, city, country, customer_vault_id, email,fax, firstname, lastname, phone, state, and zip | Customer property. |
shipping_address1, shipping_address2, shipping_city, shipping_country,shipping_email, shipping_firstname, shipping_lastname, shipping_phone,shipping_state, and shipping_zip | ShippingInfo property. |
amount | TransactionAmount property. |
currency | CurrencyCode configuration setting. |
orderdescription | TransactionDesc property. |
orderid | InvoiceNumber property. |
authorization_code | AuthCode property. |
transactionid (when sending) | The transactionId parameter of the Capture,
Refund, and VoidTransaction methods. |
duty_amount, ponumber, ship_from_postal, shipping_postal, shipping, and tax | The Level2 component. |
item_commodity_code, item_description, item_discount_amount, item_discount_rate,item_product_code, item_quantity,item_tax_amount, item_tax_rate, item_tax_type,item_total_amount, item_unit_cost, and item_unit_of_measure | The Level3 component. |
type and customer_vault | Set automatically. |
Authorize.NET AIM (gwAuthorizeNet)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
This gateway has a unique security feature. To use it, you must add the secret hash value provided by the Authorize.Net merchant web interface to the "HashSecret" configuration setting (via the Config method). Both of these values are provided by the Authorize.Net merchant web interface, which is used to set up your account. For example; Config("HashSecret=myhashvalue"). If no hash secret is supplied in the config method, the hash value returned by the server will NOT be checked.
Authorize.NET XML (gwAuthorizeNetXML)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Authorize.NET has a large number of level 2 and 3 fields that are supported through the AddSpecialField method of the Level2 component. Note that some of the fields have the same name. Those fields are listed in the table below, which shows the appropriate name to pass to the AddSpecialField method:
Authorize.NET XML Field | Special field name |
name(tax) | taxName |
description(tax) | taxDescription |
name(duty) | dutyName |
description(duty) | dutyDescription |
name(shipping) | shippingName |
description(shipping) | shippingDescription |
shipFrom fields | shipFrom[*] (e.g. "shipFromFirstName") |
Additionally, any extra field that applies to a specific line item can be added through the AddSpecialField method of the Level3 component. In that case the field name should be in the format "i:fieldname", where i is the index of the line item the field should be added to.
This gateways implements the Authorize.NET's Advanced Integration Method (AIM) XML API.
Authorize.NET CIM (gwAuthorizeNetCIM)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway performs transactions using customer profiles stored via Authorize.NET's Customer Information Manager (CIM). Therefore ID's will be used instead of payment, billing, and shipping information. The ID's are specified via the following configs: "AuthNetCIMProfileId", "AuthNetCIMPaymentProfileId", and "AuthNetCIMShippingProfileId".
Note: Customer profiles can be managed via the RecurringBilling component.
Bank Of America (gwBankOfAmerica)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The "HashSecret" configuration setting is required by this gateway as an Hmac calculation must be computed and sent in the Authorization header of the request. "HashSecret" must be set to the Hmac Key generated for you by the gateway. Note the component handles the computation of the Hmac.
The FullName is also required to be specified and an exception will be thrown if not set.
AuthCode is used to perform tagged transactions (transactions that do not require the Card data to be specified). The value to specify within AuthCode is the value contained within ApprovalCode after a successful authorization. This transactions are only applicable for Capture, VoidTransaction, and Refund transactions.
Barclay (gwBarclay)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The "UserId" configuration setting is required to be set.
BASYS Gateway (gwBASYS)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not available for this gateway.
TestMode is supported and when set to "True", test transactions can be sent using a live account that will not be captured and settled.
Other fields can also be set by calling AddSpecialField.
This Gateway does not have a test URL. Transactions will be processed using the production server.
This gateway performs transactions using customer profiles. Therefore Id's will be used instead of credit card information. To process transactions using customer profiles, "BASYSProcessRecurringCredit" configuration setting must be set to True. Also "BASYSCardInfoKey" must be set to the Credit Card Info Key obtained from RecurringBilling component at the time the payment record was created, and "MerchantCode" configuration setting must be set to the Merchant ID which is also known as Merchant Number or RPNum.
Our implementation supports BASYS Tokenization implementation via the "BASYSTokenMode" and "BASYSToken" configuration settings (it is not required that you use tokenization). To process a transaction using a token, set "BASYSProcessTokenCredit" configuration setting to True. Tokenization can not be used to Capture or Refund a transaction.
Note: A token can be obtained from RecurringBilling component
Bambora (gwBambora)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
You must set a "username" and "password" in the merchant interface, and add them to the component via the AddSpecialField method if you wish to use any transaction other than Sale.
Bluefin (gwBluefin)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
BluePay (gwBluePay)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
BlueSnap (gwBlueSnap)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is supported and when set to "True" test transactions can be sent using a sandbox account that will not be captured and settled.
When using the Sale or AuthOnly method, there are a number of combinations of request fields that BlueSnap will accept. Please refer to BlueSnap's Payment API JSON documentation for more information about which fields to use for your use-case. You can then use the following table to determine how you should specify each BlueSnap field supported by the ICharge component:
The BlueSnapRetrieveTransaction configuration setting can be used to make the component retrieve a previously created transaction. After retrieving the transaction, the component will automatically populate its properties, special fields, and configuration settings based on the retrieved transaction's data.
BlueSnap Field Name | ICharge Equivalent |
amount | TransactionAmount property. |
cardHolderInfo object fields | Customer property, and special field personalIdentificationNumber. |
cardTransactionType (after retrieving) | ProcessorCode property. |
creditCard object fields | Card property, or special field cardLastFourDigits and set Card.CardType. (If you wish to send encrypted card number and security code data, set the ValidateCardNumber configuration setting to False first.) |
currency | CurrencyCode configuration setting. |
merchantTransactionId | InvoiceNumber property. |
pfToken | Special field pfToken. |
softDescriptor | TransactionDesc property. |
transactionFraudInfo object fields | Special fields fraudSessionId, company, and enterpriseSiteId, and the PayerIP configuration setting. |
transactionFraudInfo.enterpriseUdfs content | BlueSnapEnterpriseUdfs configuration setting. |
transactionFraudInfo.shippingContactInfo object fields | ShippingInfo property. |
transactionMetaData content | BlueSnapTransactionMetaData configuration setting. |
vaultedShopperId | Special field vaultedShopperId. |
vendorInfo object fields | Special fields vendorId, commissionPercent, and commissionAmount. |
wallet.applePay.encodedPaymentToken | ApplePayData configuration setting. |
walletId | Special field walletId. |
Note: The RecurringBilling component can be used to create and update vaulted shopper profiles.
When using the Capture or VoidTransaction method, only the transactionId parameter is relevant. (BlueSnap does not support capturing a different amount than was originally authorized.)
When using the Refund method, both the transactionId and the refundAmount parameters are relevant (though the latter is optional, and can be left empty to refund the whole amount captured). You may also specify a refund reason or a vendor amount by adding special fields with the names reason and vendoramount, respectively.
BrainTree (gwBrainTree)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
CardPointe (gwCardPointe)
Supported Methods:
MerchantLogin and MerchantPassword are required properties. The MerchantCode configuration setting is also used to specify the Merchant Id.
The TransactionAmount can be represented with a decimal ("10.00" = $10) or as cents without a decimal ("1000" = $10).
The CurrencyCode configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
CardPointe Field Name | ICharge Equivalent |
merchid | MerchantCode configuration setting. |
amount | TransactionAmount property. |
account | Card.Number field. |
expiry | Card.ExpMonth and Card.ExpYear fields. |
cvv2 | Card.CVVData field. |
currency | CurrencyCode configuration setting. |
name | Customer.FullName field. |
address, city, postal, region, country, phone, and email | Customer fields. |
orderid/invoiceid | InvoiceNumber property. |
authcode | AuthCode property. |
taxexempt, taxamount, ponumber, frtamnt, dutyamnt, shiptozip, and shipfromzip | Level2 properties. |
orderdate and shiptocountry | Level2.SpecialFields property. |
items properties | Level3.LineItems property. |
userfields | SpecialFields property. |
When using the Refund method, both the transactionId and the refundAmount parameters are relevant (though the latter is optional, and can be left empty to refund the whole amount captured).
Customer profiles can be used with the CustomerProfileId configuration setting. To create a profile for a customer, set CustomerProfileId to "Y" when making a transaction. Afterward, the CustomerProfileId configuration setting will contain the profile Id and account Id, separated by a '/'. To send a profile Id during a transaction, set CustomerProfileId to the value you want to send (including the '/' and account Id).
When storing card information or using stored card information, the MITFlag and RecurringIndicator configuration settings should be used. MITFlag should be set to False for a customer-initiated transaction and True for a merchant-initiated transaction. RecurringIndicator should be set to N for an unscheduled transaction, or Y for a scheduled recurring transaction. COFPermission can be set to True to indicate that the customer gave permission to use stored card data for the transaction. MITFlag and COFPermission will only be sent when RecurringIndicator has been set.
Chase (gwChase)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Your MerchantLogin will be the "Store Number" provided by Linkpoint. This gateway requires a client certificate, which can be set using the SSL Certificate fields. Void transactions with this gateway require a transaction timestamp. This timestamp can be retrieved from the original AuthOnly response through the GetResponseVar; method. Example:
icharge.AuthOnly();
String tdate = icharge.GetResponseVar("/root/r_tdate");
This value can be set for the VoidTransaction with the AddSpecialField method. Example:
icharge.AddSpecialField("tdate","YourDate");
icharge.VoidTransaction("TransactionId");
Converge (gwConverge)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
The "ssl_merchant_id" provided by Elavon is your MerchantLogin, and "ssl_merchant_pin" is your MerchantPassword. If provided with an "ssl_user_id", set the "MyVirtualMerchantUserId" configuration setting via the Config method.
Cyber Cash (gwCyberCash)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
CyberSource (gwCyberSource)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
For the possible values for the MITType configuration setting, see the subsequentAuthReason field in CyberSource's documentation.
Data Cash (gwDataCash)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
InvoiceNumber is required for all transactions and must be between 6 and 30 digits in length.
DataCash provides two methods of voiding transactions. The default method for voiding a transaction is by calling VoidTransaction using the TransactionId. DataCash also allows you to void transactions based on the InvoiceNumber (note that your account must be set up to use reference based cancellations).
ECX (gwECX)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
This gateway requires the same setup as the Authorize.Net (1) gateway.
eProcessing (gwEprocessing)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Accounts with this gateway may be configured to require an additional shared secret for stronger authentication.
This is called the "RestrictKey". If this is configured for your account you may add this value using the AddSpecialField
method like so:
retail.AddSpecialField("RestrictKey", "yFqqXJh9Pqnugfr");
Eway (gwEway)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is not applicable.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Your MerchantLogin will be the eWay Customer Id, and the MerchantPassword is only required for performing refunds.
ExPay (gwExPay)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Your MerchantLogin will be the Payee ID Key.
The "HashSecret" configuration setting is required by this gateway as an Hmac calculation must be computed and sent in the request. "HashSecret" must be set to the Payee Secret Key provided by the gateway. Note the component handles the computation of the Hmac.
The "ExPayGetMethods" and "ExPayGetStatus" configuration settings are available to perform additional requests not directly available via the component methods.
In addition to the GetResponseVar; method, the "X***" configuration settings are available to help
navigate the JSON response. Below is an example of parsing a "GetMethods" response.
ICharge1.Config("XPath=/json/response/methods");
String count = ICharge1.Config("XChildrenCount"); // Returns the number of methods, i.e. 3
ICharge1.Config("XPath=/json/response/methods/[1]"); // XPath Indexes are 1-based
String name = ICharge1.Config("XChildrenName[0]"); // Array indexes are 0-based. i.e. name = "id"
String value = ICharge1.Config("XChildrenXText[0]"); // Array indexes are 0-based. i.e. value = "77"
Fast Transact (gwFastTransact)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
First Atlantic Commerce (gwFirstAtlantic)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "840".
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway requires the use of a unique InvoiceNumber. AuthOnly and Sale transactions must have a new unique value. All subsequent transactions (Capture, Refund, or VoidTransaction) must use the same InvoiceNumber used in the initial authorization.
Note: VoidTransaction is used to perform a reversal for this gateway and TransactionAmount is used to specify the reversal amount.
First Data (gwFirstData)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Your MerchantLogin will be the "Store Number" provided by Linkpoint. This gateway requires a client certificate, which can be set using the SSL Certificate fields. Void transactions with this gateway require a transaction timestamp. This timestamp can be retrieved from the original AuthOnly response through the GetResponseVar; method. Example:
icharge.AuthOnly();
String tdate = icharge.GetResponseVar("/root/r_tdate");
This value can be set for the VoidTransaction with the AddSpecialField method. Example:
icharge.AddSpecialField("tdate","YourDate");
icharge.VoidTransaction("TransactionId");
First Data E4 (gwFirstDataE4)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The "HashSecret" configuration setting is required by this gateway as an Hmac calculation must be computed and sent in the Authorization header of the request. "HashSecret" must be set to the Hmac Key generated for you by the gateway. Note the component handles the computation of the Hmac.
The "FDMSKeyId" configuration setting is also required by this gateway. This configuration setting is used to specify the Key Id, obtained from FDMS, that corresponds to the HMAC Key (specified via HashSecret) and is sent within the Authorization header of the request.
The FullName is also required to be specified and an exception will be thrown if not set.
AuthCode is used to perform tagged transactions (transactions that do not require the Card data to be specified). The value to specify within AuthCode is the value contained within ApprovalCode after a successful authorization. This transactions are only applicable for Capture, VoidTransaction, and Refund transactions.
First Data PayPoint (gwFirstDataPayPoint)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Global Iris (gwGlobalIris)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The Global Iris gateway does not use a password, but rather requires a SHA-1 hash using a secret key. The secret key assigned to you will be specified via MerchantPassword and the component will compute the SHA-1 hash. Global Iris Refund transactions require a refund password in addition to MerchantPassword. This password can be specified using GlobalIrisRefundPassword.
InvoiceNumber is required for all transactions and must be between 1 and 40 digits in length.
Global Iris only supports the following credit card types: Visa, MasterCard, American Express, and Maestro. Any other card type will be rejected by the server (Setting the card number to a card outside of these ranges will cause an error).
Nuvei / GlobalOnePay (gwNuvei)
Supported Methods:
Authentication with Nuvei is performed by providing the TerminalId and HashSecret. MerchantLogin and MerchantPassword are not used.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
For initial transactions (Sale, AuthOnly, and Credit) an InvoiceNumber must be specified. Follow-up transactions (Capture and Refund) must specify the TransactionId that Nuvei returned in the response to the initial transaction. A transaction can only be voided by refunding the full amount of the transaction.
The "CurrencyCode" configuration setting is available for this gateway, but the value must match the currency of the terminal. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
A card token can be used in place of credit card details using the CardToken configuration setting. Tokens can be managed with the RecurringBilling component.
Nuvei allows for adding custom fields to a request, which will be stored with the transaction as additional information. Custom fields can be added to an AuthOnly or Sale request using the AddSpecialField method. A custom field must first be configured in the terminal's settings before it will be accepted in a request.
Note: When Nuvei is chosen as the gateway it defaults to the testing URL. The live URL is provided by Nuvei after testing is complete.
Global Payroll (gwGlobalPayroll)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
A ClientId must also be set for this gateway via the AddSpecialField method.
ICharge1.AddSpecialField("ClientID", "1009");
Our implementation supports Global Payroll Tokenization via the "GlobalPayrollToken" configuration setting (it is not required that you use tokenization). To process a transaction using a token, set "GlobalPayrollToken" configuration setting to the token obtained by calling the "GlobalPayrollCreateToken" action config. Tokenization can not be used to Capture or Refund a transaction.
GoEMerchant (gwGoEMerchant)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
OmniFund / GoToBilling (gwOmniFund)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is not applicable.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Id is a required field.
Heartland (gwHeartland)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway requires you set the following configuration settings with the values supplied by Heartland: "HeartlandLicenseId", "HeartlandSiteId", and "HeartlandDeviceId". In addition, you may optionally set the "HeartlandSiteTrace", "HeartlandDeveloperId", and "HeartlandVersionNumber" configuration settings for this gateway.
Our implementation supports Heartland's Tokenization implementation via the "HeartlandTokenMapping" and "HeartlandTokenValue" configuration settings (it is not required that you use tokenization). Note: Heartland's Tokenization implementation requires that your merchant account is properly configured to support tokenization. In addition to the account configurations, there are special pricing considerations for merchants in the production environment. Therefore merchants who wish to use tokenization should contact their Relationship Manager for more details and to configure their account appropriately.
Heartland Portico (gwHeartlandPortico)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
This gateway requires you set the following configuration settings with the values supplied by Heartland: "HeartlandLicenseId", "HeartlandSiteId", and "HeartlandDeviceId". In addition, you may optionally set the "HeartlandSiteTrace", "HeartlandDeveloperId", and "HeartlandVersionNumber" configuration settings for this gateway.
Alternatively, if Heartland has provided you with a secret API key you can specify only the "HeartlandSecretAPIKey" configuration setting.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Our implementation supports Heartland's Tokenization implementation via the "HeartlandTokenMapping" and "HeartlandTokenValue" configuration settings (it is not required that you use tokenization). Note: Heartland's Tokenization implementation requires that your merchant account is properly configured to support tokenization. In addition to the account configurations, there are special pricing considerations for merchants in the production environment. Therefore merchants who wish to use tokenization should contact their Relationship Manager for more details and to configure their account appropriately.
HSBC (gwHSBC)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "840".
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
The user's "Name" maps to MerchantLogin, and "password" maps to MerchantPassword.
Note: The TestMode property can be overridden by using the
AddSpecialField method to add the "Mode" field.
ICharge1.AddSpecialField("Mode", "Y");
Innovative (gwInnovative)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Intellipay (gwIntellipay)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
ITransact (gwITransact)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
JetPay XML (gwJetPay)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
MerchantLogin must be set to the "TerminalId" JetPay field.
TransactionId is required for Sale, AuthOnly, Credit and Force transactions.
AuthCode is required when performing VoidTransaction transactions.
KartePay (gwKartePay)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The TransactionId property and the BankName and PayerIP configuration settings are all required for Sale transactions.
LinkPoint (gwLinkPoint)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Your MerchantLogin will be the "Store Number" provided by Linkpoint. This gateway requires a client certificate, which can be set using the SSL Certificate fields. Void transactions with this gateway require a transaction timestamp. This timestamp can be retrieved from the original AuthOnly response through the GetResponseVar; method. Example:
icharge.AuthOnly();
String tdate = icharge.GetResponseVar("/root/r_tdate");
This value can be set for the VoidTransaction with the AddSpecialField method. Example:
icharge.AddSpecialField("tdate","YourDate");
icharge.VoidTransaction("TransactionId");
Litle (gwLitle)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway uses the TransactionDesc property to place transactions in different categories. If TransactionDesc is left blank the transaction will fail.
This gateway also requires you set the "MerchantCode" configuration setting with the Merchant Id supplied to you by Litle.
Merchant Anywhere (gwMerchantAnywhere)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Use the "RegKey" provided by MerchantAnywhere as your MerchantPassword.
Merchant E-Solutions (gwMerchantESolutions)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "840".
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Merchant Partners (gwMerchantPartners)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Note: To send encrypted card data, the "ValidateCardNumber" configuration setting must be set to 'False' prior to setting the Card data (using either the Number of the MagneticStripe property). You will also need to set the "MerchantPartnersReaderType" configuration setting the value corresponding to the card reader being used.
Metrobank (gwMetrobank)
Supported Methods:
MerchantLogin and MerchantPassword are required properties. For AMA requests, the UserId and UserPassword configuration settings are also used to specify the operator's .
This gateway requires the use of a unique TransactionId for all requests.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The CurrencyCode configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
TestMode is not supported and when set to "True" an exception will be thrown by the component. Testing is done with a separate account that uses your normal Merchant Id with TEST at the front, like "TEST123456123456".
Metrobank Field Name | ICharge Equivalent |
vpc_Merchant | MerchantLogin property. |
vpc_AccessCode | MerchantPassword property. |
vpc_MerchTxnRef | TransactionId property. |
vpc_MerchTxnRef | TransactionId property. |
vpc_OrderInfo | InvoiceNumber property. |
vpc_Amount | TransactionAmount property. |
vpc_CardNum | Card.Number field. |
vpc_CardExp | Card.ExpMonth and Card.ExpYear fields. |
vpc_Currency | CurrencyCode configuration setting. |
vpc_Locale | MetrobankLocale configuration setting. |
vpc_ReturnURL | MetrobankReturnURL configuration setting. |
vpc_AVS_Street, vpc_AVS_City, vpc_AVS_StateProv, vpc_AVS_PostCode, vpc_AVS_Country | Customer fields. |
vpc_CardSecurityCode | Card.CVVData field. |
vpc_TxSource | ECI configuration setting. |
vpc_CustomerIPAddress | PayerIP configuration setting. |
vpc_Desc | TransactionDesc property. |
vpc_CardIssueNumber | CardIssueNumber configuration setting. |
vpc_CardStartDate | CardStartYear and CardStartMonth configuration settings. |
Metrobank supports 3-Party requests where the merchant collects card data and redirects the customer to the payment gateway for 3DS verification. When using that model of request, set the MetrobankLocale, MetrobankReturnURL, and MetrobankThreePartyRequest configuration settings before making a Sale or AuthOnly request. Then query the RawRequest configuration setting for the request string, which can be sent as POST data when the customer is redirected. When the user is finished authenticating, the response will be sent to the MetrobankReturnURL in the query string of an HTTP request. You can set the MetrobankThreePartyResponse configuration setting to the query string you received from the payment server to parse it into the component's Response fields.
Metrobank supports voiding Sale, Capture, and Refund transactions. You can specify which kind of transaction to void using the MetrobankVoidType configuration setting.
MIT (gwMIT)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "MXN".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
In addition to your merchant login and password, the MIT Gateway also requires the following configs to be specified: "MerchantCode", "MITCompanyId", "MITBranchId", "MITCountry", and "MITTPOperation".
When performing a Refund transaction, AuthCode is required to be set to the value returned in the ApprovalCode obtained from the response of the original authorization.
Moneris Canada (gwMoneris)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
InvoiceNumber is required for all transactions.
Moneris USA (gwMonerisUSA)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
InvoiceNumber is required for all transactions.
Monetra (gwMonetra)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway implementation is using the test environment URL by default. When moving to production please set the GatewayURL property to point to the production server.
Note: Automatic settlement must be activated on the gateway portal.
MPCS (gwMPCS)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
This gateway requires the same setup as the Authorize.Net (1) gateway.
My Virtual Merchant (gwMyVirtualMerchant)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
The "ssl_merchant_id" provided by Elavon is your MerchantLogin, and "ssl_merchant_pin" is your MerchantPassword. If provided with an "ssl_user_id", set the "MyVirtualMerchantUserId" configuration setting via the Config method.
Netbanx (gwNetbanx)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
In addition to your merchant login and password, the Netbanx Gateway also requires an additional "accountNum" field, which must be added using "NetbanxAccountNumber" config.
InvoiceNumber is required for all transactions.
NetBilling (gwNetBilling)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Network Merchants (gwNetworkMerchants)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
NexCommerce (gwNexCommerce)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Ingenico / Ogone (gwIngenico)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The "UserId" configuration setting is required to be set.
Orbital (gwOrbital)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "840".
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
For the possible values for the MITType configuration setting, see the MITMsgType field in Orbital's documentation.
Orbital may accept Level3 Data. Use the below table to understand which Orbital field maps to the EPLineItem field.
Orbital Field Name | Level3 LineItem Equivalent |
PC3DtlQty | Quantity |
PC3DtlCommCd | CommodityCode |
PC3DtlDesc | Description |
PC3DtlUOM | Units |
PC3DtlUnitCost | UnitCost |
PC3DtlProdCd | ProductCode |
PC3DtlDisc | DiscountAmount |
PC3DtlDiscountRate | DiscountRate |
PC3Dtllinetot | Total |
PC3DtlGrossNet | Taxable |
PC3DtlTaxAmt | TaxAmount |
PC3DtlTaxRate | TaxRate |
PC3DtlTaxType | TaxType |
Anything not covered in the above table should be added with AddSpecialField.
To configure this gateway please note that your merchant/group Id is your MerchantLogin, and your Bank Id (BIN) will be your MerchantPassword (which specifies to use the Salem or Tampa [PNS] platform). The Terminal Id is defaulted to "001" (but can be changed via in Config).
Pay Direct (gwPayDirect)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway requires PayDirectSettleMerchantCode to be set as it is used in authorization.
In addition to TransactionAmount the amount details are required to be set using PayDirectConvenienceFee and PayDirectMerchantAmount. If these fields are not set, the component will internally set the fields. Please see the config definitions for further details.
Payeezy Gateway (gwPayeezy)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The "HashSecret" configuration setting is required by this gateway as an Hmac calculation must be computed and sent in the Authorization header of the request. "HashSecret" must be set to the Hmac Key generated for you by the gateway. Note the component handles the computation of the Hmac.
The "FDMSKeyId" configuration setting is also required by this gateway. This configuration setting is used to specify the Key Id, obtained from FDMS, that corresponds to the HMAC Key (specified via HashSecret) and is sent within the Authorization header of the request.
The FullName is also required to be specified and an exception will be thrown if not set.
AuthCode is used to perform tagged transactions (transactions that do not require the Card data to be specified). The value to specify within AuthCode is the value contained within ApprovalCode after a successful authorization. This transactions are only applicable for Capture, VoidTransaction, and Refund transactions.
Pay Junction (gwPayJunction)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Pay Leap (gwPayLeap)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
This gateway requires the FullName field.
Pay Point (gwPayPoint)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Rather, this gateway supports the 'test_status' SpecialField which allows values of 'true' (simulate authorized transaction), 'false' (simulated declined transaction), or 'live' (send transaction to the bank for authorization).
This gateway supports the use of the Freedom API via the PayPointFreedomAPI.
The supported methods for the Freedom API are:
For the Capture, Refund, and VoidTransaction methods, you must specify your 'remote_pswd' via a SpecialField.
Note: the AuthOnly transaction performs a deferred transaction in which an authorization takes place and funds in the cardholders account are frozen pending release but the money will not be debited. In order for these frozen funds to be released you will need to call Capture. Alternatively you can call VoidTransaction to mark a deferred transaction as cancelled (this only marks the transaction as cancelled on the PayPoint.net system and doesn't send a request to the bank to remove the authorization).
PayFlow Link (gwPayFlowLink)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
PayFlow Pro (gwPayFlowPro)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The default "Partner" special field is set to "PayPal". You may be required to change it depending on your account setup. If your User Id and Vendor Id (Merchant Login Id) are different, supply the Vendor Id to MerchantLogin and add the User Id like so: AddSpecialField("USER","User Id Value").
PayFuse (gwPayFuse)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "840".
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
The user's "Name" maps to MerchantLogin, and "password" maps to MerchantPassword.
Note: The TestMode property can be overridden by using the
AddSpecialField method to add the "Mode" field.
ICharge1.AddSpecialField("Mode", "Y");
Payment Express (gwPaymentExpress)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Payment WorkSuite [3DSI] (gwPaymentWorkSuite)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USDollars".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Note: The Payment WorkSuite gateway verifies AVS address and zip code data individually. Therefore the AVSResult will contain both results separated by a '/' (i.e. [AddressAVS]/[ZipCodeAVS]). For example if the address matched but the zip code did not match, AVSResult will return: Matched/NotMatched.
Forte (gwForte)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Payscape (gwPayscape)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
PayTrace (gwPayTrace)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
PayTraceJSON (gwPayTraceJSON)
Supported Methods:
MerchantLogin is a required property, and should be set to the value of a bearer token obtained through OAuth 2.0. For more information on getting a bearer token, see the documentation for the OAuth component.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
PayTrace JSON API supports Protected (tokenized) Transactions via hosted sensitive fields through Protect.js. To perform a Protected transaction the following steps are necessary:
- Obtain Bearer Token through the OAuth component.
- Use Bearer Token to obtain Client Key utilizing the PayTraceJSONGetClientKeyToken action config of ICharge component. (The same config is available in the Retail component as well.)
- Use the Client Key above to obtain Card Token (hpf token) and Encryption Key (enc key) utilizing Protect.js (see PayTrace documentation for details).
- Use Bearer Token, Card Token, and Encryption Key when submitting the transaction (Sale or AuthOnly transactions only).
icharge = new Icharge();
icharge.Gateway = IchargeGateways.gwPayTraceJSON;
icharge.GatewayURL = "https://api.paytrace.com";
icharge.MerchantLogin = bearerToken;
icharge.Config("PayTraceJSONCardToken=" + hpfToken);
icharge.Config("PayTraceJSONEncryptionKey=" + encKey);
icharge.Card.ExpMonth = 1;
icharge.Card.ExpYear = 25;
icharge.TransactionAmount = "1.00";
icharge.Sale();
Payvision (gwPayvision)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "840".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway requires that you set a unique InvoiceNumber for each request made (AuthOnly, Capture, Void, etc.).
After successful authorizations, the "PayvisionTransactionGuid" configuration will be populated along with the response properties. This configuration setting is also required to be specified, using the value obtained from the authorization, when performing subsequent transactions (such as Capture, Refund, Force, and VoidTransaction).
PayWiser (gwPayWiser)
Supported Methods:
MerchantLogin and TransactionDesc are required properties.
MerchantPassword is not applicable.
TerminalID and DynamicDescriptor configuration settings are required for PayWiser Gateway.
BuyerIP and TerminalIP fields are required and must be sent via the AddSpecialField method. For example:
icharge.AddSpecialField("BuyerIP", "1.1.1.1");
icharge.AddSpecialField("TerminalIP", "2.2.2.2");
Other optional fields like Surcharge and CashBack (valid only for Sale) can also be set by calling AddSpecialField.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "EUR".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway requires the use of a unique TransactionId.
After a successful Sale, the PayWiserReserveReferenceId and PayWiserCaptureReferenceId configuration settings will be populated along with the response properties. If PayWiserTokenizeCard is set to True, PayWiserTokenReferenceId will also be populated after a successful Sale.
A card token or a token reference id can be used to authorize a credit card. A card token can be obtained via the RecurringBilling component by setting the PayWiserRequestType configuration setting to 1.
PhoeniXGate (gwPhoeniXGate)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not available for this gateway.
TestMode is supported and when set to "True", test transactions can be sent using a live account that will not be captured and settled.
Other fields can also be set by calling AddSpecialField.
This Gateway does not have a test URL. Transactions will be processed using the production server.
This gateway performs transactions using customer profiles. Therefore Id's will be used instead of credit card information. To process transactions using customer profiles, "PhoeniXGateProcessRecurringCredit" configuration setting must be set to True. Also "PhoeniXGateCardInfoKey" must be set to the Credit Card Info Key obtained from RecurringBilling component at the time the payment record was created, and "MerchantCode" configuration setting must be set to the Merchant ID which is also known as Merchant Number or RPNum.
Our implementation supports PhoeniXGate Tokenization implementation via the "PhoeniXGateTokenMode" and "PhoeniXGateToken" configuration settings (it is not required that you use tokenization). To process a transaction using a token, set "PhoeniXGateProcessTokenCredit" configuration setting to True. Tokenization can not be used to Capture or Refund a transaction.
Note: A token can be obtained from RecurringBilling component
Planet Payment (gwPlanetPayment)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "840".
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway requires you to set the "TerminalId" configuration setting. MerchantLogin maps to the company KEY, and MerchantPassword maps to the PIN.
PlugNPay (gwPlugNPay)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
PRIGate (gwPRIGate)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Use the "RegKey" provided by PRIGate as your MerchantPassword.
Priority Payment Systems (gwPriorityPaymentSystems)
Supported Methods:
MerchantLogin and MerchantPassword are required properties, and MerchantCode is a required configuration setting.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, a value of "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is supported and when set to "True" test transactions can be sent using a sandbox account that will not be captured and settled.
The following table shows how various Priority Payment Systems gateway request fields are represented in the component:
Priority Payment Systems Field Names | ICharge Equivalent |
Priority Payment Systems username | MerchantLogin property. |
Priority Payment Systems password | MerchantPassword property. |
Transaction Id (Refund and VoidTransaction requests only) | TransactionId property (or the TransactionId method parameter). |
amount | TransactionAmount property. |
authCode | AuthCode property. |
clientReference | Special field clientReference. |
currency | CurrencyCode configuration setting. |
cardAccount.address object | Customer property's fields. |
cardAccount.avsStreet and cardAccount.avsZip | Customer.Address and Customer.Zip fields. |
cardAccount.name and customerName | Customer.FullName field. |
cardAccount.number, cardAccount.expiryMonth, cardAccount.expiryYear, and cardAccount.cvv | Card property's fields |
customerCode | Customer.Id field. |
invoice | InvoiceNumber property. |
merchantId | MerchantCode configuration setting. |
meta | Special field meta. |
shipToCountry | Special field shipToCountry. |
shipAmount, shipToZip, tax, and taxExempt | The FreightAmount, ShipToZip, TaxAmount, and TaxExempt properties of the Level2 component. |
The following table shows which Priority Payment Systems gateway response fields, when present, the component's API members reflect:
ICharge API Members | Priority Payment Systems Field Names |
Response.ApprovalCode field. | authCode |
Response.AVSResult field. | risk.avsResponseCode |
Response.Code field. | status, or HTTP status code for Refund and VoidTransaction requests and error responses |
Response.CVVResult field. | risk.cvvResponseCode |
Response.ErrorCode field. | errorCode for error responses |
Response.ErrorText field. | details[0] for error responses |
PPSPaymentToken configuration setting. | paymentToken |
Response.ProcessorCode field. | responseCode for error responses |
Response.Text field. | authMessage, or message for error responses |
Response.TransactionId field. | id |
Notes:
- Special fields can be added using the AddSpecialField method.
- Level 2 fields are passed to the ICharge component by assigning the value returned by the Level2.GetAggregate method to the ICharge.Level2Aggregate property. (Except for the shipToCountry field, which should be added directly to the ICharge component's special fields.)
- Note that Priority Payment Systems expects that the TransactionAmount includes the Level2.TaxAmount, if one is specified.
- When using the Capture method:
- The AuthCode property is required to be set to the approval code returned in the original AuthOnly response.
- The PPSPaymentToken configuration setting is required to be set to the payment token (not the transaction Id) returned in the original AuthOnly response. The TransactionId method parameter is ignored.
- The TransactionAmount property (or the CaptureAmount method parameter) is required to be set, and may differ from the amount originally authorized.
- Partial refunds are not supported; the TransactionAmount (and the RefundAmount method parameter) are ignored when calling the Refund method.
ProPay XML (gwProPay)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
PSIGate HTML (gwPSIGate)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
PSIGate XML (gwPSIGateXML)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
PSIGate Field Name | ICharge Equivalent |
Recurring | MITType configuration setting. |
Iteration | 1 when StoreCardOnFile is True, or 2 when UseCardOnFile is True. |
COFSchedule | RecurringIndicator configuration setting. |
Note when performing a VoidTransaction, InvoiceNumber is required to be set to the value returned within ResponseInvoiceNumber of the original transaction that is being voided.
QuickBooks Merchant Services (gwQBMS)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
For the QBMS gateway, your App Login is used for the MerchantLogin, and the Connection Ticket for the MerchantPassword. (Using the Application Id in the MerchantLogin property will cause an error).
TransactionId is required for all transactions.
QuickBooks Payments (gwQBPayments)
Supported Methods:
MerchantLogin is a required property, and should be set to the value of a bearer token obtained through OAuth 2.0. For more information on getting a bearer token, see the documentation for the OAuth component.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The CurrencyCode configuration setting is available for this gateway. If it is not set, no currency field will be sent.
QB Payments Field Name | ICharge Equivalent |
Request-Id | TransactionId property. |
token | CardToken configuration setting. |
currency | CurrencyCode configuration setting. |
amount | TransactionAmount property. |
context.mobile | QBPaymentsMobile configuration setting. |
context.deviceinfo fields | SpecialFields property. |
context.tax | Level2.TaxAmount property. |
context.recurring | RecurringIndicator configuration setting. |
description | TransactionDesc property. |
card.number | Card.Number field. |
card.expmonth | Card.ExpMonth field. |
card.expyear | Card.ExpYear field. |
card.cvc | Card.CVVData field. |
card.name | Customer.FullName field. |
card.address.streetAddress, card.address.city, card.address.postalCode, card.address.region, and card.address.country | Customer fields. |
To use a card on file, set the UseCardOnFile configuration setting to true and put the card Id in place of the Card.Number field
This gateway uses a boolean value to indicate a recurring transaction, which will only be included in the request if RecurringIndicator is set to "true".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
TransactionId is required for all transactions.
Repay (gwRepay)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not available for this gateway.
TestMode is supported and when set to "True", test transactions can be sent using a live account that will not be captured and settled.
Other fields can also be set by calling AddSpecialField.
This Gateway does not have a test URL. Transactions will be processed using the production server.
This gateway performs transactions using customer profiles. Therefore Id's will be used instead of credit card information. To process transactions using customer profiles, "RepayProcessRecurringCredit" configuration setting must be set to True. Also "RepayCardInfoKey" must be set to the Credit Card Info Key obtained from RecurringBilling component at the time the payment record was created, and "MerchantCode" configuration setting must be set to the Merchant ID which is also known as Merchant Number or RPNum.
Our implementation supports Repay Tokenization implementation via the "RepayTokenMode" and "RepayToken" configuration settings (it is not required that you use tokenization). To process a transaction using a token, set "RepayProcessTokenCredit" configuration setting to True. Tokenization can not be used to Capture or Refund a transaction.
Note: A token can be obtained from RecurringBilling component
RTWare (gwRTWare)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
This gateway requires the same setup as the Authorize.Net (1) gateway.
Sage Payments (gwSagePayments)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
SagePay (gwSagePay)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
"RelatedSecurityKey" and "RelatedVendorTXCode" special fields are required for Refunds. These are parsed out of the original authorization response. "SecurityKey" and AuthCode are required for voids and captures.
SEC Pay (gwSECPay)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Rather, this gateway supports the 'test_status' SpecialField which allows values of 'true' (simulate authorized transaction), 'false' (simulated declined transaction), or 'live' (send transaction to the bank for authorization).
This gateway supports the use of the Freedom API via the PayPointFreedomAPI.
The supported methods for the Freedom API are:
For the Capture, Refund, and VoidTransaction methods, you must specify your 'remote_pswd' via a SpecialField.
Note: the AuthOnly transaction performs a deferred transaction in which an authorization takes place and funds in the cardholders account are frozen pending release but the money will not be debited. In order for these frozen funds to be released you will need to call Capture. Alternatively you can call VoidTransaction to mark a deferred transaction as cancelled (this only marks the transaction as cancelled on the PayPoint.net system and doesn't send a request to the bank to remove the authorization).
Secure Payments (gwSecurePay)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Shift4 (gwShift4)
Supported Methods:
MerchantLogin, MerchantPassword, Shift4InterfaceName, and Shift4InterfaceVersion are required properties.
The MerchantPassword should be set to the AccessToken, which can be obtained by calling the Shift4GetAccessToken action config.
This gateway requires the use of a unique TransactionId for all non-followup requests.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The CurrencyCode configuration setting is not available for this gateway.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Shift4 Field Name | ICharge Equivalent |
CompanyName | MerchantLogin property. |
AccessToken | MerchantPassword property. |
InterfaceName | Shift4InterfaceName configuration setting. |
InterfaceVersion | Shift4InterfaceVersion configuration setting. |
amount.tax | Level2.TaxAmount property. |
amount.total | TransactionAmount property. |
amount.surcharge | SurchargeAmount configuration setting. |
amount.tip | TipAmount configuration setting. |
clerk.numericId | UserId configuration setting. |
transaction.invoice | TransactionId property. |
transaction.purchasecard.customer | Customer.Id field. |
transaction.purchasecard.destinationPostalCode | Level2.ShipToZip property. |
transaction.purchasecard.productDescriptors | TransactionDesc property. |
transaction.cardOnFile.indicator | MITType configuration setting. |
transaction.cardOnFile.usageIndicator | StoreCardOnFile configuration setting. |
transaction.cardOnFile.scheduledIndicator | RecurringIndicator configuration setting. |
transaction.cardOnFile.transactionId | MITPriorTransId configuration setting. |
apiOptions.ALLOWPARTIALAUTH | AllowPartialAuths configuration setting. |
apiOptions.TAXEXEMPT | Level2.TaxExempt property. |
card fields | Card fields. |
card.token.value | CardToken configuration setting. |
customer.addressLine1, customer.firstName, customer.lastName, and customer.postalCode | Customer fields. |
device.manufacturer | TerminalManufacturer configuration setting (Retail only). |
device.model | TerminalModel configuration setting (Retail only). |
device.terminalId | TerminalId configuration setting. |
device.capability | TerminalCapability configuration setting. Should be set to a JSON object with the device.capability fields from Shift4's documentation (Retail only). |
Skipjack (gwSkipjack)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is not applicable.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway requires you to set the "TerminalId" configuration setting as developer serial number for Void and Refund transactions.
Sterling XML (gwSterling)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
MerchantLogin must be set to the "SECURENETID" field of the Sterling XML gateway.
Additionally, TransactionId is required for all transactions.
Square (gwSquare)
Supported Methods:
Note: Square has deprecated the API used by this gateway setting, and currently plans to shut down the API on September 1st, 2021. For their more recent "Payments" API, use gwSquarePayments instead.
MerchantLogin is a required property.
The TransactionAmount is required to be represented as cents without a decimal point. For example, "100" would be one dollar.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
The SquareLocationId configuration setting is required to be set to a Square location Id tied to your account. When calling the Sale, AuthOnly, or Refund method, the SquareIdempotencyKey configuration setting is required as well.
Square does not allow passing raw card details. When using the Sale or AuthOnly method, either a card nonce (specified using the CardToken configuration setting) or a customer card Id (specified using the SquareCustomerCardId configuration setting) must be specified to represent a card payment method.
Square returns two Ids in every Sale and AuthOnly response: a transaction Id and a tender Id. Both values are needed in order to perform a Refund request. (A VoidTransaction request only requires the transaction Id, however.)
The following table shows how various Square gateway request fields are represented in the component:
Square Field Names | ICharge Equivalent |
Square access token | MerchantLogin property. |
additional_recipients array | SquareAdditionalRecipients configuration setting. |
amount_money object | TransactionAmount property and CurrencyCode configuration setting. |
billing_address object | Customer property's fields and special fields billing_address.organization, billing_address.address_line_3, billing_address.sublocality, billing_address.sublocality_2, billing_address.sublocality_3, billing_address.administrative_district_level_2, and billing_address.administrative_district_level_3. |
buyer_email_address | Customer.Email field. |
card_nonce | CardToken configuration setting. |
customer_card_id | SquareCustomerCardId configuration setting. |
customer_id | Customer.Id field. |
idempotency_key | SquareIdempotencyKey configuration setting. |
location_id | SquareLocationId configuration setting. |
note/reason | TransactionDesc property. |
order_id | SquareOrderId configuration setting. |
reference_id | InvoiceNumber property. |
shipping_address object | ShippingInfo property's fields and special fields shipping_address.organization, shipping_address.address_line_3, shipping_address.sublocality, shipping_address.sublocality_2, shipping_address.sublocality_3, shipping_address.administrative_district_level_2, and shipping_address.administrative_district_level_3. |
tender_id | SquareTenderId configuration setting. |
transaction_id | TransactionId property. |
The following table shows which Square gateway response fields, when present, the component's API members reflect:
ICharge API Members | Square Field Names |
Response.Code field. | HTTP status code |
Response.ErrorCode field. | errors[0].category |
Response.ErrorText field. | errors[0].field |
Response.InvoiceNumber field. | transaction.reference_id |
Response.ProcessorCode field. | errors[0].code |
SquareTenderId configuration setting. | transaction.tenders[0].id |
Response.Text field. | transaction.tenders[0].card_details.status (or errors[0].detail) |
Response.TransactionId field. | transaction.id |
Notes:
- Special fields can be added using the AddSpecialField method.
- When using the Capture method, TransactionAmount (and the captureAmount method parameter) is ignored (partial captures are not supported).
- When using the Refund method, TransactionAmount (or the refundAmount method parameter) MUST be set to same value used in the original AuthOnly or Sale request.
Square Payments (gwSquarePayments)
Supported Methods:
Note: This gateway setting uses Square's "Payments" API, which replaces the "Transactions" API used by gwSquare.
MerchantLogin is a required property.
The TransactionAmount is required to be represented as cents without a decimal point. For example, "100" would be one dollar.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
The SquareLocationId configuration setting may be set to a Square location Id tied to your account during a Sale or AuthOnly transaction. When calling the Sale, AuthOnly, or Refund method, the SquareIdempotencyKey configuration setting is required.
Square does not allow passing raw card details. When using the Sale or AuthOnly method, either a card nonce or a customer card Id must be specified using the CardToken configuration setting to represent a card payment method.
The following table shows how various Square gateway request fields are represented in the component:
Square Field Names | ICharge Equivalent |
Square access token | MerchantLogin property. |
amount_money object | TransactionAmount property and CurrencyCode configuration setting. |
billing_address object | Customer property's fields and special fields billing_address.organization, billing_address.address_line_3, billing_address.sublocality, billing_address.sublocality_2, billing_address.sublocality_3, billing_address.administrative_district_level_2, and billing_address.administrative_district_level_3. |
buyer_email_address | Customer.Email field. |
source_id | CardToken configuration setting. |
customer_id | Customer.Id field. |
idempotency_key | SquareIdempotencyKey configuration setting. |
location_id | SquareLocationId configuration setting. |
note/reason | TransactionDesc property. |
order_id | SquareOrderId configuration setting. |
reference_id | InvoiceNumber property. |
shipping_address object | ShippingInfo property's fields and special fields shipping_address.organization, shipping_address.address_line_3, shipping_address.sublocality, shipping_address.sublocality_2, shipping_address.sublocality_3, shipping_address.administrative_district_level_2, and shipping_address.administrative_district_level_3. |
transaction_id | TransactionId property. |
The following table shows which Square gateway response fields, when present, the component's API members reflect:
ICharge API Members | Square Field Names |
Response.ApprovedAmount field. | payment.total_money.amount (or refund.amount_money.amount) |
Response.AVSResult field. | payment.avs_status |
Response.Code field. | HTTP status code |
Response.CVVResult field. | payment.cvv_status |
Response.ErrorCode field. | errors[0].category |
Response.ErrorText field. | errors[0].detail |
Response.InvoiceNumber field. | payment.reference_id |
Response.ProcessorCode field. | errors[0].code |
Response.Text field. | payment.status (or refund.status) |
Response.TransactionId field. | payment.id (or refund.id) |
Notes:
- Special fields can be added using the AddSpecialField method.
- When using the Capture method, TransactionAmount (and the captureAmount method parameter) is ignored (partial captures are not supported).
Stripe (gwStripe)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
Either CustomerId or CardNumber is required to complete a transaction.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Stripe Metadata information can also be set by calling the AddSpecialField method.
Stripe Gateway returns two separate results when the address verification is enabled on your Stripe account. Results consist of address verification and zip code verification. By default the ResponseAVSResult property will hold the Zip Code verification result. Address verification result can be retrieved from the original AuthOnly or Sale response through the GetResponseVar; method. For example:
icharge.AuthOnly();
string addressResult = icharge.GetResponseVar("/json/source/address_line1_check");
MerchantLogin must be set to the "API Key" field provided by Stripe when creating an account.
Dynamic statement descriptor can be set via the DynamicDescriptor configuration setting.
Transaction Central (gwTransactionCentral)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Use the "RegKey" provided by Transaction Central as your MerchantPassword.
TransFirst (gwTransFirst)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
TransNational Bankcard (gwTransNationalBankcard)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Trust Commerce (gwTrustCommerce)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is not applicable.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
USAePay (gwUSAePay)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
USight (gwUSight)
This gateway is no longer in service.
Verifi (gwVerifi)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Veritas (gwVeritas)
Supported Methods:
MerchantLogin property and Customer fields are both required for this gateway.
BankName configuration setting is required when calling the Sale method.
TransactionAmount property and VeritasVoidRefundReasonId configuration setting are both required when the calling the VoidTransaction method.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
WorldPay Select Junior (gwWorldPay)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
You may set the "MerchantCode" configuration setting, if you wish to send a merchant code that is different than your merchant login.
Worldpay Online (gwWorldpayOnline)
Supported Methods:
MerchantLogin is a required property. It should be set to your Worldpay Online service key when making a transaction or deleting a token, and set to your Worldpay Online client key when generating or updating a token.
The TransactionAmount is required to be represented as cents without a decimal point. For example, "100" would be one dollar.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
The WorldpayOnlineToken and WorldpayOnlineTokenAction configuration settings are used to work with tokens. Filling in card information and setting WorldpayOnlineTokenAction to 0 (generate single-use token) or 1 (generate reusable token) will populate WorldpayOnlineToken with a new token.
When sending a transaction using a token, updating a token, or deleting a token, WorldpayOnlineToken must be set first. Keep in mind that you must update a reusable token with the CVC of the card it represents before every reuse.
The following table shows how various Worldpay Online gateway request fields are represented in the component.
Worldpay Online Field Names | ICharge Equivalent |
Worldpay Online service or client key | MerchantLogin property. |
amount, captureAmount, or refundAmount | TransactionAmount property. |
billingAddress object and shopperEmailAddress | Customer property and special field billingAddress.address3. |
currencyCode | CurrencyCode configuration setting. |
customerIdentifiers object | Special fields named like customerIdentifiers.[KeyName]; "[KeyName]" can be any valid JSON field name. |
customerOrderCode | InvoiceNumber property. |
deliveryAddress object | ShippingInfo property and special field deliveryAddress.address3. |
name and/or paymentMethod.name | FullName property. |
orderCode | TransactionId property; |
orderCodePrefix, orderCodeSuffix, settlementCurrency,shopperLanguageCode, shopperSessionId | Special fields of the same name. |
orderDescription | TransactionDesc property; |
paymentMethod object (except name field) | Card property and the CardStartMonth, CardStartYear, and CardIssueNumber configuration settings. |
shopperIpAddress | PayerIP configuration setting. |
token | WorldpayOnlineToken configuration setting. |
Notes:
- Special fields can be added using the AddSpecialField method.
- When using the Capture or Refund method, TransactionAmount can be empty to capture or refund the full amount of the original transaction.
- The FullName property will be automatically populated (if not already) using the values of the FirstName and LastName properties.
- The customerIdentifiers object is used to specify MCC 6012 financial services information. Refer to Worldpay Online's documentation for information on what key names to use and how the values should be formatted.
- When making a transaction request, any card information supplied will be ignored if a token is also supplied.
WorldPay US Link (gwWorldPayLink)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is available for this gateway. This field is only sent if a value is explicitly specified.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Note: To send encrypted card data, the "ValidateCardNumber" configuration setting must be set to 'False' prior to setting the Card data (using either the Number of the MagneticStripe property). You will also need to set the "MerchantPartnersReaderType" configuration setting the value corresponding to the card reader being used.
WorldPay XML (gwWorldPayXML)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
WorldPay requires you to set the "TerminalId" configuration setting with the Installation Id provided to you by Worldpay. In addition, the Customer.Country and TransactionDesc are required fields.
YKC (gwYKC)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "USD".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Note: Most merchants using YKC will need to set the "CurrencyCode" config to "JPY" for Japanese yen.
Your Pay (gwYourPay)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
The "CurrencyCode" configuration setting is not applicable.
This gateway supports sending ThreeDSecure (3DS) verification data by setting the following configs: CAVV, XID, ECI.
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Your MerchantLogin will be the "Store Number" provided by Linkpoint. This gateway requires a client certificate, which can be set using the SSL Certificate fields. Void transactions with this gateway require a transaction timestamp. This timestamp can be retrieved from the original AuthOnly response through the GetResponseVar; method. Example:
icharge.AuthOnly();
String tdate = icharge.GetResponseVar("/root/r_tdate");
This value can be set for the VoidTransaction with the AddSpecialField method. Example:
icharge.AddSpecialField("tdate","YourDate");
icharge.VoidTransaction("TransactionId");
ECheck Gateway Setup and Required Properties
This page contains the available methods, properties, and additional setup information for each gateway.
5th Dimension Logistics (gw5thDimension)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The MerchantLogin property corresponds to the 5th Dimension field "mkey".
ACH Federal (gwACHFederal)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are:
TestMode is not supported and when set to "True" an exception will be thrown by the component.
ACH Payments (gwACHPayments)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Adyen (gwAdyen)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
Additional check-relevant properties supported are:
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The MerchantLogin property maps to the Webservice User, and the password is the password given to that user. These values are accessible from the Adyen's online management console (located at https://ca-live.adyen.com/ or https://ca-test.adyen.com/).
You must also set the "TerminalId" configuration setting with the name of your merchant account.
This gateway also requires that the "shopperIP" field be added via AddSpecialField method..
You may need to set the "CurrencyCode" config depending on your locale.
Authorize.NET (gwAuthorizeNet)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId, CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
This gateway has a unique security feature. To use it, you must add the secret hash value provided by the Authorize.Net merchant web interface to the "HashSecret" configuration setting (via the Config method). Both of these values are provided by the Authorize.Net merchant web interface, which is used to set up your account. For example; Config("HashSecret=myhashvalue"). If no hash secret is supplied in the config method, the hash value returned by the server will NOT be checked.
BASYS Gateway (gwBASYS)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId, CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Other fields can also be set by calling AddSpecialField.
For Government Checks, set "BASYSGovernmentCheck" configuration setting to True.
This Gateway does not have a test URL. Transactions will be processed using the production server.
To process Recurring Billing Checks, "BASYSProcessRecurringCheck" configuration setting must be set to True. Also "BASYSCheckInfoKey" must be set to the Check Info Key obtained from RecurringBilling component at the time the payment record was created, and "MerchantCode" configuration setting must be set to the Merchant ID, which is also known as Merchant Number or RPNum.
Bluefin (gwBluefin)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
BluePay (gwBluePay)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are:
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
BlueSnap (gwBlueSnap)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is supported and when set to "True" test transactions can be sent using a sandbox account that will not be captured and settled.
When using the Authorize method, there are a number of combinations of request fields that BlueSnap will accept. Please refer to BlueSnap's Payment API JSON documentation for more information about which fields to use for your use-case. You can then use the following table to determine how you should specify each BlueSnap field supported by the ECheck component.
The BlueSnapRetrieveTransaction configuration setting can be used to make the component retrieve a previously created transaction. After retrieving the transaction, the component will automatically populate its properties, special fields, and configuration settings based on the retrieved transaction's data.
BlueSnap Field Name | ECheck Equivalent |
amount | TransactionAmount property. |
authorizedByShopper | Ensure that the PaymentType property is set to ptWEB (0). |
currency | CurrencyCode configuration setting. |
ecpTransaction object fields | AccountNumber, RoutingNumber, AccountClass, and AccountType properties. |
merchantTransactionId | InvoiceNumber property. |
payerInfo object fields | Customer and CompanyName properties, and special field personalIdentificationNumber. |
softDescriptor | TransactionDesc property. |
transactionFraudInfo object fields | Special fields fraudSessionId, company, and enterpriseSiteId, and the PayerIP configuration setting. |
transactionFraudInfo.enterpriseUdfs content | BlueSnapEnterpriseUdfs configuration setting. |
transactionFraudInfo.shippingContactInfo object fields | Special fields shipFirstName, shipLastName, shipAddress1, shipAddress2, shipCity, shipState, shipZip, and shipCountry. |
transactionMetaData content | BlueSnapTransactionMetaData configuration setting. |
vaultedShopperId | Special field vaultedShopperId. |
vendorInfo object fields | Special fields vendorId, commissionPercent, and commissionAmount. |
Note: The RecurringBilling component can be used to create and update vaulted shopper profiles.
When using the Credit method to refund, both the transactionId and the creditAmount parameters are relevant (though the latter is optional, and can be left empty to refund the whole amount captured). You may also specify a refund reason or a vendor amount by adding special fields with the names reason and vendoramount, respectively.
BrainTree (gwBrainTree)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are:
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Chase (gwChase)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, TaxId, CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Your MerchantLogin will be the "Store Number" provided by Linkpoint. This gateway requires a client certificate, which can be set using the SSL Certificate fields. Void transactions with this gateway require a transaction timestamp. This timestamp can be retrieved from the original AuthOnly response through the GetResponseVar; method. Example:
icharge.AuthOnly();
String tdate = icharge.GetResponseVar("/root/r_tdate");
This value can be set for the VoidTransaction with the AddSpecialField method. Example:
icharge.AddSpecialField("tdate","YourDate");
icharge.VoidTransaction("TransactionId");
CyberSource (gwCyberSource)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
ECX (gwECX)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId, CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
This gateway requires the same setup as the Authorize.Net (1) gateway.
eProcessing (gwEprocessing)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Fast Transact (gwFastTransact)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId
TestMode is not supported and when set to "True" an exception will be thrown by the component.
First Data PayPoint (gwFirstDataPayPoint)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, TaxId
TestMode is not supported and when set to "True" an exception will be thrown by the component.
GoEMerchant (gwGoEMerchant)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are:
TestMode is not supported and when set to "True" an exception will be thrown by the component.
OmniFund / GoToBilling (gwOmniFund)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
Additional check-relevant properties supported are: CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
The Customer's Name or the CompanyName must be set. If not, an error will occur.
Heartland (gwHeartland)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway requires you set the following configuration settings with the values supplied by Heartland: "HeartlandLicenseId", "HeartlandSiteId", and "HeartlandDeviceId". In addition, you may optionally set the "HeartlandSiteTrace", "HeartlandDeveloperId", and "HeartlandVersionNumber" configuration settings for this gateway.
Our implementation supports Heartland's Tokenization implementation via the "HeartlandTokenMapping" and "HeartlandTokenValue" configuration settings (it is not required that you use tokenization). Note: Heartland's Tokenization implementation requires that your merchant account is properly configured to support tokenization. In addition to the account configurations, there are special pricing considerations for merchants in the production environment. Therefore merchants who wish to use tokenization should contact their Relationship Manager for more details and to configure their account appropriately.
Heartland Portico (gwHeartlandPortico)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
This gateway requires you set the following configuration settings with the values supplied by Heartland: "HeartlandLicenseId", "HeartlandSiteId", and "HeartlandDeviceId". In addition, you may optionally set the "HeartlandSiteTrace", "HeartlandDeveloperId", and "HeartlandVersionNumber" configuration settings for this gateway.
Alternatively, if Heartland has provided you with a secret API key you can specify only the "HeartlandSecretAPIKey" configuration setting.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
Additional check-relevant properties supported are:
TestMode is not supported and when set to "True" an exception will be thrown by the component.
HSBC (gwHSBC)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
Additional check-relevant properties supported are: CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
The user's "Name" maps to MerchantLogin, and "password" maps to MerchantPassword.
Note: The TestMode property can be overridden by using the
AddSpecialField method to add the "Mode" field.
ICharge1.AddSpecialField("Mode", "Y");
ITransact (gwITransact)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
JetPay XML (gwJetPay)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
Additional check-relevant properties supported are: CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
MerchantLogin must be set to the "TerminalId" JetPay field.
InvoiceNumber is required for all transactions.
AuthCode is required when performing VoidTransaction transactions.
LinkPoint (gwLinkPoint)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, TaxId, CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Your MerchantLogin will be the "Store Number" provided by Linkpoint. This gateway requires a client certificate, which can be set using the SSL Certificate fields. Void transactions with this gateway require a transaction timestamp. This timestamp can be retrieved from the original AuthOnly response through the GetResponseVar; method. Example:
icharge.AuthOnly();
String tdate = icharge.GetResponseVar("/root/r_tdate");
This value can be set for the VoidTransaction with the AddSpecialField method. Example:
icharge.AddSpecialField("tdate","YourDate");
icharge.VoidTransaction("TransactionId");
Litle (gwLitle)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
Additional check-relevant properties supported are: CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway uses the TransactionDesc property to place transactions in different categories. If TransactionDesc is left blank the transaction will fail.
This gateway also requires you set the "MerchantCode" configuration setting with the Merchant Id supplied to you by Litle.
Merchant Anywhere (gwMerchantAnywhere)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Use the "RegKey" provided by MerchantAnywhere as your MerchantPassword.
Merchant Partners (gwMerchantPartners)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, TaxId, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
MPCS (gwMPCS)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId, CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
This gateway requires the same setup as the Authorize.Net (1) gateway.
Netbanx (gwNetbanx)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
In addition to your merchant login and password, the Netbanx Gateway also requires an additional "accountNum" field, which must be added using "NetbanxAccountNumber" config.
BankName and CheckNumber are both required for all transactions.
NetBilling (gwNetBilling)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Network Merchants (gwNetworkMerchants)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
Additional check-relevant properties supported are:
TestMode is not supported and when set to "True" an exception will be thrown by the component.
NexCommerce (gwNexCommerce)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Orbital (gwOrbital)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
Additional check-relevant properties supported are: CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
To configure this gateway please note that your merchant/group Id is your MerchantLogin, and your Bank Id (BIN) will be your MerchantPassword. The Terminal Id is defaulted to "001" (but can be changed via in Config).
Pay Direct (gwPayDirect)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway requires PayDirectSettleMerchantCode to be set as it is used in authorization.
In addition to TransactionAmount the amount details are required to be set using PayDirectConvenienceFee and PayDirectMerchantAmount. If these fields are not set, the component will internally set the fields. Please see the config definitions for further details.
Pay Flow Link (gwPayFlowLink)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
PayFlow Pro (gwPayFlowPro)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseDOB, TaxId, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The default "Partner" special field is set to "PayPal". You may be required to change it depending on your account setup. If your User Id and Vendor Id (Merchant Login Id) are different, supply the Vendor Id to MerchantLogin and add the User Id like so: AddSpecialField("USER","User Id Value").
PayFuse (gwPayFuse)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
Additional check-relevant properties supported are: CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
The user's "Name" maps to MerchantLogin, and "password" maps to MerchantPassword.
Note: The TestMode property can be overridden by using the
AddSpecialField method to add the "Mode" field.
ICharge1.AddSpecialField("Mode", "Y");
Forte (gwForte)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Payscape (gwPayscape)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
Additional check-relevant properties supported are:
TestMode is not supported and when set to "True" an exception will be thrown by the component.
PayTrace (gwPayTrace)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are:
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
PhoeniXGate (gwPhoeniXGate)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId, CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Other fields can also be set by calling AddSpecialField.
For Government Checks, set "PhoeniXGateGovernmentCheck" configuration setting to True.
This Gateway does not have a test URL. Transactions will be processed using the production server.
To process Recurring Billing Checks, "PhoeniXGateProcessRecurringCheck" configuration setting must be set to True. Also "PhoeniXGateCheckInfoKey" must be set to the Check Info Key obtained from RecurringBilling component at the time the payment record was created, and "MerchantCode" configuration setting must be set to the Merchant ID, which is also known as Merchant Number or RPNum.
Planet Payment (gwPlanetPayment)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway requires you to set the "TerminalId" configuration setting. MerchantLogin maps to the company KEY, and MerchantPassword maps to the PIN.
PlugNPay (gwPlugNPay)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
PRIGate (gwPRIGate)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Use the "RegKey" provided by PRIGate as your MerchantPassword.
QuickBooks Merchant Services (gwQBMS)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
For the QBMS gateway, your Application Name is used for the MerchantLogin, and the Connection Ticket for the MerchantPassword. (Using the Application Id in the MerchantLogin property will cause an error).
TransactionId is required for all transactions.
QuickBooks Payments (gwQBPayments)
Supported Methods:
MerchantLogin is a required property, and should be set to the value of a bearer token obtained through OAuth 2.0. For more information on getting a bearer token, see the documentation for the OAuth component.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
QB Payments Field Name | ECheck Equivalent |
Request-Id | TransactionId property. |
amount | TransactionAmount property. |
description | TransactionDesc property. |
checkNumber | CheckNumber property. |
context.deviceinfo fields | SpecialFields property. |
bankAccount.name | Bank.AccountHolderName field. |
bankAccount.accountNumber | Bank.AccountNumber field. |
bankAccount.phone | Customer.Phone field. |
bankAccount.accountType | Bank.AccountClass and Bank.AccountType fields. |
bankAccount.routingNumber | Bank.RoutingNumber field. |
bankAccount.country | Customer.Country field. |
token | AccountToken configuration setting. |
TestMode is not supported and when set to "True" an exception will be thrown by the component.
TransactionId is required for all transactions.
Repay Gateway (gwRepay)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId, CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Other fields can also be set by calling AddSpecialField.
For Government Checks, set "RepayGovernmentCheck" configuration setting to True.
This Gateway does not have a test URL. Transactions will be processed using the production server.
To process Recurring Billing Checks, "RepayProcessRecurringCheck" configuration setting must be set to True. Also "RepayCheckInfoKey" must be set to the Check Info Key obtained from RecurringBilling component at the time the payment record was created, and "MerchantCode" configuration setting must be set to the Merchant ID, which is also known as Merchant Number or RPNum.
RTWare (gwRTWare)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId, CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
This gateway requires the same setup as the Authorize.Net (1) gateway.
Sage Payments (gwSagePayments)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Sterling XML (gwSterling)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
MerchantLogin must be set to the "SECURENETID" field of the Sterling XML gateway.
Additionally, TransactionId is required for all transactions.
Transaction Central (gwTransactionCentral)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Use the "RegKey" provided by Transaction Central as your MerchantPassword.
TransFirst (gwTransFirst)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, LicenseDOB, TaxId, CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
TransNational Bankcard (gwTransNationalBankcard)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
Additional check-relevant properties supported are:
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Trust Commerce (gwTrustCommerce)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
Additional check-relevant properties supported are:
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
USAePay (gwUSAePay)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Verifi (gwVerifi)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
Additional check-relevant properties supported are:
TestMode is not supported and when set to "True" an exception will be thrown by the component.
WorldPay US Link (gwWorldPayLink)
Supported Methods:
MerchantLogin and MerchantPassword are required properties.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, TaxId, CheckNumber
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Your Pay (gwYourPay)
Supported Methods:
MerchantLogin is a required property. MerchantPassword is not applicable.
The TransactionAmount should be represented as dollars and cents with a decimal point. For example, "1.00".
Additional check-relevant properties supported are: LicenseNumber, LicenseState, TaxId, CheckNumber
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
Your MerchantLogin will be the "Store Number" provided by Linkpoint. This gateway requires a client certificate, which can be set using the SSL Certificate fields. Void transactions with this gateway require a transaction timestamp. This timestamp can be retrieved from the original AuthOnly response through the GetResponseVar; method. Example:
icharge.AuthOnly();
String tdate = icharge.GetResponseVar("/root/r_tdate");
This value can be set for the VoidTransaction with the AddSpecialField method. Example:
icharge.AddSpecialField("tdate","YourDate");
icharge.VoidTransaction("TransactionId");
RecurringBilling Gateway Setup and Required Properties
This page contains the available methods, properties, and additional setup information for each gateway.
Please note: All date formats must be entered in the format specified via the DateFormat configuration setting. The default format is "MM/dd/yyyy".
ACH Payments (gwACHPayments)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate, InitialAmount
PaymentSchedule Formats:
Field | Values |
InitialAmount | Specifies the initial transaction amount. If a RecurAmount is specified, this amount will not count towards the specified TotalPayments. |
RecurAmount | Specifies the amount of the recurring transactions if different from the initial transaction fee (InitialAmount). |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | Number of recurring payments. |
Frequency | The billing frequency. Possible values are:
|
TransactionAmount is required to be specified. If an initial fee is not desired, PaymentSchedule can be adjusted to account for the initial charge or the transaction can be voided (using the ICharge component) later (as the recurring schedule will remain in place unless explicitly canceled).
Authorize.NET AIM (gwAuthorizeNet)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
The supported PaymentSchedule fields are: RecurAmount, FrequencyUnit, Frequency, TotalPayments, StartDate, InitialAmount, TrialPayments
PaymentSchedule Formats:
Field | Values |
FrequencyUnit | The unit of time. Possible values are:
|
Frequency | The length of time between charges. If FrequencyUnit is "Days", valid values are between 7 and 365. If FrequencyUnit is "Months", valid values are between 1 and 12. |
InitialAmount | The amount to be charged for each payment during a trial period. |
RecurAmount | The amount to be billed to the customer for each payment in the subscription. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of payments. Set this to "9999" to submit a subscription with no end date. |
TrialPayments | The number of trial payments. If specified, this number must be included in TotalPayments. |
Note: If the StartDate is the 31st, and FrequencyUnit is set to "Months", the billing date is the last day of each month (even when the month does not have 31 days).
Method Notes:UpdateSubscription
- The subscription start date (StartDate) may only be updated if no successful payments have been completed.
- The subscription interval information (FrequencyUnit and Frequency) may not be updated.
- The number of trial occurrences (TrialPayments) may only be updated if the subscription has not yet begun or is still in the trial period.
Authorize.NET CIM (gwAuthorizeNetCIM)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
This gateway is used to manage profiles within Authorize.NET's Customer Information Manager (CIM) system.
Each customer profile contains one or more payment profiles (card/bank and billing information) and shipping addresses. When creating a profile, both a payment profile and shipping address can be specified at the time of creation (by setting the appropriate properties). Each of these profile types has it's own ID. The Profile ID will be returned via Response, the Payment Profile ID will be returned via the AuthNetCIMPaymentProfileId config, and the Shipping Address ID will be returned via the AuthNetCIMShippingAddressId config.
The AuthNetCIMRequestType config is used to specify the profile request type to perform an operation on: Profile, Payment Profile, or Shipping Address. Additional Payment Profiles and Shipping Addresses can be added by setting the appropriate AuthNetCIMRequestType and calling the CreateSubscription method. Note when creating additional Payment Profiles and Shipping Addresses, the Profile ID you wish to add them to must be specified via SubscriptionName.
Profiles, Payment Profiles and Shipping Addresses can also be updated (UpdateSubscription), deleted (CancelSubscription), and retrieved (GetSubscriptionStatus) by setting the appropriate AuthNetCIMRequestType value. When performing these operations, the Profile ID must be specified via the "SubscriptionId" method parameter and the Payment Profile ID or Shipping Address ID must be specified via the AuthNetCIMPaymentProfileId config or AuthNetCIMShippingAddressId config (respectively).
When GetSubscriptionStatus is called for a Profile ("AuthNetCIMRequestType" set to '0'), it is possible for multiple Payment Profiles and Shipping Addresses to be returned in the response. To navigate through these multiple profiles, the following configs will be populated: AuthNetCIMPaymentProfileCount, AuthNetCIMPaymentProfileIndex, AuthNetCIMShippingAddressCount, and AuthNetCIMShippingAddressIndex. Please refer to the "Configuration" page for further information regarding these configuration settings.
Note: When GetSubscriptionStatus is called for a Profile ("AuthNetCIMRequestType" set to '0'), it is acceptable to pass an email address instead of a Profile ID for the "SubscriptionID" method parameter, as long as each profile has a unique email address associated with it.
BASYS Gateway (gwBASYS)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
"MerchantCode" configuration setting must also be set. This may also be called Merchant ID, Merchant Number, or RPNum.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Other fields can also be set by calling AddSpecialField.
When creating a Payment Schedule by setting the "BASYSRequestType" configuration setting to 3, the "BASYSContractID", "BASYSNextBillingDate", and "BASYSPaymentType" must be set as well.
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
RecurAmount | The amount to be charged with each recurring payment. To be represented as cents with a decimal point. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
EndDate | The end date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
BASYSNextBillingDate | The next billing date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
Note: If the StartDate is the 31st, and FrequencyUnit is set to "Monthly", the billing date is the last day of each month (even when the month does not have 31 days).
Each Customer Profile contains one or more "sub profiles" which are tied to the customer via a unique Customer Key generated by BASYS Gateway. Each sub profile has its own key which is returned by BASYS at the time the customer record is created.
The first step towards successfully storing and initiating recurring payments is to create the customer profile and get the unique Customer Key. The "BASYSRequestType" configuration setting is used to specify the profile request type to perform an operation on: Customer Profile, Credit Card Profile, Bank Account Profile, PaymentSchedule etc... First set the "BASYSRequestType" configuration setting to 0 (Default) to create a Customer Profile and get the Customer Key via Response.
A separate request must be sent for each sub profile by setting the "BASYSRequestType" configuration setting. Note that for each subsequent request the "BASYSCustomerKey" configuration setting must be set to the Customer Key obtained from the first step. The other profile Ids will be returned via the "BASYSCardInfoKey", "BASYSCheckInfoKey", and "BASYSContractKey", configuration settings.
A token can also be requested for this Gateway by setting the "BASYSRequestType" configuration setting to 5. After a successful request "BASYSToken" configuration setting will contain the generated token.
This Gateway does not provide a way to retrieve profile information.
When modifying a customer by calling UpdateSubscription, or CancelSubscription the Customer Key value must be passed as the SubscriptionId parameter.
This Gateway does not have a test URL. Transactions will be processed using the production server.
UpdateSubscription Method Notes:
IMPORTANT NOTE: It is very important to understand that when updating a Customer Profile, Credit Card Profile, Bank Account Profile or Payment Schedule by calling UpdateSubscription method, any values that are left "NULL" will overwrite existing data with a "NULL" value. If the desired request is to simply update the next billing date, set the "BASYSRequestType" configuration setting to 4 and call UpdateSubscription method by passing the amount of days you want to add to the next billing day via the "BASYSNumberOfDays" configuration setting.
Bambora / Beanstream (gwBambora)
Supported Methods:
Payment Methods Supported: Manually Entered Cards
MerchantLogin and MerchantPassword are required properties.
Amounts can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, FrequencyUnit, Frequency, StartDate, EndDate
PaymentSchedule Formats:
Field | Values |
EndDate | The date that the recurring billing account will expire. If no value is passed the account will continue charging the customer indefinitely until manually closed. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
FrequencyUnit | The unit of time. Possible values are:
|
Frequency | The length of time between charges. This is used in combination with FrequencyUnit to specify the frequency of the billing. |
RecurAmount | The amount to be billed to the customer for each payment in the subscription. |
StartDate | The first billing date. If no value is passed, the first billing date will default to the date of the transaction request. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
The following fields may be added when calling CreateSubscription by first calling the AddSpecialField method:
Special Field | Values |
rbEndMonth | Set this variable to "1" to charge a customer on the last day of the month (FrequencyUnit must be "M"). |
rbCharge | Set to "0" to delay the first charge until the StartDate date. If this parameter is not passed, the customer"s account will be billed the RecurAmount on the date of the transaction request. |
rbSecondBilling | Use this field in combination with StartDate to prorate a first payment. The second billing date will mark the start of the regular billing schedule. The first customer payment will be prorated based on the difference between the first and second billing date. All subsequent billing intervals will be counted after this date. This value must be formatted as MMDDYYYY. |
The following fields may be added when calling UpdateSubscription by first calling the AddSpecialField method:
Special Field | Values |
rbBillingState | Changes the state of the account. Possible values are:
|
rbBillingEndMonth | Specifies whether the account is billed on the last day of the month. This applies to all occurrences. Possible values are:
|
rbNeverExpires | Specifies whether the account expires. Possible values are:
|
rbSecondBilling | This is the date of the second charge against the customer"s recurring billing account. The second billing date will be automatically updated to reflect one full billing period after the First Billing date. Use this field to process the second charge at a date outside of the regular schedule and pro-rate the first payment. All subsequent payments will be scheduled at regular increments after the second billing date. This value must be formatted as MMDDYYYY. |
MerchantLogin is used to specify the "merchant_id" and must be specified for all transaction types. When performing a CreateSubscription transaction, MerchantPassword is used to set the "password" and the "BamboraUsername" config must be set to the "username" value. When performing a UpdateSubscription, CancelSubscription, or GetSubscriptionStatus; MerchantPassword is used to set the Recurring Billing API "passcode" value.
BlueSnap (gwBlueSnap)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
TestMode is supported and when set to "True" vaulted shoppers can be created and updated using a sandbox account.
This gateway is used to manage BlueSnap Vaulted Shopper profiles only. For more information about how BlueSnap's vaulted shopper profiles works, please refer to BlueSnap's Payment API JSON documentation.
Working with BlueSnap vaulted shoppers is a complex topic, and there's a lot of information associated with it. Some basic information is available below, but we recommend referring to the Working with BlueSnap Vaulted Shoppers KB article (#08311701) on our website for detailed usage steps, code examples, and more.
In general, you use the BlueSnapRequestType and BlueSnapVaultedShopperId configuration settings to determine what portion of a specific vaulted shopper's information you wish to work with (basic information, Card payment sources, or the ECheck payment source). Refer to the documentation for those settings, as well as the KB article linked above, for more details.
The following tables list the currently supported BlueSnap JSON API request fields, and show what the RecurringBilling equivalent is.
When Creating, Retrieving, or Updating a Vaulted Shopper's Basic Information:
BlueSnap Field Name | RecurringBilling Equivalent |
address, address2, city, country, email, firstName,lastName, merchantShopperId, phone, state, and zip fields | Customer property. |
companyName | CompanyName configuration setting. |
personalIdentificationNumber | Special field personalIdentificationNumber. |
shippingContactInfo object fields | ShippingInfo property. |
shopperCurrency | CurrencyCode configuration setting. |
vendorInfo object fields | Special fields vendorId, commissionPercent, and commissionAmount. |
walletId | Special field walletId. |
When Adding, Retrieving, or Updating a Payment Source for a BlueSnap Vaulted Shopper:
BlueSnap Field Name | RecurringBilling Equivalent |
companyName (when adding/updating ECheck) | CompanyName configuration setting. |
paymentSources.creditCardInfo.creditCard object fields | Card property, or special field cardLastFourDigits and the CardType configuration setting. (If you wish to send encrypted card number and security code data, set the ValidateCardNumber configuration setting to False first.) |
paymentSources.creditCardInfo.pfToken | Special field pfToken. |
paymentSources.ecpInfo.ecp object fields | AccountNumber, RoutingNumber, AccountClass, and AccountType properties. |
paymentSources.[creditCardInfo|ecpInfo].billingContactInfo object fields | Customer property, and special field personalIdentificationNumber. |
softDescriptor (when adding/updating a card) | Special field softDescriptor. |
transactionFraudInfo object fields | Special fields fraudSessionId, company, and enterpriseSiteId, and the PayerIP configuration setting. |
transactionFraudInfo.enterpriseUdfs content | BlueSnapEnterpriseUdfs configuration setting. |
transactionFraudInfo.shippingContactInfo object fields | ShippingInfo property. |
Chase (gwChase)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards
MerchantLogin is a required property. MerchantPassword is not applicable.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, FrequencyUnit, Frequency, TotalPayments, StartDate
PaymentSchedule Formats:
Field | Values |
FrequencyUnit | The unit of time. Possible values are:
|
Frequency | The length of time between charges. This is used in combination with FrequencyUnit to specify the frequency of the billing. Valid values are between 1 and 99. For example: A FrequencyUnit of "M" and a Frequency of "3" will cause a payment to occur every 3 months. |
RecurAmount | The total dollar amount to be charged with each recurring transaction. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of recurring payments to charge the customer. Valid values are between 0 and 99. |
The MerchantLogin value is the "Store Number" provided by Chase. This gateway requires a client certificate, which can be set using the SSL Certificate fields.
Converge (gwConverge)
Supported Methods:
Payment Methods Supported: Manually Entered Cards
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, StartDate
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
Set MerchantLogin to the "ssl_merchant_id" provided by Converge. Set MerchantPassword to the "ssl_merchant_pin". If provided with a "ssl_user_id", set the "MyVirtualMerchantUserId" configuration setting via the Config method.
CyberSource (gwCyberSource)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin is a required property. MerchantPassword is not applicable.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate, EndDate, InitialAmount
PaymentSchedule Formats:
Field | Values |
EndDate | The end date for the installment subscription. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
InitialAmount | The initial (setup) amount to be charged. |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date for an installment or recurring subscription. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | When calling Create this is the total number of payments for the duration of the installment subscription. When calling Update this is the number of payments to add to an existing installment subscription. |
Frequency | The billing frequency. Possible values are:
|
eProcessing (gwEprocessing)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate, InitialAmount
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
InitialAmount | The initial amount to charge. |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of payments. Set this to "0" to submit a subscription with no end date. |
Eway (gwEway)
Supported Methods:
Payment Methods Supported: Manually Entered Cards
MerchantLogin and MerchantPassword are required properties.
Amounts are required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, FrequencyUnit, Frequency, StartDate, EndDate, InitialAmount
PaymentSchedule Formats:
Field | Values |
EndDate | The end date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
FrequencyUnit | The unit of time. Possible values are:
|
Frequency | The length of time between charges. This is used in combination with FrequencyUnit to specify the frequency of the billing. Valid values are between 1 and 31 only. |
InitialAmount | The initial amount to charge. |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
To specify the date on which InitialAmount will be charged set EwayInitialDate.
MerchantLogin is the eWay Username, MerchantPassword is the eWay Password, and the EwayCustomerId setting is the Customer Id value for the eWay account.
The EwayTransactionType configuration setting is used to specify whether to perform Customer or Recurring transactions.
Create a Customer
A customer must be created before a recurring transaction (Event Rebill) can be created. To create a customer set EwayTransactionType to "1" (Customer) and call CreateSubscription. The customer Id is returned in Response.
When modifying a customer by calling UpdateSubscription, CancelSubscription, or GetSubscriptionStatus, the customer Id value must be passed as the SubscriptionId parameter.
The GetSubscriptionStatus method will populate Customer and CompanyName when called and EwayTransactionType is set to 1 (Customer).
Create a Recurring Transaction
A customer must be created before creating a recurring transaction. Before creating a recurring transaction TransactionId must be set to the customer Id. To create a recurring transaction set EwayTransactionType to "0" (Rebill Event) and call CreateSubscription.
When updating both Customers and Recurring Transactions, existing details must be specified. Details can be retrieved for each EwayTransactionType by calling GetSubscriptionStatus.
First Data (gwFirstData)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards
MerchantLogin is a required property. MerchantPassword is not applicable.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, FrequencyUnit, Frequency, TotalPayments, StartDate
PaymentSchedule Formats:
Field | Values |
FrequencyUnit | The unit of time. Possible values are:
|
Frequency | The length of time between charges. This is used in combination with FrequencyUnit to specify the frequency of the billing. Valid values are between 1 and 99. For example: A FrequencyUnit of "M" and a Frequency of "3" will cause a payment to occur every 3 months. |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of recurring payments to charge the customer. Valid values are between 0 and 99. |
The MerchantLogin value will be the "Store Number" provided by First Data. This gateway requires a client certificate, which can be set using the SSL Certificate fields.
First Data PayPoint (gwFirstDataPayPoint)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, StartDate, EndDate
PaymentSchedule Formats:
Field | Values |
EndDate | The end date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
Frequency | The frequency in which the payments should occur. Valid values are: Daily, Monthly, and Annually. This value is used in conjunction with the IntervalParam* special fields. |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
There are four IntervalParam SpecialField values (IntervalParam1, IntervalParam2, IntervalParam3, IntervalParam4) that can be set using AddSpecialField method to specify more defined the payment intervals. Please see the First Data PayPoint specifications for further details on these fields.
Nuvei / GlobalOnePay (gwNuvei)
Supported Methods:
Authentication with Nuvei is performed by providing the TerminalId and HashSecret.
This component can be used to manage tokens that can be used by the ICharge component.
Nuvei tokens have a unique name chosen by the merchant in addition to the token itself. The name for the token must be specified by the SubscriptionName field when creating a token. When updating, searching for, or deleting a token, its name should be passed in the SubscriptionId parameter of the method.
The token itself will be returned in the Response.SubscriptionId field of the response. When using the token in a request from ICharge, this is the value that should be placed in the CardToken configuration setting. This value must also be placed in the CardToken configuration setting when deleting the token.
When creating or updating a token, the NuveiPermittedTerminals configuration setting can be used to specify the terminals that are authorized to use the token.
Note: When Nuvei is chosen as the gateway it defaults to the testing URL. The live URL is provided by Nuvei after testing is complete.
OmniFund / GoToBilling (gwOmniFund)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of payments. Any integer value represents the number of occurrences left for this particular subscription. If not provided, and Frequency is not "None", the transaction will repeat indefinitely. |
The OmniFundTransactionType configuration setting is used to specify whether to perform Customer, Account, or Recurring transactions.
Create a Customer
A customer must be created before an account or recurring transaction can be created. To create a customer set OmniFundTransactionType to "0" (Customer) and call CreateSubscription. The customer Id is returned in Response.
When modifying a customer by calling UpdateSubscription, CancelSubscription, or GetSubscriptionStatus, the customer Id value must be passed as the SubscriptionId parameter.
The following fields may be added when calling CreateSubscription by first calling the AddSpecialField method:
Special Field | Values |
"display_as" | Possible values are:
|
"active" | Possible values are:
|
"hidden" | Possible values are:
|
Create an Account
An account must be created before a recurring transaction can be created. A customer must already be created before creating an account. After a customer is created, an Account can then be created. Before creating an account Customer must be set to the customer Id. To create an account set OmniFundTransactionType to "1" (Account) and call CreateSubscription. The account Id value will be returned in the Response field.
When modifying an account by calling UpdateSubscription, CancelSubscription, or GetSubscriptionStatus, the account Id value must be passed as the SubscriptionId parameter.
The following fields may be added when calling CreateSubscription by first calling the AddSpecialField method:
Special Field | Values |
"enabled" | Possible values:
|
Create a Recurring Transaction
A customer and account most both already be created before a recurring transaction can be created. After both a customer and an account are created, a Recurring Transaction can then be created. Before creating a recurring transaction Customer) must be set to the customer Id, and TransactionId must be set to the account Id. To create a recurring transaction set OmniFundTransactionType to "2" (Recurring Transaction) and call CreateSubscription. The transaction Id value will be returned in the Response field.
When modifying a recurring transaction by calling UpdateSubscription, or CancelSubscription, the transaction Id value must be passed as the SubscriptionId parameter.
The following fields may be added when calling CreateSubscription by first calling the AddSpecialField method:
Special Field | Values |
"is_corporate" | Possible values are:
|
"po_number" | The PO number; required if is_corporate is true |
"sales_tax" | The sales tax |
"sales_tax_type" | Required if sales_tax is specified |
"customer_int" | Possible values are:
|
"process" | Possible values are:
|
ITransact (gwITransact)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards, EChecks
MerchantLogin is a required property. MerchantPassword is not applicable.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, InitialAmount
PaymentSchedule Formats:
Field | Values |
Frequency | This field is used to specify the Recurring Recipe created within the merchant interface. |
InitialAmount | This field is used to specify an initial amount and can also be used as the recurring amount if RecurAmount is not specified. |
RecurAmount | This field is specified when the recurring amount is different than the InitialAmount used to initiate the transaction. |
TotalPayments | The largest allowed value is "99999". |
LinkPoint (gwLinkPoint)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards
MerchantLogin is a required property. MerchantPassword is not applicable.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, FrequencyUnit, Frequency, TotalPayments, StartDate
PaymentSchedule Formats:
Field | Values |
FrequencyUnit | The unit of time. Possible values are:
|
Frequency | The length of time between charges. This is used in combination with FrequencyUnit to specify the frequency of the billing. Valid values are between 1 and 99.For example: A FrequencyUnit of "m" and a Frequency of "3" will cause a payment to occur every 3 months. |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of recurring payments to charge the customer. Valid values are between 0 and 99. |
The MerchantLogin value is the "Store Number" provided by Linkpoint. This gateway requires a client certificate, which can be set using the SSL Certificate fields.
Litle (gwLitle)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards
MerchantLogin and MerchantPassword are required properties.
Amounts are required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate, InitialAmount, TrialPayments
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
InitialAmount | Used to specify an initial amount (setup fee). |
RecurAmount | Used to specify a default amount when creating a Plan or used to override the default plan amount when creating a Subscription. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | Number of recurring payments to charge the customer. Valid values are between 0 and 99. |
TrialPayments | Number of trial payments to charge the customer. Valid values are between 0 and 99. |
This gateway also requires that the MerchantCode configuration be set with the Merchant Id supplied by Litle.
The LitleTransactionType configuration setting is used to specify whether to perform a Plan or Subscription transaction.
Create a Plan
To create a plan set LitleTransactionType to "0" and call CreateSubscription. TransactionId may be set before creating the Plan to specify the PlanCode. The PlanCode is an identifier for the plan, for instance "1_Year_Monthly".
Create a Subscription
To create a subscription set LitleTransactionType to "1" and call CreateSubscription. The special field "authType" may be added before creating the subscription using the AddSpecialField method. Possible values for the "authType" special field are:
"sale" | Default |
"authorization" | Auth only |
Merchant Anywhere (gwMerchantAnywhere)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of payments. Set this to "0" to indicate an infinite number (no end). |
Set MerchantPassword to the "RegKey" value provided by Merchant Anywhere.
Merchant Partners (gwMerchantPartners)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate, InitialAmount
PaymentSchedule Formats:
Field | Values |
InitialAmount | The initial payment amount. |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The number of days after an initial payment when the recurring payments will start. |
TotalPayments | The total number of payments. Set this to "-1" to indicate an infinite number (no end). Set this to "0" to indicate no recurring billing. |
Frequency | The billing frequency. Possible values are:
|
The MerchantPartnersLast4Digits configuration setting must be set when calling UpdateSubscription, CancelSubscription, or GetSubscriptionStatus.
Note: To send encrypted card data, the "ValidateCardNumber" configuration setting must be set to 'False' prior to setting the Card data (using either the Number of the MagneticStripe property). You will also need to set the "MerchantPartnersReaderType" configuration setting the value corresponding to the card reader being used.
Moneris Canada (gwMoneris)
Supported Methods:
Payment Methods Supported: Manually Entered Cards
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, FrequencyUnit, Frequency, TotalPayments, StartDate, InitialAmount
PaymentSchedule Formats:
Field | Values |
FrequencyUnit | The unit of time. Possible values are:
|
Frequency | The length of time between charges. This is used in combination with FrequencyUnit to specify the frequency of the billing. Valid values between 0 and 999. For example: A FrequencyUnit of "M" and a Frequency of "3" will cause a payment to occur every 3 months. |
InitialAmount | Used to specify an initial amount (setup fee). |
RecurAmount | This is the amount that will be billed on the StartDate and every interval thereafter. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of payments. Valid values are between 1 and 99. |
To charge funds immediately call AddSpecialField
and set the "start_now" field to "True". For instance:
RecurringBilling1.AddSpecialField("start_now","True");
When this field is set to "True"
PaymentSchedule can be set to bill an amount different than
PaymentSchedule. The default value of "start_now" is "False".
Moneris USA (gwMonerisUSA)
Supported Methods:
Payment Methods Supported: Manually Entered Cards
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, FrequencyUnit, Frequency, TotalPayments, StartDate, InitialAmount
PaymentSchedule Formats:
Field | Values |
FrequencyUnit | The unit of time. Possible values are:
|
Frequency | The length of time between charges. This is used in combination with FrequencyUnit to specify the frequency of the billing. Valid values between 0 and 999. For example: A FrequencyUnit of "M" and a Frequency of "3" will cause a payment to occur every 3 months. |
InitialAmount | Used to specify an initial amount (setup fee). |
RecurAmount | This is the amount that will be billed on the StartDate and every interval thereafter. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of payments. Valid values are between 1 and 99. |
To charge funds immediately call AddSpecialField
and set the "start_now" field to "True". For instance:
RecurringBilling1.AddSpecialField("start_now","True");
When this field is set to "True"
PaymentSchedule can be set to bill an amount different than
PaymentSchedule. The default value of "start_now" is "False".
My Virtual Merchant (gwMyVirtualMerchant)
Supported Methods:
Payment Methods Supported: Manually Entered Cards
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, StartDate
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
Set MerchantLogin to the "ssl_merchant_id" provided by My Virtual Merchant. Set MerchantPassword to the "ssl_merchant_pin". If provided with a "ssl_user_id", set the "MyVirtualMerchantUserId" configuration setting via the Config method.
Network Merchants (gwNetworkMerchants)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards
MerchantLogin and MerchantPassword are required properties.
Amounts can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: StartDate
PaymentSchedule Formats:
Field | Values |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
NexCommerce (gwNexCommerce)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards, EChecks
MerchantLogin is a required property. MerchantPassword is not applicable.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, InitialAmount
PaymentSchedule Formats:
Field | Values |
Frequency | This field is used to specify the Recurring Recipe created within the merchant interface. |
InitialAmount | This field is used to specify an initial amount and can also be used as the recurring amount if RecurAmount is not specified. |
RecurAmount | This field is specified when the recurring amount is different than the InitialAmount used to initiate the transaction. |
TotalPayments | The total number of payments. The maximum value is "99999". |
Orbital (gwOrbital)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts are required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate, EndDate
PaymentSchedule Formats:
Field | Values |
EndDate | The end date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
Frequency | This field takes a value based on a subset of a standard CRON expression comprising 3 fields separated by white space. Please refer to the gateway specifications for further details. |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | This value defines the maximum number of billings that will be allowed for a recurring billing cycle. Valid values are between 1 and 999999. |
End Conditions
The recurring transactions will continue until one of three end conditions is met.
- If EndDate is set, this specifies the end date.
- If TotalPayments is set, this specifies the total number of transactions, after which recurring transactions will stop.
- If AddSpecialField is used to set "MBRecurringNoEndDateFlag" to "Y", this will result in no end date (infinite recurrences).
Only one of the three end conditions may be specified when calling CreateSubscription. When calling UpdateSubscription end conditions may also be updated and changed. To update the end condition of a recurring transaction, any previously set end conditions that will no longer be used must be cleared.
- To clear EndDate, set a value of "~" (tilde).
- To clear TotalPayments, set a value of "-1".
- To clear the "MBRecurringNoEndDateFlag" special field, use AddSpecialField to set a value of "N".
Profile Management
To manage a profile without recurring billing features
use the AddSpecialField
to set the "MBType" special field to "" (empty string). For instance:
RecurringBilling1.AddSpecialField("MBType","");
This will notify Orbital that the transaction is not a managed billing transaction.
PayFlow Pro (gwPayFlowPro)
Supported Methods:
Payment Methods Supported: Manually Entered Cards
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate, InitialAmount
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
TotalPayments | Number of payments to be made over the life of the agreement. A value of 0 means that payments should continue until the profile is deactivated. |
InitialAmount | Defines an amount of an optional transaction (such as an initial fee). This is only applicable when AddSpecialField is used to set the "OPTIONALTRX" special field to "S". |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
The default "Partner" special field is set to "PayPal".
If necessary this value may be set to a different value such as "Verisign" like so:
RecurringBilling1.SpecialFields[1].Value="Verisign";
If the User Id and Vendor Id (Merchant Login Id) are different,
set MerchantLogin to the Vendor Id
and add the User Id like so:
RecurringBilling1.AddSpecialField("USER","User Id Value").
Forte (gwForte)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate, InitialAmount
PaymentSchedule Formats:
Field | Values |
InitialAmount | Specifies the initial transaction amount. If a RecurAmount is specified, this amount will not count towards the specified TotalPayments. |
RecurAmount | Specifies the amount of the recurring transactions if different from the initial transaction fee (InitialAmount). |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of recurring payments. |
Frequency | The billing frequency. Possible values are:
|
TransactionAmount must be specified. If an initial fee is not desired, PaymentSchedule can be adjusted to account for the initial charge or the transaction can be voided (using the ICharge component) later. The recurring schedule will remain in place until explicitly canceled.
Payment WorkSuite [3DSI] (gwPaymentWorkSuite)
Supported Methods:
Payment Methods Supported: Manually Entered Cards
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
This gateway is used to communicate with the Payment WorkSuite CardVault service to store customer and credit card information.
The PaymentWorkSuiteTransactionType configuration setting specifies whether to perform Stored Credit Card or Customer transactions.
Create a Stored Credit Card
A stored credit card transaction is used to store credit card information on the Payment WorkSuite CardVault server. Once a credit card is successfully stored, the server will return a token that corresponds to the credit card. This token value replaces the credit card information and thus can be used to perform transactions. Using tokens is more secure and reduces PCI scope than using live credit card data for every transaction.
Before creating a stored credit card entry CustomerId must be set to the customer code that the card will be associated with. To create a stored credit card entry set PaymentWorkSuiteTransactionType to "0" (Stored Credit Card) and call CreateSubscription.
When modifying a stored credit card entry by calling UpdateSubscription or CancelSubscription, the customer code must be set via CustomerId and the Token value must be passed as the SubscriptionId parameter.
Create a Customer
A customer transaction is used to store customer information on the Payment WorkSuite CardVault server. Customer information includes billing and shipping information, contact information, as well as credit cards associated with the customer.
Before creating a customer entry CustomerId must be set to a unique customer code. To create a customer entry set PaymentWorkSuiteTransactionType to "1" (Customer) and call CreateSubscription.
When modifying a customer entry by calling UpdateSubscription or CancelSubscription, the customer code must be passed as the SubscriptionId parameter.
Payscape (gwPayscape)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards
MerchantLogin and MerchantPassword are required properties.
Amounts can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: StartDate
PaymentSchedule Formats:
Field | Values |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
Set SubscriptionName to the Plan or Product SKU that was added via the Merchant Control Panel.
PayTrace (gwPayTrace)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of times the recurring transaction should be processed. Set this to "999" to indicate an infinite number (no end). |
Set SubscriptionName to the Plan or Product SKU that was added via the Merchant Control Panel.
The PayTraceTransactionType configuration setting specifies whether to perform Customer or Recurring transactions.
Create a Customer
A customer must be created before a subscription can be created. To create a customer set PayTraceTransactionType to "0" (Customer) and call CreateSubscription. The customer Id is returned in TransactionId)
When modifying a customer by calling UpdateSubscription or CancelSubscription, the custom Id value must be passed as the SubscriptionId parameter.
Create a Recurring Payment
A customer must be created before creating a subscription. Before creating a subscription TransactionId must be set to the customer Id. To create a recurring transaction set PayTraceTransactionType to "1" (Recurring Payment) and call CreateSubscription.
PayWiser Gateway (gwPayWiser)
Supported Methods:
The PayWiserRequestType configuration setting is used to specify the request type (Create, Tokenize, etc.). The first step towards successfully storing and initiating recurring payments is to create a Recurring Plan and get the unique Recurring Plan Id. Set the PayWiserRequestType configuration setting to 0 (Default) to create a Recurring Plan and get the Recurring Plan Id via the Response property.
The next step after obtaining the Recurring Plan Id is to tokenize the Credit Card and get a Card Token. Set the PayWiserRequestType configuration setting to 1 to generate a Card Token and get the Token via PayWiserCardToken.
The next step is to Start a Recurring Payment by setting the PayWiserRequestType configuration setting to 2 and providing the Recurring Plan Id obtained from Step 1 and Card Token obtained from Step 2 via the PayWiserRecurringPlanId and PayWiserCardToken configuration settings respectively. For required properties and configuration settings please see below.
MerchantLogin and TransactionId are required properties. MerchantPassword is not applicable.
This gateway requires the use of a unique TransactionId.
When PayWiserRequestType configuration setting is set to 0 (Default), StatementText, StatementDescription and IsRecurring special fields must be set via the AddSpecialField method. For example:
recurring.AddSpecialField("StatementText", "StatementText");
recurring.AddSpecialField("StatementDescription", "StatementDescription");
// IsRecurring = True means undefined number of payments and no end date - payments are being made according to the defined schedule until recurring is terminated.
// IsRecurring = False means fixed number of payments and a known end date.
recurring.AddSpecialField("IsRecurring", "false");
If the PayWiserRetryPattern configuration setting is set, MaxRetryCount must also be set to a value different than 0 via the AddSpecialField method.
Also, the PayWiserPaymentHour configuration setting must be set when PayWiserRequestType configuration setting is set to 0.
TerminationReason must be set via the AddSpecialField method when PayWiserRequestType is set to 4 (TerminateRecurringPayment).
Other optional fields like InstallmentTotalValue and DownPaymentValue can also be set by calling AddSpecialField.
The TransactionAmount is required to be represented as cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway.
The "CurrencyCode" configuration setting is available for this gateway. The default value is "EUR".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
RecurAmount | The amount to be charged with each recurring payment. To be represented as cents without a decimal point. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
EndDate | The end date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | This field specifies the total number of payments that must be made to end the recurring billing. |
This Gateway does not provide a way to retrieve profile information.
PhoeniXGate Gateway (gwPhoeniXGate)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
"MerchantCode" configuration setting must also be set. This may also be called Merchant ID, Merchant Number, or RPNum.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Other fields can also be set by calling AddSpecialField.
When creating a Payment Schedule by setting the "PhoeniXGateRequestType" configuration setting to 3, the "PhoeniXGateContractID", "PhoeniXGateNextBillingDate", and "PhoeniXGatePaymentType" must be set as well.
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
RecurAmount | The amount to be charged with each recurring payment. To be represented as cents with a decimal point. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
EndDate | The end date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
PhoeniXGateNextBillingDate | The next billing date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
Note: If the StartDate is the 31st, and FrequencyUnit is set to "Monthly", the billing date is the last day of each month (even when the month does not have 31 days).
Each Customer Profile contains one or more "sub profiles" which are tied to the customer via a unique Customer Key generated by PhoeniXGate Gateway. Each sub profile has its own key which is returned by PhoeniXGate at the time the customer record is created.
The first step towards successfully storing and initiating recurring payments is to create the customer profile and get the unique Customer Key. The "PhoeniXGateRequestType" configuration setting is used to specify the profile request type to perform an operation on: Customer Profile, Credit Card Profile, Bank Account Profile, PaymentSchedule etc... First set the "PhoeniXGateRequestType" configuration setting to 0 (Default) to create a Customer Profile and get the Customer Key via Response.
A separate request must be sent for each sub profile by setting the "PhoeniXGateRequestType" configuration setting. Note that for each subsequent request the "PhoeniXGateCustomerKey" configuration setting must be set to the Customer Key obtained from the first step. The other profile Ids will be returned via the "PhoeniXGateCardInfoKey", "PhoeniXGateCheckInfoKey", and "PhoeniXGateContractKey", configuration settings.
A token can also be requested for this Gateway by setting the "PhoeniXGateRequestType" configuration setting to 5. After a successful request "PhoeniXGateToken" configuration setting will contain the generated token.
This Gateway does not provide a way to retrieve profile information.
When modifying a customer by calling UpdateSubscription, or CancelSubscription the Customer Key value must be passed as the SubscriptionId parameter.
This Gateway does not have a test URL. Transactions will be processed using the production server.
UpdateSubscription Method Notes:
IMPORTANT NOTE: It is very important to understand that when updating a Customer Profile, Credit Card Profile, Bank Account Profile or Payment Schedule by calling UpdateSubscription method, any values that are left "NULL" will overwrite existing data with a "NULL" value. If the desired request is to simply update the next billing date, set the "PhoeniXGateRequestType" configuration setting to 4 and call UpdateSubscription method by passing the amount of days you want to add to the next billing day via the "PhoeniXGateNumberOfDays" configuration setting.
Planet Payment (gwPlanetPayment)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, FrequencyUnit, Frequency, TotalPayments, StartDate, EndDate, InitialAmount
PaymentSchedule Formats:
Field | Values |
EndDate | The end date. This is only applicable when TotalPayments is not set. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
FrequencyUnit | The unit of time. Possible values are:
|
Frequency | The length of time between charges. This is used in combination with FrequencyUnit to specify the frequency of the billing. |
InitialAmount | Specifies the initial amount which will override the amount specified in RecurAmount for the first billing cycle only. |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | This field specifies the total number of payments that must be made to end the recurring billing. |
This gateway requires that the TerminalId configuration setting be set. Set MerchantLogin to the company KEY. Set MerchantPassword to the PIN.
PlugNPay (gwPlugNPay)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, TotalPayments, StartDate, EndDate
PaymentSchedule Formats:
Field | Values |
EndDate | The end date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of payments. Set this to "0" if no rebilling is desired. |
This gateway requires that SubscriptionName be set to the Customer's Username (which will be used to identify the customer and perform subsequent transactions). The CustomerPassword configuration setting may optionally be set to a customer password.
PRIGate (gwPRIGate)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of payments. Set this to "0" to indicate an infinite number (no end). |
Set MerchantPassword to the "RegKey" provided by PRIGate.
QuickBooks Merchant Services (gwQBMS)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, StartDate, EndDate
PaymentSchedule Formats:
Field | Values |
Frequency | Describes how often to process the scheduled payment. This can be a simple integer that defines the number of days between payments (i.e. "15" for every 15 days starting on StartDate), or it can be a more complex expression. Please see the QBMS specifications for details on the expression language and format. |
EndDate | The end date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The current day is not valid. The earliest day that can be set is tomorrow. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
Customer is required for all transactions.
Set MerchantLogin to the Application Name. Set MerchantPassword to the Connection Ticket.
Create a Wallet
A wallet must be created before a scheduled billing event. To create a wallet set QBMSTransactionType to "0" (Wallet) and call CreateSubscription. The wallet Id is returned in Response
When modifying a customer by calling UpdateSubscription, CancelSubscription, or GetSubscriptionStatus, the wallet Id must be passed as the SubscriptionId parameter.
Create a Scheduled Billing Event
A wallet must be created before creating a scheduled billing event. Before create a scheduled billing event set TransactionId to the wallet Id. To create a scheduled billing event set QBMSTransactionType to "1" (scheduled billing event) and call CreateSubscription.
The scheduled billing Id is returned in Response . When modifying a scheduled billing event by calling UpdateSubscription, CancelSubscription, or GetSubscriptionStatus, the scheduled billing Id must be passed as the SubscriptionId parameter.
When creating or updating a scheduled billing event using a Check,
the "PaymentType" special field value must be set to "Check" by calling AddSpecialField.
For instance:
RecurringBilling1.AddSpecialField("PaymentType","Check");
The "ScheduledBillingStatus" special field can also be set by calling AddSpecialField. Possible values are:
- "WaitingForAuthorization"
- "Active"
- "Suspended"
- "Canceled"
Repay Gateway (gwRepay)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
"MerchantCode" configuration setting must also be set. This may also be called Merchant ID, Merchant Number, or RPNum.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
Other fields can also be set by calling AddSpecialField.
When creating a Payment Schedule by setting the "RepayRequestType" configuration setting to 3, the "RepayContractID", "RepayNextBillingDate", and "RepayPaymentType" must be set as well.
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
RecurAmount | The amount to be charged with each recurring payment. To be represented as cents with a decimal point. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
EndDate | The end date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
RepayNextBillingDate | The next billing date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
Note: If the StartDate is the 31st, and FrequencyUnit is set to "Monthly", the billing date is the last day of each month (even when the month does not have 31 days).
Each Customer Profile contains one or more "sub profiles" which are tied to the customer via a unique Customer Key generated by Repay Gateway. Each sub profile has its own key which is returned by Repay at the time the customer record is created.
The first step towards successfully storing and initiating recurring payments is to create the customer profile and get the unique Customer Key. The "RepayRequestType" configuration setting is used to specify the profile request type to perform an operation on: Customer Profile, Credit Card Profile, Bank Account Profile, PaymentSchedule etc... First set the "RepayRequestType" configuration setting to 0 (Default) to create a Customer Profile and get the Customer Key via Response.
A separate request must be sent for each sub profile by setting the "RepayRequestType" configuration setting. Note that for each subsequent request the "RepayCustomerKey" configuration setting must be set to the Customer Key obtained from the first step. The other profile Ids will be returned via the "RepayCardInfoKey", "RepayCheckInfoKey", and "RepayContractKey", configuration settings.
A token can also be requested for this Gateway by setting the "RepayRequestType" configuration setting to 5. After a successful request "RepayToken" configuration setting will contain the generated token.
This Gateway does not provide a way to retrieve profile information.
When modifying a customer by calling UpdateSubscription, or CancelSubscription the Customer Key value must be passed as the SubscriptionId parameter.
This Gateway does not have a test URL. Transactions will be processed using the production server.
UpdateSubscription Method Notes:
IMPORTANT NOTE: It is very important to understand that when updating a Customer Profile, Credit Card Profile, Bank Account Profile or Payment Schedule by calling UpdateSubscription method, any values that are left "NULL" will overwrite existing data with a "NULL" value. If the desired request is to simply update the next billing date, set the "RepayRequestType" configuration setting to 4 and call UpdateSubscription method by passing the amount of days you want to add to the next billing day via the "RepayNumberOfDays" configuration setting.
Skipjack (gwSkipjack)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards
MerchantLogin is a required property. MerchantPassword is not applicable.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate
PaymentSchedule Formats:
Field | Values |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of payments. Valid values are between 1 and 99. |
Frequency | The billing frequency. Possible values are:
|
Square (gwSquare)
Supported Methods:
Payment Methods Supported: Pre-Tokenized Cards
MerchantLogin is a required property.
This gateway is used to manage Square customer profiles only. For more information about how Square's customer profiles work, please refer to Square's Customers API documentation.
When the SquareRequestType configuration setting is set to 0 (default), the CreateSubscription and CancelSubscription methods are used to create and delete Square customer profiles.
When the SquareRequestType configuration setting is set to 1, the CreateSubscription and CancelSubscription methods are used to add and remove cards on an existing Square customer profile.
The GetSubscriptionStatus method is always used to retrieve all customer details and cards in a Square customer profile. Once retrieved, the SquareCustomerCardCount and SquareCustomerCardIndex configuration settings can be used to choose which saved card's details the component should be populated with.
UpdateSubscription method is always used to update the customer's information in an existing Square customer profile. (Square does not allow updating existing cards saved to a profile, cards can only be added and removed.) ALWAYS use GetSubscriptionStatus to retrieve the latest customer profile information before updating any customer details, any fields sent with empty values will be removed from the profile!
The following tables shows how various Square gateway request fields are represented in the component:
Customer Details:
Square Field Names | RecurringBilling Equivalent |
Square access token | MerchantLogin property. |
address object | ShippingInfo property's fields and special fields address.address_line_3, address.sublocality, address.sublocality_2, address.sublocality_3, address.administrative_district_level_2, and address.administrative_district_level_3. |
company_name | CompanyName configuration setting. |
customer_id | Customer.Id field. |
email_address | Customer.Email field. |
family_name | Customer.LastName field. |
given_name | Customer.FirstName field. |
nickname | Special field nickname |
note | SubscriptionDesc property. |
phone_number | Customer.Phone field. |
reference_id | InvoiceNumber property. |
Card Details:
Square Field Names | RecurringBilling Equivalent |
billing_address object | Customer property's fields (except those listed in the Customer Details table, above) and special fields billing_address.organization, billing_address.address_line_3, billing_address.sublocality, billing_address.sublocality_2, billing_address.sublocality_3, billing_address.administrative_district_level_2, and billing_address.administrative_district_level_3. |
card_nonce | CardToken configuration setting. |
cardholder_name | Customer.FullName field. |
customer_card_id | SquareCustomerCardId configuration setting. |
The following table shows which Square gateway response fields, when present, the component's API members reflect (note that most items in the tables above also apply, but are omitted for brevity):
ICharge API Members | Square Field Names |
Response.Code field. | HTTP status code |
Response.ErrorCode field. | errors[0].category |
Response.ErrorText field. | errors[0].field |
Response.ProcessorCode field. | errors[0].code |
Response.Text field. | errors[0].detail |
Notes:
- Important: Note that many of the Customer property's fields are used to represent card billing address details, while the ShippingInfo property's fields are used to represent the customer's physical address.
- Special fields can be added using the AddSpecialField method.
- When using the GetSubscriptionStatus, UpdateSubscription, and CancelSubscription methods, the subscriptionId method parameter is ignored.
Transaction Central (gwTransactionCentral)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of payments. Set this to "0" to indicate an infinite number (no end). |
Set MerchantPassword to the "RegKey" provided by Transaction Central.
TransNational Bankcard (gwTransNationalBankcard)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards
MerchantLogin and MerchantPassword are required properties.
Amounts can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: StartDate
PaymentSchedule Formats:
Field | Values |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
USAePay (gwUSAePay)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards, EChecks
MerchantLogin is a required property. MerchantPassword is not applicable.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate, InitialAmount
PaymentSchedule Formats:
Field | Values |
Frequency | The billing frequency. Possible values are:
|
InitialAmount | The initial or setup charge. |
RecurAmount | Sets the amount to charge on each cycle. If this field is left blank the InitialAmount will be used instead. This is NOT the "initial" charge or "setup" charge, this is only the "recurring" charge. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. . If set to "next", the date of the next billing cycle will be used. For example if today is 1/10/2004 and Frequency is set to "Monthly" then StartDate will be set to 2/10/2004. |
TotalPayments | The total number of payments. Set this "*" to indicate an infinite number (no end). |
Verifi (gwVerifi)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards
MerchantLogin and MerchantPassword are required properties.
Amounts can represented as either cents without a decimal point or dollars and cents with a decimal point. For example, a value of "100" would equate to "$1.00" while a value of "100.00" would equate to "$100.00" for this gateway.
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: StartDate
PaymentSchedule Formats:
Field | Values |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
WorldPay US Link (gwWorldPayLink)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is supported and when set to "True" test transactions can be sent using a live account that will not be captured and settled.
The supported PaymentSchedule fields are: RecurAmount, Frequency, TotalPayments, StartDate, InitialAmount
PaymentSchedule Formats:
Field | Values |
InitialAmount | The initial payment amount. |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The number of days after an initial payment when the recurring payments will start. |
TotalPayments | The total number of payments. Set this to "-1" to indicate an infinite number (no end). Set this to "0" to indicate no recurring billing. |
Frequency | The billing frequency. Possible values are:
|
The MerchantPartnersLast4Digits configuration setting must be set when calling UpdateSubscription, CancelSubscription, or GetSubscriptionStatus.
Note: To send encrypted card data, the "ValidateCardNumber" configuration setting must be set to 'False' prior to setting the Card data (using either the Number of the MagneticStripe property). You will also need to set the "MerchantPartnersReaderType" configuration setting the value corresponding to the card reader being used.
YourPay (gwYourPay)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards
MerchantLogin is a required property. MerchantPassword is not applicable.
Amounts should be represented as dollars and cents with a decimal point. For example, "1.00".
TestMode is not supported and when set to "True" an exception will be thrown by the component.
The supported PaymentSchedule fields are: RecurAmount, FrequencyUnit, Frequency, TotalPayments, StartDate
PaymentSchedule Formats:
Field | Values |
FrequencyUnit | The unit of time. Possible values are:
|
Frequency | The length of time between charges. This is used in combination with FrequencyUnit to specify the frequency of the billing. Valid values are between 1 and 99.For example: A FrequencyUnit of "m" and a Frequency of "3" will cause a payment to occur every 3 months. |
RecurAmount | The amount to be charged with each recurring payment. |
StartDate | The start date. The default format is "MM/dd/yyyy" and is controlled by DateFormat, or GetSubscriptionStatus. |
TotalPayments | The total number of recurring payments to charge the customer. Valid values are between 0 and 99. |
Set MerchantLogin to the "Store Number" provided by YourPay. This gateway requires a client certificate, which can be set using the SSL Certificate fields.
Testing Information
Many gateways have support for a test mode, whereby a live account may sent test transactions that will not be captured and settled by the gateway. This feature is available by setting the TestMode TestMode property to True. However, this feature is not supported by all gateways, and setting the TestMode to true for a Gateway that does not support the feature will cause the component to throws an exception. A list of Gateway which support the TestMode property are listed below:
- gwAuthorizeNet (1)
- gwUSAePay (7)
- gwPlanetPayment (9)
- gwMPCS (10)
- gwRTWare (11)
- gwECX (12)
- gwInnovative (14)
- gwTrustCommerce (19)
- gwPSIGate (20)
- gwPayFuse (21)
- gwLinkPoint (24)
- gwFirstData (33)
- gwYourPay (34)
- gwEway (38)
- gwTransFirst (40)
- gwChase (41)
- gwWorldPay (43)
- gwSterling (45)
- gwPaymentExpress (48)
- gwMyVirtualMerchant (49)
- gwPayLeap (57)
- gwHSBC (66)
- gwBluePay (67)
- gwPayTrace (70)
- gwOmniFund (73)
- gwAuthorizeNetXML (96)
- gwBlueSnap (104)
- gwPriorityPaymentSystems (109)
- gwPayTraceJSON (117)
In addition, many gateways support a test mode by changing the URL that is posted to. For these gateways, change the GatewayURL to point to a test server instead of a live server to process test transactions. A list of gateways that support test URLs (and the included URLs) follows:
Gateway | Test GatewayURL |
gwAuthorizeNet (1) | https://test.authorize.net/gateway/transact.dll |
gwIntellipay (3) | https://test.intellipay.net/LinkSmart/ |
gwPayFlowPro (6) | https://pilot-payflowpro.paypal.com |
gwPlanetPayment (9) | https://uap.txngw.com |
gwMerchantAnywhere (15) | https://web.cert.transfirst.com/ |
gwSkipjack (16) | https://developer.skipjackic.com/scripts/evolvcc.dll?AuthorizeAPI |
gw3DSI (18) | https://eclinxplus.3deltademo.com/secure/external/Transact.asp |
gwPSIGate (20) | https://dev.psigate.com:7989/Messenger/XMLMessenger |
gwPayFuse (21) | https://test5x.clearcommerce.com:11500 |
gwOrbital (23) | https://orbitalvar1.paymentech.net/authorize |
gwLinkPoint (24) | staging.linkpt.net:1129 (no https:// for this gateway) |
gwMoneris (25) - Canada | https://esqa.moneris.com/HPPDP/index.php
Moneris XML API: https://esqa.moneris.com/gateway2/servlet/MpgReques |
gwPRIGate (30) | https://web.cert.transfirst.com/ |
gwFirstData (33) | staging.linkpt.net:1129 (no https:// for this gateway) |
gwYourPay (34) | staging.linkpt.net:1129 (no https:// for this gateway) |
gwACHPAyments (35) | https://www.paymentsgateway.net/cgi-bin/posttest.pl |
gwPaymentsGateway (36) | https://www.paymentsgateway.net/cgi-bin/posttest.pl |
gwCyberSource (37) | https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/ |
gwEway (38) | Special Case: The component sets the test URLs when TestMode is True. |
gwChase (41) | staging.linkpt.net:1129 (no https:// for this gateway) |
gwTransactionCentral (44) | https://web.cert.transfirst.com/ |
gwSterling (45) | https://certify.securenet.com/API/Gateway.svc/wsHttp |
gwMyVirtualMerchant (49) | https://demo.myvirtualmerchant.com/VirtualMerchantDemo/process.do |
gwMonerisUSA (52) | https://esplusqa.moneris.com/usmpg/index.php
Moneris XML API: https://esplusqa.moneris.com/gateway_us/servlet/MpgRequest |
gwSagePay (55) | https://test.sagepay.com |
gwMerchantESolutions (56) | https://test.merchante-solutions.com/mes-api/tridentApi |
gwPayLeap (57) | https://uat.payleap.com/TransactServices.svc/ProcessCreditCard |
gwWorldPayXML (59) | https://secure-test.wp3.rbsworldpay.com/jsp/merchant/xml/paymentService.jsp |
gwProPay (60) | https://xmltest.propay.com/api/propayapi.aspx |
gwQBMS (61) | https://merchantaccount.ptc.quickbooks.com/j/AppGateway |
gwHeartland (62) | https://posgateway.cert.secureexchange.net/Hps.Exchange.PosGateway/PosGatewayService.asmx |
gwLitle (63) / Vantiv | https://cert.litle.com/vap/communicator/online
Vantiv: http://www.testlitle.com/sandbox/communicator/online |
gwJetPay (65) | https://test1.jetpay.com/jetpay |
gwHSBC (66) | https://www.uat.apixml.secureepayments.hsbc.com |
gwBluePay (67) | https://secure.bluepay.com/interfaces/bp20post |
gwAdyen (68) | https://pal-test.adyen.com/pal/servlet/soap/Payment |
gwBarclay (69) | https://secure2.mde.epdq.co.uk:11500 |
gwPayTrace (70) | https://paytrace.com/api/default.pay |
gwNetbanx (75) | https://webservices.test.optimalpayments.com/creditcardWS/CreditCardServlet/v1 |
gwMIT (76) | https://dev.mitec.com.mx |
gwDataCash (77) | https://testserver.datacash.com/Transaction |
gwACHFederal (78) | https://api.achfederal.com/webserviceSandbox/v2/gateway.asmx |
gwFirstDataE4 (80) | https://api.demo.globalgatewaye4.firstdata.com/transaction/v12 |
gwFirstAtlantic (81) | https://ecm.firstatlanticcommerce.com/PGServiceXML |
gwBluefin (82) | https://cert.payconex.net/api/qsapi/3.8 |
gwPayDirect (84) | https://paydirectapi.ca.link2gov.com/ |
gwFirstDataPayPoint (90) | https://apiuat.thepayplace.com/epay/epaywebservice.asmx |
gwPayvision (92) | https://testprocessor.payvisionservices.com/Gatewayv2/BasicOperationsService.svc |
gwConverge (93) | https://demo.myvirtualmerchant.com/VirtualMerchantDemo/process.do |
gwMonetra (95) | https://testbox.monetra.com:8665 |
gwAuthorizeNetXML (96) | https://apitest.authorize.net/xml/v1/request.api |
gwGlobalPayroll (99) | http://demo.gpgway.com/gateway/GPGCCProcess.aspx |
gwPayWiser (100) | https://gateway.paywiser.eu/PaymentGatewayTest/PayWiserPG/ |
gwNuvei (110) | https://testpayments.globalone.me/merchant/xmlpayment |
gwQBPayments (113) | https://sandbox.api.intuit.com |
gwShift4 (114) | https://utgapi.shift4test.com/api/rest/v1/ |
gwSquarePayments (115) | https://connect.squareupsandbox.com/v2 |
gwHeartlandPortico (116) | https://posgateway.cert.secureexchange.net/Hps.Exchange.PosGateway/PosGatewayService.asmx |
gwPayTraceJSON (117) | https://api.paytrace.com |
Any gateway that does not support the TestMode property or has an alternate GatewayURL will allow you to change your account to test mode via the online merchant interface, or via a separate test account.
Additional Test Environment Information
gwSagePay (55) | SagePay Simulator: https://test.sagepay.com/simulator
To use the simulator environment, you will need to set the following:
|