Recurring
Click here for a complete list of operations.
ManageContract
ParametersUsername | (Required) The username of the admin user. |
Password | (Required) The password of the admin user. |
TransType | (Required) The type of transaction being performed:
|
Vendor | (Required) The numerical Vendor/Merchant key. |
CustomerKey | (Required) The numerical Customer key. |
ContractKey | (Required for TransType UPDATE and DELETE) The numerical Contract key. |
PaymentInfoKey | (Required for TransType ADD and UPDATE) The numerical Payment Info key. |
PaymentType | (Required for TransType ADD and UPDATE) Type of payment:
|
CustomerID | (Required for TransType ADD and UPDATE) A merchant supplied unique identifier for the customer. |
CustomerName | (Optional) 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 |
(Optional) The customer's email address. | |
DayPhone | (Optional) The customer's day phone. |
NightPhone | (Optional) The customer's evening phone. |
Fax | (Optional) The customer's fax. |
Mobile | (Optional) The customer's mobile phone. |
ContractID | (Required for TransType ADD and UPDATE) The merchant supplied unique identifier for the contract. |
ContractName | (Optional) The contract's name. |
BillAmt | (Required for TransType ADD and UPDATE) Bill amount. |
TaxAmt | (Optional) Tax amount. |
TotalAmt | (Required for TransType ADD and UPDATE) BillAmt + TaxAmt = Total amount |
StartDate | (Required for TransType ADD and UPDATE) The start date of the contract. |
EndDate | (Required for TransType ADD and UPDATE) 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. |
NextBillDt | (Required for TransType ADD and UPDATE) |
BillingPeriod | (Required for TransType ADD and UPDATE) Specifies Billing Period Type, used in conjunction with BillingInterval to compute the next bill date.
|
BillingInterval | (Required for TransType ADD and UPDATE) 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. |
Status | (Optional) Status of contract. |
ExtData | (Optional) Extended Data. |
Returns
RecurringResult including keys of the newly added/updated records if the call is successful.
- Username - The admin user
- Partner - The reseller of the merchant
- Vendor - The merchant key
- CustomerKey - Customer Key
- CcInfoKey - Credit Card Payment Info Key
- CheckInfoKey - Check Payment Info Key
- ContractKey - Contract Key
- code - result code: 0 - success, error otherwise
- error - description of the erorr
- Result - payment transaction result: 0 - approved, decline otherwise
- AuthCode - Authorization code for payment transaction
- PNRef - unique reference number for the payment transaction, returned by the payment server
- Message - description of the payment transaction
Test
To test the operation using the HTTP POST protocol, click the 'Invoke' button.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.ftipgw.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.tpisoft.com/Admin/ws/ManageContract" <?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> <ManageContract xmlns="http://www.tpisoft.com/Admin/ws"> <Username>string</Username> <Password>string</Password> <TransType>string</TransType> <Vendor>string</Vendor> <CustomerKey>string</CustomerKey> <ContractKey>string</ContractKey> <PaymentInfoKey>string</PaymentInfoKey> <PaymentType>string</PaymentType> <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> <NextBillDt>string</NextBillDt> <BillingPeriod>string</BillingPeriod> <BillingInterval>string</BillingInterval> <MaxFailures>string</MaxFailures> <FailureInterval>string</FailureInterval> <EmailCustomer>string</EmailCustomer> <EmailMerchant>string</EmailMerchant> <EmailCustomerFailure>string</EmailCustomerFailure> <EmailMerchantFailure>string</EmailMerchantFailure> <Status>string</Status> <ExtData>string</ExtData> </ManageContract> </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> <ManageContractResponse xmlns="http://www.tpisoft.com/Admin/ws"> <ManageContractResult> <CustomerID>string</CustomerID> <ClientSessionID>string</ClientSessionID> <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 or Invalid_ProcessorID or Processor_Not_Found or InValidPassword</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> <Contracts> <ContractInfo> <Contract_Key>string</Contract_Key> <Next_Bill_Date>string</Next_Bill_Date> </ContractInfo> <ContractInfo> <Contract_Key>string</Contract_Key> <Next_Bill_Date>string</Next_Bill_Date> </ContractInfo> </Contracts> <ContractTransactions> <LastContractTrans> <PaymentPref>string</PaymentPref> <Contract_Key>string</Contract_Key> <Transaction_Date>string</Transaction_Date> <Transaction_Amount>string</Transaction_Amount> <Convenience_Fee>string</Convenience_Fee> <PNRef>string</PNRef> <ResultCode>string</ResultCode> <ResponseMessage>string</ResponseMessage> <AuthCode>string</AuthCode> </LastContractTrans> <LastContractTrans> <PaymentPref>string</PaymentPref> <Contract_Key>string</Contract_Key> <Transaction_Date>string</Transaction_Date> <Transaction_Amount>string</Transaction_Amount> <Convenience_Fee>string</Convenience_Fee> <PNRef>string</PNRef> <ResultCode>string</ResultCode> <ResponseMessage>string</ResponseMessage> <AuthCode>string</AuthCode> </LastContractTrans> </ContractTransactions> <AccountNumber>string</AccountNumber> </ManageContractResult> </ManageContractResponse> </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/ManageContract?Username=string&Password=string&TransType=string&Vendor=string&CustomerKey=string&ContractKey=string&PaymentInfoKey=string&PaymentType=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&NextBillDt=string&BillingPeriod=string&BillingInterval=string&MaxFailures=string&FailureInterval=string&EmailCustomer=string&EmailMerchant=string&EmailCustomerFailure=string&EmailMerchantFailure=string&Status=string&ExtData=string HTTP/1.1 Host: secure.ftipgw.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"> <CustomerID>string</CustomerID> <ClientSessionID>string</ClientSessionID> <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 or Invalid_ProcessorID or Processor_Not_Found or InValidPassword</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> <Contracts> <ContractInfo> <Contract_Key>string</Contract_Key> <Next_Bill_Date>string</Next_Bill_Date> </ContractInfo> <ContractInfo> <Contract_Key>string</Contract_Key> <Next_Bill_Date>string</Next_Bill_Date> </ContractInfo> </Contracts> <ContractTransactions> <LastContractTrans> <PaymentPref>string</PaymentPref> <Contract_Key>string</Contract_Key> <Transaction_Date>string</Transaction_Date> <Transaction_Amount>string</Transaction_Amount> <Convenience_Fee>string</Convenience_Fee> <PNRef>string</PNRef> <ResultCode>string</ResultCode> <ResponseMessage>string</ResponseMessage> <AuthCode>string</AuthCode> </LastContractTrans> <LastContractTrans> <PaymentPref>string</PaymentPref> <Contract_Key>string</Contract_Key> <Transaction_Date>string</Transaction_Date> <Transaction_Amount>string</Transaction_Amount> <Convenience_Fee>string</Convenience_Fee> <PNRef>string</PNRef> <ResultCode>string</ResultCode> <ResponseMessage>string</ResponseMessage> <AuthCode>string</AuthCode> </LastContractTrans> </ContractTransactions> <AccountNumber>string</AccountNumber> </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/ManageContract HTTP/1.1 Host: secure.ftipgw.com Content-Type: application/x-www-form-urlencoded Content-Length: length Username=string&Password=string&TransType=string&Vendor=string&CustomerKey=string&ContractKey=string&PaymentInfoKey=string&PaymentType=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&NextBillDt=string&BillingPeriod=string&BillingInterval=string&MaxFailures=string&FailureInterval=string&EmailCustomer=string&EmailMerchant=string&EmailCustomerFailure=string&EmailMerchantFailure=string&Status=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"> <CustomerID>string</CustomerID> <ClientSessionID>string</ClientSessionID> <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 or Invalid_ProcessorID or Processor_Not_Found or InValidPassword</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> <Contracts> <ContractInfo> <Contract_Key>string</Contract_Key> <Next_Bill_Date>string</Next_Bill_Date> </ContractInfo> <ContractInfo> <Contract_Key>string</Contract_Key> <Next_Bill_Date>string</Next_Bill_Date> </ContractInfo> </Contracts> <ContractTransactions> <LastContractTrans> <PaymentPref>string</PaymentPref> <Contract_Key>string</Contract_Key> <Transaction_Date>string</Transaction_Date> <Transaction_Amount>string</Transaction_Amount> <Convenience_Fee>string</Convenience_Fee> <PNRef>string</PNRef> <ResultCode>string</ResultCode> <ResponseMessage>string</ResponseMessage> <AuthCode>string</AuthCode> </LastContractTrans> <LastContractTrans> <PaymentPref>string</PaymentPref> <Contract_Key>string</Contract_Key> <Transaction_Date>string</Transaction_Date> <Transaction_Amount>string</Transaction_Amount> <Convenience_Fee>string</Convenience_Fee> <PNRef>string</PNRef> <ResultCode>string</ResultCode> <ResponseMessage>string</ResponseMessage> <AuthCode>string</AuthCode> </LastContractTrans> </ContractTransactions> <AccountNumber>string</AccountNumber> </RecurringResult>