RecurringBilling Component
Properties Methods Events Configuration Settings Errors
The RecurringBilling component is used to authorize and set up recurring transactions with any of the supported Internet Payment Gateways.
Syntax
nsoftware.InPay.Recurringbilling
Remarks
The RecurringBilling component allows you to use multiple Internet Payment Gateways through one interface and one component. This allows for easy migration from one gateway to another, as well as quick integration into applications or web services.
RecurringBilling Gateway Setup and Required Properties
The RecurringBilling component allows your website to securely perform and setup recurring transactions without the need to redirect to a separate website. All transactions are accomplished through a secure HTTPS Post to any supported gateway. The secure response is received and then stored in the component's response properties. Any website or any stand-alone application can process transactions without the need for a secure server or third-party intervention.
Gateway Setup
The first thing you must do is select one of the many gateways supported by the RecurringBilling component, and set up an account with that gateway. Once you have an account set up with a valid (or test) login Id and password, you can use the RecurringBilling component.
To begin, set the Gateway property to the gateway you wish to use. If this gateway supports an alternate URL to send test transactions to, set the GatewayURL at this time.
Next, set the MerchantLogin (and for some gateways the MerchantPassword). These are supplied by your gateway vendor when you set up an account.
Many gateways have different setup requirements. See RecurringBilling Gateway Setup and Required Properties for details about each gateway's requirements.
Now you are ready to process transactions. For each transaction, you must set either Card or Bank. Most gateways will also require additional properties, such as Address, FirstName, LastName, InvoiceNumber, etc.
Subscription Management
Once all required properties are set, you may create a recurring payment using the specified card or bank data by calling the CreateSubscription method. If the Gateway supports it, you may also Cancel recurring payments with the CancelSubscription method. Recurring payments that need to be changed may be updated with the UpdateSubscription method.
The following gateways are supported by the RecurringBilling component:
Gateway | Home page |
No Gateway (0) | n/a |
Authorize.Net AIM (1) | http://www.authorize.net |
eProcessing Transparent Database Engine (2) | http://www.eProcessingNetwork.com |
iTransact RediCharge HTML (4) | http://www.itransact.com |
Verisign PayFlow Pro (6) | https://www.paypal.com/webapps/mpp/payflow-payment-gateway |
USA ePay CGI Transaction Gateway (7) | http://www.usaepay.com |
Plug 'n Pay (8) | http://www.plugnpay.com |
Planet Payment iPay (9) | http://planetpayment.com/ |
Merchant Anywhere (Transaction Central) (15) | http://www.merchantanywhere.com/ |
SkipJack (16) | http://www.skipjack.com |
Chase Paymentech Orbital Gateway V5.7 (23) | http://www.chasepaymentech.com |
LinkPoint (24) | http://www.linkpoint.com |
Moneris eSelect Plus Canada (25) | http://www.moneris.com |
NetworkMerchants Direct-Post API (28) | http://www.nmi.com/ |
TransFirst Transaction Central Classic (formerly PRIGate) (30) | www.transfirst.com |
Merchant Partners (Transaction Engine) (31) | http://www.merchantpartners.com/ |
First Data Global Gateway (Linkpoint) (33) | http://www.firstdata.com |
YourPay (Linkpoint) (34) | http://www.yourpay.com |
ACH Payments AGI (35) | http://www.ach-payments.com |
Payments Gateway AGI (36) | https://www.paymentsgateway.net/ |
Cyber Source SOAP API (37) | http://www.cybersource.com |
eWay XML API (Australia) (38) | http://www.eway.com.au/ |
Chase Merchant Services (Linkpoint) (41) | http://www.chase.com |
Thompson Merchant Services NexCommerce (iTransact mode) (42) | http://www.thompsonmerchant.com |
TransFirst Transaction Central (44) | http://www.transfirst.com. (This is different from TransFirst eLink, supported above. The TransactionCentral gateway is also used by MerchantAnywhere and PRIGate) |
Elavon/NOVA/My Virtual Merchant (49) | http://www.myvirtualmerchant.com |
Moneris eSelect Plus USA (52) | http://www.moneris.com |
Beanstream Process Transaction API (53) | http://beanstream.com |
Verifi Direct-Post API (54) | http://www.verifi.com |
Intuit QuickBooks Merchant Services (QBMS) (61) | http://payments.intuit.com/ |
Litle Online Gateway (63) | http://www.litle.com/ |
PayTrace Payment Gateway (70) | http://www.paytrace.com/ |
TransNational Bankcard (74) | http://www.tnbci.com/ |
Payscape (83) | http://www.payscape.com |
Authorize.NET CIM (85) | http://www.authorize.net |
WorldPay US Link Gateway (87) | http://www.worldpay.com/us |
3DSI Payment WorkSuite (88) | http://www.3dsi.com/ |
First Data PayPoint (90) | https://www.firstdata.com/en_us/customer-center/financial-institutions/paypoint.html |
Converge (93) | http://www.myvirtualmerchant.com |
PhoeniXGate Gateway (97) | http://www.phoenixmanagednetworks.com/ |
Repay Gateway (98) | http://www.repayonline.com/ |
PayWiser (98) | http://www.paywiser.si/ |
Property List
The following is the full list of the properties of the component with short descriptions. Click on the links for further details.
Card | Contains the customer's credit card information. |
Customer | Contains the customer's name, address, and other identifying information. |
ECheckBank | Bank account and routing information for an electronic check transaction. |
ECheckPaymentType | The type of check payment request (commonly referred to as SEC Code). |
Gateway | Gateway to process transactions with. |
GatewayURL | Default URL for a specific Gateway . |
InvoiceNumber | Merchant-generated invoice number. |
MerchantLogin | Merchant's Gateway login. |
MerchantPassword | Merchant's Gateway password. |
PaymentSchedule | This property is used to specify the payment schedule for a recurring billing. |
Proxy | A set of properties related to proxy access. |
Response | Contains the response to the recurring transaction. |
ShippingInfo | Contains the customer's shipping name, address, and other identifying information. |
SpecialFields | A list of additional fields to send in the request. |
SSLAcceptServerCert | Instructs the component to unconditionally accept the server certificate that matches the supplied certificate. |
SSLCert | The certificate to be used during SSL negotiation. |
SSLServerCert | The server certificate for the last established connection. |
SubscriptionDesc | Description of recurring subscription. |
SubscriptionDetails | Contains the recurring subscription details. |
SubscriptionName | The name of the recurring subscription or profile. |
TestMode | Turns test mode on and off for transactions sent to the current Gateway . |
Timeout | A timeout for the component. |
TransactionId | Merchant-generated transaction Id used for all transactions. |
Method List
The following is the full list of the methods of the component with short descriptions. Click on the links for further details.
AddSpecialField | Adds a special field name and the corresponding value. |
CancelSubscription | Cancels or deletes a recurring payment subscription. |
Config | Sets or retrieves a configuration setting . |
CreateSubscription | Creates a new recurring subscription. |
GetResponseVar | Parses additional information out of the response. |
GetSubscriptionStatus | Retrieves the status of a recurring payment subscription. |
Interrupt | Interrupts the current action. |
ResetSpecialFields | Resets all special fields to the default settings. |
UpdateSubscription | Updates a recurring payment subscription. |
Event List
The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.
Error | Information about errors during data delivery. |
SSLServerAuthentication | Fired after the server presents its certificate to the client. |
SSLStatus | Shows the progress of the secure connection. |
Configuration Settings
The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.
AuthNetShipToCompany | The name of the company associated with the customer. |
AuthNetCIMRequestType | The request type to send for the Authorize.NET CIM gateway. |
AuthNetCIMPaymentProfileId | The Payment Profile ID assigned by Authorize.NET CIM gateway. |
AuthNetCIMPaymentProfileCount | The number of Payment Profiles assigned to a customer profile within the Authorize.NET CIM gateway. |
AuthNetCIMPaymentProfileIndex | Parses the Payment Profile contained at the specified index within a GetSusbcriptionStatus response. |
AuthNetCIMShippingAddressId | The Shipping Address ID assigned by Authorize.NET CIM gateway. |
AuthNetCIMShippingAddressCount | The number of Shipping Addresses assigned to a customer profile within the Authorize.NET CIM gateway. |
AuthNetCIMShippingAddressIndex | Parses the Shipping Address contained at the specified index within a GetSusbcriptionStatus response. |
BeanstreamUsername | The Username used for authentication with the Beanstream gateway. |
CardPresent | Specifies whether the card is present during the transaction. |
CardType | Type of credit card being used in this transaction. |
CheckRoutingNumber | Determines whether to perform a checksum test on the RoutingNumber. |
CheckNumber | Check Number. |
CompanyName | The Customer's Company Name. |
CustomerPassword | The Customer's Password. |
CustomerUsername | The Customer's Username. |
DateFormat | The format of the date properties. |
EwayCustomerId | The Customer Id used to authenticate with the Eway gateway. |
EwayInitialDate | The date of the initial payment for the Eway gateway. |
EwayTransactionType | The Transaction Type for the Eway gateway. |
FirstDataPayPointAgreedToTerms | Specifies whether the customer has approved the registration process and agreed to the terms for the FirstDataPayPoint gateway. |
FirstDataPayPointTransactionType | The Transaction Type for the FirstDataPayPoint gateway. |
GoToBillingTransactionType | The Transaction Type for the GoToBilling gateway. |
LicenseDOB | Customer's Date of Birth as indicated on his drivers license. |
LicenseNumber | Customer's driver's license number. |
LicenseState | State in which customer's driver's license was issued. |
LitleCardholderId | Describes the method used to identify the cardholder at the point of sale for the Litle gateway. |
LitleSubscriptionAggregate | Used to specify an XML aggregate for Subscription Create and Update transactions within the Litle gateway. |
LitleTransactionType | The Transaction Type for the Litle gateway. |
LitleTrialFrequency | Used to specify a trial frequency for the Litle gateway. |
MerchantPartnersLast4Digits | The last 4 digits of the account number for a transaction processed via the MerchantPartners or WorldPay Link gateways. |
MerchantPartnersReaderType | The reader type used to read and encrypt a swiped card for the MerchantPartners or WorldPay Link gateways. |
PaymentWorkSuiteTransactionType | The transaction type to send for the Payment WorkSuite gateway. |
PayTraceTransactionType | The Transaction Type for the PayTrace gateway. |
PayWiserRequestType | The request type for the PayWiser gateway. |
PayWiserPlanPattern | PayWiser plan pattern for creating a recurring plan. |
PayWiserRetryPattern | PayWiser retry pattern for retrying failed payments. |
PayWiserPaymentHour | Payment hour. |
PayWiserCardToken | PayWiser Gateway Card Token Value. |
PayWiserTokenReferenceId | PayWiser Gateway Token Reference Id. |
PayWiserRecurringPlanId | PayWiser Recurring Plan Id. |
PhoeniXGateRequestType | The request type for the PhoeniXGate gateway. |
PhoeniXGateCustomerStatus | Indicates the Customer Status. |
PhoeniXGatePaymentType | Indicates the Payment Type. |
PhoeniXGateTokenMode | Indicates the Token Type. |
PhoeniXGateToken | PhoeniXGate Gateway Token Value. |
PhoeniXGateCustomerKey | PhoeniXGate Gateway Customer Key. |
PhoeniXGateCardInfoKey | PhoeniXGate Gateway Credit Card Info Key. |
PhoeniXGateCheckInfoKey | PhoeniXGate Gateway Check Info Key. |
PhoeniXGateContractKey | PhoeniXGate Gateway Contract Key. |
PhoeniXGateContractID | PhoeniXGate Gateway Contract ID. |
PhoeniXGateNextBillingDate | PhoeniXGate Gateway Next Billing Date. |
PhoeniXGateNumberOfDays | Number of days to be added to the next billing date. |
RepayRequestType | The request type for the Repay gateway. |
RepayCustomerStatus | Indicates the Customer Status. |
RepayPaymentType | Indicates the Payment Type. |
RepayTokenMode | Indicates the Token Type. |
RepayToken | Repay Gateway Token Value. |
RepayCustomerKey | Repay Gateway Customer Key. |
RepayCardInfoKey | Repay Gateway Credit Card Info Key. |
RepayCheckInfoKey | Repay Gateway Check Info Key. |
RepayContractKey | Repay Gateway Contract Key. |
RepayContractID | Repay Gateway Contract ID. |
RepayNextBillingDate | Repay Gateway Next Billing Date. |
RepayNumberOfDays | Number of days to be added to the next billing date. |
PlanetPaymentFrequencyDate | The date of the month that a recurring payment should occur for the Planet Payment gateway. |
PlanetPaymentFrequencyDay | The day that a recurring payment should occur for the Planet Payment gateway. |
PlanetPaymentFrequencyMonth | The month that a recurring payment should occur for the Planet Payment gateway. |
QBMSTransactionType | The Transaction Type for the QBMS gateway. |
SkipJackStatusIndex | Gets subscription details at the specified status index. |
TaxId | Company's Tax Id or a Customer's Social Security Number. |
TerminalCapability | The capability of the terminal that is used to submit the transaction. |
TerminalType | The terminal type that is used to submit the transaction. |
CardIssueNumber | Special Issue Number used for Switch and Solo cards. |
CardStartMonth | Used for some international cards. |
CardStartYear | Used for some international cards. |
ConvenienceFee | The total convenience fee charged for a transaction. |
CyberSourceXMLEscape | Determines whether to XML escape the CyberSource gateway request field values. |
ECI | Electronic Commerce Indicator. |
MerchantCode | Required field for the Litle and MIT gateways, and optional field for the WorldPayXML gateway. |
MyVirtualMerchantUserId | The MyVirtualMerchant user Id as configured on VirtualMerchant. |
NetBillingVersion | The Version to be sent in the User-Agent heading of a NetBilling gateway request. |
OrbitalConnectionPassword | Orbital Connection Password field used by the Orbital gateway. |
OrbitalConnectionUsername | Orbital Connection Username field used by the Orbital gateway. |
OrbitalCustomerProfileFromOrderInd | Customer Profile Number generation Options for the Orbital gateway. |
OrbitalCustomerProfileOrderOverrideInd | Indicator to specify how the CustomerId is leveraged to populate other data sets for the Orbital gateway. |
PaymentWorkSuiteClientCode | The 3DSI assigned client code sent in a request to the PaymentWorksuite gateway. |
PaymentWorkSuiteLocationCode | The 3DSI assigned location code sent in a request to the PaymentWorksuite gateway. |
PaymentWorkSuiteMerchantCode | The 3DSI assigned merchant code sent in a request to the PaymentWorksuite gateway. |
PayTraceIntegratorId | Used to specify the Integrator Id value assigned by the PayTrace gateway. |
RawRequest | Returns the data that was sent to the gateway. |
RawResponse | Returns the data that was received from the gateway. |
ValidateCardNumber | Determines whether data set to the CardNumber or MagneticStripe property is validated. |
XPath | Provides a way to point to a specific element in the returned XML or JSON response. |
XText | The text of the current element. |
XElement | The name of the current element. |
XChildrenCount | The number of child elements of the current element. |
XChildrenName[x] | The name of the child element. |
XChildrenXText[x] | The inner text of the child element. |
AcceptEncoding | Used to tell the server which types of content encodings the client supports. |
AllowHTTPCompression | This property enables HTTP compression for receiving data. |
AllowIdenticalRedirectURL | Allow redirects to the same URL. |
Append | Whether to append data to LocalFile. |
Authorization | The Authorization string to be sent to the server. |
BytesTransferred | Contains the number of bytes transferred in the response data. |
EncodeURL | If set to true the URL will be encoded by the component. |
FollowRedirects | Determines what happens when the server issues a redirect. |
GetOn302Redirect | If set to true the component will perform a GET on the new location. |
HTTPVersion | The version of HTTP used by the component. |
IfModifiedSince | A date determining the maximum age of the desired document. |
KeepAlive | Determines whether the HTTP connection is closed after completion of the request. |
MaxRedirectAttempts | Limits the number of redirects that are followed in a request. |
OtherHeaders | Other headers as determined by the user (optional). |
ProxyAuthorization | The authorization string to be sent to the proxy server. |
ProxyAuthScheme | The authorization scheme to be used for the proxy. |
ProxyPassword | A password if authentication is to be used for the proxy. |
ProxyPort | Port for the proxy server (default 80). |
ProxyServer | Name or IP address of a proxy server (optional). |
ProxyUser | A user name if authentication is to be used for the proxy. |
TransferredDataLimit | The maximum number of incoming bytes to be stored by the component. |
TransferredHeaders | The full set of headers as received from the server. |
UseChunkedEncoding | Enables or Disables HTTP chunked encoding for transfers. |
ChunkSize | Specifies the chunk size in bytes when using chunked encoding. |
UserAgent | Information about the user agent (browser). |
KerberosSPN | The Service Principal Name for the Kerberos Domain Controller. |
ConnectionTimeout | Sets a separate timeout value for establishing a connection. |
FirewallAutoDetect | Tells the component whether or not to automatically detect and use firewall system settings, if available. |
FirewallHost | Name or IP address of firewall (optional). |
FirewallPassword | Password to be used if authentication is to be used when connecting through the firewall. |
FirewallPort | The TCP port for the FirewallHost;. |
FirewallType | Determines the type of firewall to connect through. |
FirewallUser | A user name if authentication is to be used connecting through a firewall. |
KeepAliveTime | The inactivity time in milliseconds before a TCP keep-alive packet is sent. |
KeepAliveInterval | The retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received. |
Linger | When set to True, connections are terminated gracefully. |
LingerTime | Time in seconds to have the connection linger. |
LocalHost | The name of the local host through which connections are initiated or accepted. |
LocalPort | The TCP port in the local host where the component binds. |
MaxLineLength | The maximum amount of data to accumulate when no EOL is found. |
MaxTransferRate | The transfer rate limit in bytes per second. |
RecordLength | The length of received data records. |
TCPKeepAlive | Determines whether or not the keep alive socket option is enabled. |
UseIPv6 | Whether to use IPv6. |
TcpNoDelay | Whether or not to delay when sending packets. |
TLS12SignatureAlgorithms | Defines the allowed TLS 1.2 signature algorithms when UseManagedSecurityAPI is True. |
ReuseSSLSession | Determines if the SSL session is reused. |
SSLCipherStrength | The minimum cipher strength used for bulk encryption. |
SSLEnabledProtocols | Used to enable/disable the supported security protocols. |
SSLProvider | The name of the security provider to use. |
SSLSecurityFlags | Flags that control certificate verification. |
OpenSSLCADir | The path to a directory containing CA certificates. |
OpenSSLCAFile | Name of the file containing the list of CA's trusted by your application. |
OpenSSLCipherList | A string that controls the ciphers to be used by SSL. |
OpenSSLPrngSeedData | The data to seed the pseudo random number generator (PRNG). |
AbsoluteTimeout | Determines whether timeouts are inactivity timeouts or absolute timeouts. |
FirewallData | Used to send extra data to the firewall. |
InBufferSize | The size in bytes of the incoming queue of the socket. |
OutBufferSize | The size in bytes of the outgoing queue of the socket. |
CodePage | The system code page used for Unicode to Multibyte translations. |