Recurring


Click here for a complete list of operations.

AddRecurringCreditCard

Add a customer, a contract and a credit card payment method all in one call. All parameters marked as required must be supplied. Optional parameters can be left blank and the default value will be used. Default value are empty string for string type and 0 for integer type.

Parameters
Username(Required) The username of the admin user.
Password(Required) The password of the admin user.
Vendor(Required) The numerical Vendor/Merchant key.
CustomerID(Required) A merchant supplied unique identifier for the customer.
CustomerName(Required) The customer's name.
FirstName(Optional) The customer's first name.
LastName(Optional) The customer's last name.
Title(Optional) The customer's title.
Department(Optional) The customer's department.
Street1(Optional) The customer's street address 1.
Street2(Optional) The customer's street address 2.
Street3(Optional) The customer's street address 3.
City(Optional) The customer's city.
StateID(Optional) The customer's 2 characters State Code.
Province(Optional) The customer's province if it is outside of the USA.
Zip(Optional) The customer's zip code if in USA, postal code if outside of USA.
CountryID(Optional) The customer's 3 characters country code. e.g. USA, CAN
Email(Optional) The customer's email address.
DayPhone(Optional) The customer's day phone.
Fax(Optional) The customer's fax.
Mobile(Optional) The customer's mobile phone.
ContractID(Required) The merchant supplied unique identifier for the contract.
ContractName(Optional) The contract's name.
BillAmt(Required) Bill amount.
TaxAmt(Optional) Tax amount.
TotalAmt(Required) BillAmt + TaxAmt = Total amount
StartDate(Required) The start date of the contract.
EndDate(Optional) The end date of the contract. If this date is not given, the contract will continue to run until it is manually cancelled or suspended by the system due to failure of payment.
BillingPeriod(Required) Specifies Billing Period Type, used in conjunction with BillingInterval to compute the next bill date.
  • DAY - every x days
  • WEEK - number of times per week
  • MONTH - number of times per month
  • YEAR - number of times per year
BillingInterval(Required) Depending on the BillingPeriod, it means different things. e.g. every x days, number of times per week, number of times per month, number of times per year
MaxFailures(Optional) The number of times the system will retry when a recurring paymnet fails to process before it put the contract in suspend mode.
FailureInterval(Optional) Number of days the system will wait after each retry when the payment fails.
EmailCustomer(Optional) TRUE/FALSE - Whether to email the customer regarding the status of the recurring payment.
EmailMerchant(Optional) TRUE/FALSE - Whether to email the merchant regarding the status of the recurring payment.
EmailCustomerFailure(Optional) TRUE/FALSE - Whether to email the customer when the recurring payment fails.
EmailMerchantFailure(Optional) TRUE/FALSE - Whether to email the merchant when the recurring payment fails.
CcAccountNum(Required) Credit Card Account Number
CcExpDate(Required) Credit Card Expiration Date
CcNameOnCard(Optional) The Card Holder's name as it is on the card.
CcStreet(Optional) The Card Holder's billing address.
CcZip(Optional) The Card Holder's billing zip code.
ExtData(Optional) Extended Data.

Returns
RecurringResult including keys of the newly added/updated records if the call is successful.

Test

To test the operation using the HTTP POST protocol, click the 'Invoke' button.
Parameter Value
Username:
Password:
Vendor:
CustomerID:
CustomerName:
FirstName:
LastName:
Title:
Department:
Street1:
Street2:
Street3:
City:
StateID:
Province:
Zip:
CountryID:
Email:
DayPhone:
NightPhone:
Fax:
Mobile:
ContractID:
ContractName:
BillAmt:
TaxAmt:
TotalAmt:
StartDate:
EndDate:
BillingPeriod:
BillingInterval:
MaxFailures:
FailureInterval:
EmailCustomer:
EmailMerchant:
EmailCustomerFailure:
EmailMerchantFailure:
CcAccountNum:
CcExpDate:
CcNameOnCard:
CcStreet:
CcZip:
ExtData:

SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

