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 are required to be represented as 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 are required to be represented as 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 (gwAuthorizeNet)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts are required to be represented as 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.
Beanstream (gwBeanstream)
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 "BeanstreamUsername" 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.
Chase (gwChase)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards
MerchantLogin is a required property. MerchantPassword is not applicable.
Amounts are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 are required to be represented as 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.
GoToBilling (gwGoToBilling)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts are required to be represented as 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 GoToBillingTransactionType 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 GoToBillingTransactionType 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 GoToBillingTransactionType 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 GoToBillingTransactionType 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 are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 are required to be represented as 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").
Payments Gateway (gwPaymentsGateway)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, Swiped Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 setitng must also be set. This may also be called Merchant ID, Merchant Number, or RPNum.
Amounts are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 setitng must also be set. This may also be called Merchant ID, Merchant Number, or RPNum.
Amounts are required to be represented as 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 are required to be represented as 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:
|
Transaction Central (gwTransactionCentral)
Supported Methods:
Payment Methods Supported: Manually Entered Cards, EChecks
MerchantLogin and MerchantPassword are required properties.
Amounts are required to be represented as 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 are required to be represented as 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 are required to be represented as 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 are required to be represented as 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.