POST /admin/ws/recurring.asmx HTTP/1.1
Host: secure.redfinnet.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.tpisoft.com/Admin/ws/AddRecurringCreditCard"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <AddRecurringCreditCard xmlns="http://www.tpisoft.com/Admin/ws">
      <Username>string</Username>
      <Password>string</Password>
      <Vendor>string</Vendor>
      <CustomerID>string</CustomerID>
      <CustomerName>string</CustomerName>
      <FirstName>string</FirstName>
      <LastName>string</LastName>
      <Title>string</Title>
      <Department>string</Department>
      <Street1>string</Street1>
      <Street2>string</Street2>
      <Street3>string</Street3>
      <City>string</City>
      <StateID>string</StateID>
      <Province>string</Province>
      <Zip>string</Zip>
      <CountryID>string</CountryID>
      <Email>string</Email>
      <DayPhone>string</DayPhone>
      <NightPhone>string</NightPhone>
      <Fax>string</Fax>
      <Mobile>string</Mobile>
      <ContractID>string</ContractID>
      <ContractName>string</ContractName>
      <BillAmt>string</BillAmt>
      <TaxAmt>string</TaxAmt>
      <TotalAmt>string</TotalAmt>
      <StartDate>string</StartDate>
      <EndDate>string</EndDate>
      <BillingPeriod>string</BillingPeriod>
      <BillingInterval>string</BillingInterval>
      <MaxFailures>string</MaxFailures>
      <FailureInterval>string</FailureInterval>
      <EmailCustomer>string</EmailCustomer>
      <EmailMerchant>string</EmailMerchant>
      <EmailCustomerFailure>string</EmailCustomerFailure>
      <EmailMerchantFailure>string</EmailMerchantFailure>
      <CcAccountNum>string</CcAccountNum>
      <CcExpDate>string</CcExpDate>
      <CcNameOnCard>string</CcNameOnCard>
      <CcStreet>string</CcStreet>
      <CcZip>string</CcZip>
      <ExtData>string</ExtData>
    </AddRecurringCreditCard>
  </soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <AddRecurringCreditCardResponse xmlns="http://www.tpisoft.com/Admin/ws">
      <AddRecurringCreditCardResult>
        <CustomerKey>string</CustomerKey>
        <ContractKey>string</ContractKey>
        <CcInfoKey>string</CcInfoKey>
        <CheckInfoKey>string</CheckInfoKey>
        <code>OK or Unknown_Error or Access_Denied or Invalid_Login or Invalid_User_Status or Invalid_User or User_Not_Found or Username_Already_In_Use or Username_Has_Invalid_Characters or Not_Enough_Privilege or Invalid_PartnerID or Invalid_VendorID or Invalid_Argument or Invalid_Record or Transaction_Type_Not_Supported_By_Host or Internal_Error</code>
        <error>string</error>
        <Partner>string</Partner>
        <Vendor>string</Vendor>
        <Username>string</Username>
        <Result>string</Result>
        <AuthCode>string</AuthCode>
        <PNRef>string</PNRef>
        <Message>string</Message>
      </AddRecurringCreditCardResult>
    </AddRecurringCreditCardResponse>
  </soap:Body>
</soap:Envelope>

HTTP GET

The following is a sample HTTP GET request and response. The placeholders shown need to be replaced with actual values.

GET /admin/ws/recurring.asmx/AddRecurringCreditCard?Username=string&Password=string&Vendor=string&CustomerID=string&CustomerName=string&FirstName=string&LastName=string&Title=string&Department=string&Street1=string&Street2=string&Street3=string&City=string&StateID=string&Province=string&Zip=string&CountryID=string&Email=string&DayPhone=string&NightPhone=string&Fax=string&Mobile=string&ContractID=string&ContractName=string&BillAmt=string&TaxAmt=string&TotalAmt=string&StartDate=string&EndDate=string&BillingPeriod=string&BillingInterval=string&MaxFailures=string&FailureInterval=string&EmailCustomer=string&EmailMerchant=string&EmailCustomerFailure=string&EmailMerchantFailure=string&CcAccountNum=string&CcExpDate=string&CcNameOnCard=string&CcStreet=string&CcZip=string&ExtData=string HTTP/1.1
Host: secure.redfinnet.com
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<RecurringResult xmlns="http://www.tpisoft.com/Admin/ws">
  <CustomerKey>string</CustomerKey>
  <ContractKey>string</ContractKey>
  <CcInfoKey>string</CcInfoKey>
  <CheckInfoKey>string</CheckInfoKey>
  <code>OK or Unknown_Error or Access_Denied or Invalid_Login or Invalid_User_Status or Invalid_User or User_Not_Found or Username_Already_In_Use or Username_Has_Invalid_Characters or Not_Enough_Privilege or Invalid_PartnerID or Invalid_VendorID or Invalid_Argument or Invalid_Record or Transaction_Type_Not_Supported_By_Host or Internal_Error</code>
  <error>string</error>
  <Partner>string</Partner>
  <Vendor>string</Vendor>
  <Username>string</Username>
  <Result>string</Result>
  <AuthCode>string</AuthCode>
  <PNRef>string</PNRef>
  <Message>string</Message>
</RecurringResult>

HTTP POST

The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.

POST /admin/ws/recurring.asmx/AddRecurringCreditCard HTTP/1.1
Host: secure.redfinnet.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

Username=string&Password=string&Vendor=string&CustomerID=string&CustomerName=string&FirstName=string&LastName=string&Title=string&Department=string&Street1=string&Street2=string&Street3=string&City=string&StateID=string&Province=string&Zip=string&CountryID=string&Email=string&DayPhone=string&NightPhone=string&Fax=string&Mobile=string&ContractID=string&ContractName=string&BillAmt=string&TaxAmt=string&TotalAmt=string&StartDate=string&EndDate=string&BillingPeriod=string&BillingInterval=string&MaxFailures=string&FailureInterval=string&EmailCustomer=string&EmailMerchant=string&EmailCustomerFailure=string&EmailMerchantFailure=string&CcAccountNum=string&CcExpDate=string&CcNameOnCard=string&CcStreet=string&CcZip=string&ExtData=string
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<RecurringResult xmlns="http://www.tpisoft.com/Admin/ws">
  <CustomerKey>string</CustomerKey>
  <ContractKey>string</ContractKey>
  <CcInfoKey>string</CcInfoKey>
  <CheckInfoKey>string</CheckInfoKey>
  <code>OK or Unknown_Error or Access_Denied or Invalid_Login or Invalid_User_Status or Invalid_User or User_Not_Found or Username_Already_In_Use or Username_Has_Invalid_Characters or Not_Enough_Privilege or Invalid_PartnerID or Invalid_VendorID or Invalid_Argument or Invalid_Record or Transaction_Type_Not_Supported_By_Host or Internal_Error</code>
  <error>string</error>
  <Partner>string</Partner>
  <Vendor>string</Vendor>
  <Username>string</Username>
  <Result>string</Result>
  <AuthCode>string</AuthCode>
  <PNRef>string</PNRef>
  <Message>string</Message>
</RecurringResult>