Class AR_CreditCard

Properties

LOCAL ApplicationID$="SAGESAGE2017000ACC_ACD7USEN"  

SPS Application ID / Client ID value to use when attempting to process a credit card/ACH transaction request with SPS Exchange, this value is assigned by SPS and will not change

LOCAL ApplicationKey$="2589F5FF-9EE8-407B-8FAD-E559A81761C2"  
SPS Client Key value associated with ApplicationID$
LOCAL ApplicationIDCCOnly$="SAGEERPMV4.5000ACCTAAG5USEN"  
Application ID / Client ID value to use when attempting to process a credit card transaction request with SPS Exchange, this value is assigned by SPS and will not change
LOCAL ApplicationKeyCCOnly$="5A42352A-6EC0-48A4-9A2D-580765EDBBAF"  
SPS Client Key value associated with ApplicationIDCCOnly$
LOCAL LanguageID$="EN"  
Language ID value to use when attempting to process a credit card transaction request with SPS Exchange, generally this value is static and will not change
LOCAL Request_v1Elements$="ApplicationType, Payments, BatchType, TransactionStatusQueries, "+"RecurringStatusQueries, VaultStatusQueryType, VaultOperationType, "+"VaultAccountType, UIType, AccountQueryType, PostbackType"  
XxxxElements$ = SPS Schema elements where Xxxx = xmlNode, xmlNodes are appended with the word 'Type', top level request = 'Request_v1', top level response = 'Response_v1' XxxxValues$ = list of valid values for Xxxx SPS Schema elemant
LOCAL ApplicationTypeElements$="ApplicationID, LanguageID"  
LOCAL PaymentsElements$="ArrayOfPaymentType"  
LOCAL ArrayOfPaymentTypeElements$="PaymentType"  
LOCAL PaymentTypeElements$="MerchantType, TransactionBaseType, Customer, ShippingRecipient, "+"Level2Type, Level3Type, RecurringType, VaultStorageType, PostbackType"  
LOCAL MerchantTypeElements$="MerchantID, MerchantKey"  
LOCAL TransactionBaseTypeElements$="TransactionID, TransactionType, Reference1, Reference2, "+"Amount, AuthCode, VANReference"  
LOCAL CustomerElements$="PersonType"  
LOCAL PersonTypeElements$="NameType, AddressType, CompanyType"  
LOCAL NameTypeElements$="FirstName, MI, LastName"  
LOCAL AddressTypeElements$="AddressLine1, AddressLine2, City, State, ZipCode, Country, "+"EmailAddress, Telephone, Fax"  
LOCAL CompanyTypeElements$="Name, AddressType"  
LOCAL ShippingRecipientElements$="NameType, AddressType, CompanyType"  
LOCAL Level2TypeElements$="CustomerNumber, TaxAmount"  
LOCAL Level3TypeElements$="Level2Type, ShippingAmount, DestinationZipCode, "+"DestinationCountryCode, VATNumber, DiscountAmount, "+"DutyAmount, NationalTaxAmount, VATInvoiceNumber, VATTaxAmount, "+"VATTaxRate, ArrayOfLevel3LineItemType"  
LOCAL ArrayOfLevel3LineItemTypeElements$="Level3LineItemType"  
LOCAL Level3LineItemTypeElements$="CommodityCode, Description, ProductCode, Quantity, "+"UnitOfMeasure, UnitCost, TaxAmount, TaxRate, DiscountAmount, "+"AlternateTaxIdentifier, TaxTypeApplied, DiscountIndicator, "+"NetGrossIndicator, ExtendedItemAmount, DebitCreditIndicator"  
LOCAL RecurringTypeElements$="ScheduleType, Interval, DayOfMonth, StartDate, Amount, "+"TimesToProcess, NonBusinessDayType"  
LOCAL ScheduleTypeValues$="MONTHLY|DAILY"  
LOCAL NonBusinessDayTypeValues$="THATDAY|BEFORE|AFTER"  
LOCAL VaultStorageTypeElements$="GUID, VaultServiceType"  
LOCAL VaultServiceTypeValues$="CREATE|UPDATE|RETRIEVE|DELETE"  
LOCAL PostbackTypeElements$="HttpsUrl"  
LOCAL BatchTypeElements$="MerchantType, Net, Count, BatchPaymentType"  
LOCAL BatchPaymentTypeValues$="CREDITCARD|PURCHASECARD"  
LOCAL TransactionStatusQueriesElements$="ArrayOfTransactionStatusQueryType"  
LOCAL ArrayOfTransactionStatusQueryTypeElements$="TransactionStatusQueryType"  
LOCAL TransactionStatusQueryTypeElements$="MerchantType, TransactionID"  
LOCAL RecurringStatusQueriesElements$="ArrayOfRecurringStatusQueryType"  
LOCAL ArrayOfRecurringStatusQueryTypeElements$="RecurringStatusQueryType"  
LOCAL RecurringStatusQueryTypeElements$="MerchantType, RecurringID, StartDate, EndDate"  
LOCAL VaultStatusQueryTypeElements$="MerchantType, VaultID"  
LOCAL VaultOperationTypeElements$="VaultID, MerchantType, VaultStorageType"  
LOCAL VaultAccountTypeElements$="CompanyType, ContactType"  
LOCAL ContactTypeElements$="NameType, AddressType, CompanyType"  
LOCAL UITypeElements$="SinglePaymentUIType, VaultOperationUIType"  
LOCAL SinglePaymentUITypeElements$="UITransactionBaseType, UICustomer, PostAuthorizationAnalysis, CVVPrompt, CanEditAccount, CanUseExternalDevice"  
LOCAL UIFieldTypeElements$="Enabled, Visible"  
LOCAL VaultOperationUITypeElements$="UIFieldType"  
LOCAL UITransactionBaseTypeElements$="UIReference1, UIAmount, UITaxAmount, UIShippingAmount, UIAuthCode, UICustomerNumber"  
LOCAL UIReference1Elements$="UIFieldType"  
LOCAL UIAmount$="UIFieldType"  
LOCAL UITaxAmountElements$="UIFieldType"  
LOCAL UIShippingAmountElements$="UIFieldType"  
LOCAL UIAuthCodeElements$="UIFieldType"  
LOCAL UICustomerNumberElements$="UIFieldType"  
LOCAL UICustomerElements$="UIPersonType"  
LOCAL UIPersonTypeElements$="UINameType, UIAddressType"  
LOCAL UINameTypeElements$="UIFirstName, UIMI, UILastName"  
LOCAL UIFirstNameElements$="UIFieldType"  
LOCAL UIMIElements$="UIFieldType"  
LOCAL UILastNameElements$="UIFieldType"  
LOCAL UIAddressTypeElements$="UIAddressLine1, UIAddressLine2, UICity, UIState, UIZipCode, UICountry, UIEmailAddress, UITelephone, UIFax"  
LOCAL UIAddressLine1Elements$="UIFieldType"  
LOCAL UIAddressLine2Elements$="UIFieldType"  
LOCAL UICityElements$="UIFieldType"  
LOCAL UIStateElements$="UIFieldType"  
LOCAL UIZipCodeElements$="UIFieldType"  
LOCAL UICountryElements$="UIFieldType"  
LOCAL UIEmailAddressElements$="UIFieldType"  
LOCAL UITelephoneElements$="UIFieldType"  
LOCAL UIFaxElements$="UIFieldType"  
LOCAL AccountQueryTypeElements$="MerchantType"  
LOCAL Response_v1Elements$="PaymentResponses, BatchResponseType, TransactionStatusQueryResponses, "+"RecurringStatusQueryResponses, VaultStatusQueryResponseType, VaultResponseType, "+"VaultAccountResponseType, AccountQueryResponseType"  
LOCAL PaymentResponsesElements$="ArrayOfPaymentResponseType"  
LOCAL ArrayOfPaymentResponseTypeElements$="PaymentResponseType"  
LOCAL PaymentResponseTypeElements$="ResponseType, VaultResponseType, RecurringResponseType, "+"TransactionResponseType, Customer"  
LOCAL ResponseTypeElements$="ResponseIndicator, ResponseCode, ResponseMessage"  
LOCAL VaultResponseTypeElements$="ResponseType, GUID, ExpirationDate, Last4, PaymentDescription, "+"PaymentTypeID"  
LOCAL RecurringResponseTypeElements$="RecurringID"  
LOCAL TransactionResponseTypeElements$="AuthCode, AVSResult, CVVResult, VANReference, TransactionID, "+"Last4, PaymentDescription, Amount, PaymentTypeID, Reference1, "+"TransactionDate, AuxiliaryData, EntryMode, TaxAmount, ShippingAmount, CustomerNumber"  
LOCAL BatchResponseTypeElements$="ResponseType, BatchNumber, BatchReference, Net, Count, BatchPaymentType"  
LOCAL TransactionStatusQueryResponsesElements$="ArrayOfTransactionStatusQueryResponseType"  
LOCAL ArrayOfTransactionStatusQueryResponseTypeElements$="TransactionStatusQueryResponseType"  
LOCAL TransactionStatusQueryResponseTypeElements$="ResponseType, VaultResponseType, RecurringResponseType, "+"TransactionResponseType, TransactionSettlementStatusType, Customer"  
LOCAL TransactionSettlementStatusTypeElements$="TransactionType, SettlementType, SettlementDate, BatchReference"  
LOCAL RecurringStatusQueryResponsesElements$="ArrayOfRecurringStatusQueryResponseType"  
LOCAL ArrayOfRecurringStatusQueryResponseTypeElements$="RecurringStatusQueryResponseType"  
LOCAL RecurringStatusQueryResponseTypeElements$="Responses, TransactionResponses, TransactionSettlementResponses, "+"Customers"  
LOCAL ResponsesElements$="ArrayOfResponseType"  
LOCAL ArrayOfResponseTypeElements$="ResponseType"  
LOCAL TransactionResponsesElements$="ArrayOfTransactionResponseType"  
LOCAL ArrayOfTransactionResponseTypeElements$="TransactionResponseType"  
LOCAL TransactionSettlementResponsesElements$="ArrayOfTransactionSettlementStatusType"  
LOCAL ArrayOfTransactionSettlementStatusTypeElements$="TransactionSettlementStatusType"  
LOCAL CustomersElements$="ArrayOfPersonType"  
LOCAL ArrayOfPersonTypeElements$="PersonType"  
LOCAL VaultStatusQueryResponseTypeElements$="ResponseType, VaultResponseType"  
LOCAL VaultAccountResponseTypeElements$="ResponseType, VaultAccountType, MerchantType"  
LOCAL AccountQueryResponseTypeElements$="ResponseType, MerchantType, Services, Active"  
LOCAL ServicesElements$="ArrayOfString"  
LOCAL ArrayOfStringElements$="String"  
PROPERTY ProgressBarInit  
Set to isTRUE if progress bar has been initialized outside of this program
PROPERTY Request_v1   * Read Only *
Handle to SPS Exchange top level Request Object
PROPERTY Response_v1   * Read Only *
Handle to SPS Exchange top level Response Object
PROPERTY ShowFullCardNoInVault  
Boolean - if true, display full credit card number in sage exchange vault screen, else only display last 4 digits
PROPERTY ImportTest  
Boolean - if true, records are being imported in test mode, credit card will not be added to the vault
PROPERTY UseCCOnlyAppID  
If true, use credit-card-only application ID in request sent to Sage Exchange

Methods

c_email$ = credit card e-mail address c_telephone$ = credit card telephone number c_fax$ = credit card fax number t_customer_number$ = corporate credit card customer number t_shipping$ = corporate credit card shipping amount, only included in submission when customer number has been included. t_tax$ = corporate credit card tax amount, only included in submission when customer number has been included. c_ship_name$ = corporate credit card shipping name, only included in submission when customer number has been included c_ship_address$ = corporate credit card shipping address name, only included in submission when customer number has been included c_ship_city$ = corporate credit card shipping city, only included in submission when customer number has been included c_ship_state$ = corporate credit card shipping state, only included in submission when customer number has been included c_ship_zip$ = corporate credit card shipping zip code, only included in submission when customer number has been included c_ship_country$ = corporate credit card shipping country, only included in submission when customer number has been included

FUNCTION AddNewCreditCard(pmtType$, cc$, yr$, mo$, guid$)  
FUNCTION AddNewCreditCard(pmtType$, cc$, yr$, mo$, guid$, routingNo$, acctNo$, acctType$)  

Add new credit card or ACH account to SPS Vault

ParameterDescription
pmtType$ [input, string] Payment Type
cc$ [input, string] Credit Card Number to add
yr$ [input, string] Credit Card Expiration Year (yyyy)
mo$ [input, string] Credit Card Expiration Month (mm)
guid$ [output, string] Credit Card GUID
routingNo$ {optional} [input, string] Bank routing number
acctNo$ {optional} [input, string] Bank account number
acctType$ {optional} [input, string] Bank account type (C or S)
Returns [boolean] True = success, False = failure
FUNCTION CheckARPaymentTypeNotUsed(payType$)  

Determines if PaymentType is used in credit-card related data files.

ParameterDescription
payType$ [input, string] The Payment Type value to be checked.
Returns [boolean] Success if PaymentType$ is not used, otherwise failure.
FUNCTION CheckGUIDDataEntry(guid$)  
FUNCTION CheckGUIDDataEntry(guid$, clearFlag)  
FUNCTION CheckGUIDDataEntry(guid$, clearFlag, companyCode$, newGuid$)  

Check to see if a particular GUID$ value is currently referenced in any data entries and replace value if newGuid$ sent in.

ParameterDescription
guid$ [input, string] The GUID value to be checked.
clearFlag {optional} [input, boolean] Flag set to isYES$ when called from Clear Credit Card utility
companyCode$ {optional} [input, string] CompanyCode$ to use while checking for GUIDs in use.
newGuid$ {optional} [input, string] New Guid$ value used to replace original guid value when switching vaults
Returns [boolean] Success if GUID$ not used, Failure if in use in any data entries.
FUNCTION CopyVaultToCCPaymentTypes(comp$, id$, key$)  

Copy CreditCardVaultOnlyID$/CreditCardVaultOnlyKey$ values into credit card records of AR_PaymentType and removes them from SY_Company.

ParameterDescription
comp$ [input, string] The Company Code - used to determine which AR_PaymentType file to be used for the copy.
id$ [input, string] The CreditCardVaultOnlyID$ value to be copied into VirtualTerminalID$ columns for all credit card payment method records in AR_PaymentType.
key$ [input, string] The CreditCardVaultOnlyKey$ value to be copied into MerchantKey$ columns for all credit card payment method records in AR_PaymentType.
Returns [boolean] The retVAL value from ValidateVaultSPS() method.
FUNCTION CreateRequest()  
FUNCTION Debug(tmpXML$, type$)  
FUNCTION Debug(tmpXML$, type$, skipDebugDisplay)  

Write to log and / or display xml requests / responses sent to / from SPS Exchange

ParameterDescription
tmpXML$ [input, string] The XML request to be logged.
type$ [input, string] Description for Debug log or message.
skipDebugDisplay {optional} [input, boolean] Flag to supress debug display message for non-transaction requests.
FUNCTION DeleteFromVault(guid$, payType$)  
FUNCTION DeleteFromVault(guid$, payType$, companyCode$)  
FUNCTION DeleteFromVault(guid$, payType$, companyCode$, fromID$, fromKey$)  

Method to delete a particular GUID from the Sage Exchange vault.

ParameterDescription
guid$ [string] GUID value to be deleted from the vault.
payType$ [string] Payment Type (required for MerchantID$ and MerchantKey$ values)
companyCode$ {optional} [input, string] The Company Code. If this is null, the current CompanyCode$ will be used.
fromID$ {optional} [input, string] The Merchant ID of original vault account.
fromKey$ {optional} [input, string] The Merchant Key of original vault account.
Returns [boolean] Success if record deleted, otherwise failure.
FUNCTION GetClasses$()  
FUNCTION GetClasses$(separator$)  

Retrieve Classes exposed in Sage.Exchange dll

ParameterDescription
separator$ (optional) [input, string] separator to use in string returned, default = SEP
Returns [string] concatenated list of classes exposed in Sage.Exchange dll
FUNCTION GetElements$(xmlNode$)  
FUNCTION GetElements$(xmlNode$, recurse)  
FUNCTION GetElements$(xmlNode$, recurse, separator$)  

Retrieve SPS Exchange Schema Elements

ParameterDescription
xmlNode$ [input, string] xmlNode$ to start search
recurse (optional) [input, boolean] recurse into lower level nodes
separator$ (optional) [input, string] separator to use in string returned, default = SEP
Returns [string] concatenated list of SPS Exchange Schema elements by xmlNode
FUNCTION GetPaymentTypeData(payType$, m_id$, m_key$)  
FUNCTION GetPaymentTypeData(payType$, m_id$, m_key$, payMethod$)  

Determine Vault ID, Merchant Key, and payment method from the Payment Type

ParameterDescription
payType$ [input, string] The payment type to read
m_id$ [output, string] Virtual Terminal ID
m_key$ [output, string] Merchant Key
payMethod$ {optional} [output, string] Payment method
Returns [boolean] True = success, False = failure
FUNCTION GetVaultAccount(m_id$, m_key$)  
FUNCTION GetVaultAccount(m_id$, m_key$, comp$)  

Returns Vault Account data. If no vault account exists, a new vault account will be created.

ParameterDescription
m_id$ [output, string] The Merchant ID of vault account.
m_key$ [output, string] The Merchant Key of vault account.
comp$ {optional} [input, string] The Company Code. If this is null, the current CompanyCode$ will be used.
Returns [boolean] Success if the id$ and key$ are sucessfully determined.
FUNCTION LockConvFiles()  
FUNCTION LockConvFiles(companyCode$)  
FUNCTION LockConvFiles(companyCode$, lockPaymentType)  

Lock needed AR files so SwitchVaults and SwitchAllVaults methods have exclusinve access

ParameterDescription
{optional} companyCode$ [input, string] The Company Code. If this is null, the current CompanyCode$ will be used.
lockPaymentType {optional} [input, boolean] Set to isTRUE if AR_PaymentType must also be locked
Returns [boolean] Success if lock file(s) created, otherwise failure.
FUNCTION ProcessVault(service$, payType$, guid$, last4Nos$, expYear$, expMonth$, cardType$, last4RoutingNo$, last4AcctNo$, acctType$)  

Create or Update card data in Sage Exchange Vault

ParameterDescription
service$ [input, string] Value for vaultOp'VaultStorage'Service$ node of XML (CREATE|UPDATE|RETRIEVE|DELETE, This method will pop the SPS Exchange Vault dialog)
payType$ [input, string] PaymentType$ needed to determine m_id$ and m_key$
guid$ [input & output, string] GUID value to be updated or returned if "CREATE"
last4Nos$ [output, string] Value for Last4UnencryptedCreditCardNos$ column
expYear$ [output, string] Value for ExpirationDateYear$ column
expMonth$ [output, string] Value for ExpirationDateMonth$ column
cardType$ [output, string] Value for CardType$ column
last4RoutingNo$ [output, string] Value for Last4BankRoutingNos$ column
last4AcctNo$ [output, string] Value for Last4BankAccountNos$ column
acctType$ [output, string] Value for BankAccountType$ column
Returns [boolean] Success if card was created or updated in the vault, Warning if cancel was pressed, otherwise failure
FUNCTION ResetAR_Files()  

Close company specific data files when company is changed. returns [boolean] Always returns retSUCCESS

FUNCTION RetrieveVault(payType$, guid$)  

Retrieve credit card data from Sage Exchange Vault (view only)

ParameterDescription
payType$ [input, string] PaymentType$ needed to determine m_id$ and m_key$
guid$ [input, string] GUID value to be retrieved
Returns [boolean] True (success) if vault accessed, false if unable to access vault to retrieve the credit card data
FUNCTION SetMerchant(objHandle, pmtType$)  
FUNCTION SetMerchant(objHandle, pmtType$, comp$)  

Sets merchant data for .net SPS requests

ParameterDescription
objHandle [input, objectHandle] The object handle of the request.
pmtType$ [input, string] The Payment Type for the request.
comp$ {optional} [input, string] The Company Code. If this is null, the current CompanyCode$ will be used.
Returns [boolean] Success or Failure.
FUNCTION SEVDQuerySubmit$(requestObj)  

Submit Query to Sage Payments via Sage Exchange Virtual Desktop (SEVD)

ParameterDescription
requestObj [constant, object handle] The handle to the request object containing the XML to be included in the submission.
Returns [string] Query response string (XML) returned by Sage Payments
FUNCTION SEVDTransactionSubmit$(requestObj)  

Submit credit card transaction request to Sage Payments via Sage Exchange Virtual Desktop (SEVD)

ParameterDescription
requestObj [constant, object handle] The handle to the request object containing the XML to be included in the submission.
Returns [string] Query response string (XML) returned by Sage Payments of transaction status query performed following transfer of CC request to SEVD
FUNCTION SOAPInsert$(m_id$, m_key$, data$)  

Insert credit card / ACH data to vault using SOAP

ParameterDescription
m_id$ [string] Virtual Terminal ID of SPS vault.
m_key$ [string] Merchant Key of SPS vault.
data$ [string] data to be inserted into vault in the format:
Returns [string] GUID value for card inserted or null if card not inserted.
FUNCTION Submit()  
FUNCTION SwitchAllVaults()  
FUNCTION SwitchAllVaults(companyCode$)  
FUNCTION SwitchAllVaults(companyCode$, copyFlag, srcVaultID$, srcVaultKey$)  

Moves Customer Credit Card records from one vault account to another for all credit card payment types.

ParameterDescription
companyCode$ {optional} [input, string] The Company Code. If this is null, the current CompanyCode$ will be used.
copyFlag {optional} [input, boolean] Flag set to isTRUE if source data is not to be deleted from original vault.
srcVaultID$ {optional} [input, string] The Vault-Only ID of the souce Company during a Company Copy.
srcVaultKey$ {optional} [input, string] The Vault-Only Key of the souce Company during a Company Copy.
Returns [boolean] Success unless GetVaultAccount() fails.
FUNCTION SwitchVaultRecord$(fromID$, fromKey$, toID$, toKey$, orig_guid$, payType$, companyCode$)  
FUNCTION SwitchVaultRecord$(fromID$, fromKey$, toID$, toKey$, orig_guid$, payType$, companyCode$, copyFlag)  

Adds GUID record to new vault and deletes record from old vault (unless copy flag is set).

ParameterDescription
fromID$ [input, string] The Merchant ID of original vault account.
fromKey$ [input, string] The Merchant Key of original vault account.
toID$ [input, string] The Merchant ID of new vault account.
toKey$ [input, string] The Merchant Key of new vault account.
orig_guid$ [input, string] The guid value in the original vault account.
payType$ [input, string] The PaymentType associated with the orig_guid$ value (needed to delete the guid).
companyCode$ [input, string] The Company Code.
copyFlag {optional} [input, boolean] Flag set to isTRUE if source data is not to be deleted from original vault.
Returns [boolean] Always returns Success.
FUNCTION SwitchVaults(fromID$, fromKey$, toID$, toKey$, payType$)  
FUNCTION SwitchVaults(fromID$, fromKey$, toID$, toKey$, payType$, companyCode$)  
FUNCTION SwitchVaults(fromID$, fromKey$, toID$, toKey$, payType$, companyCode$, copyFlag)  

Moves Customer Credit Card/ACH records from one vault account to another.

ParameterDescription
fromID$ [input, string] The Merchant ID of original vault account.
fromKey$ [input, string] The Merchant Key of original vault account.
toID$ [input, string] The Merchant ID of new vault account.
toKey$ [input, string] The Merchant Key of new vault account.
payType$ [input, string] The PaymentType for which to move records. If this is null - all (and only) credit card payment types are moved.
companyCode$ {optional} [input, string] The Company Code. If this is null, the current CompanyCode$ will be used.
copyFlag {optional} [input, boolean] Flag set to isTRUE if source data is not to be deleted from original vault.
Returns [boolean] Success unless parameters are not passed-in correctly.
FUNCTION TestSPSConnection(id$, key$)  
FUNCTION TestSPSConnection(id$, key$, encryptedFlag)  

Calls Sage Exchange to test CreditCardVaultOnlyID$/CreditCardVaultOnlyKey$ combination to see if they form a valid connection.

ParameterDescription
id$ [input, string] The Merchant ID of id/key compbination to be validated.
key$ [input, string] The Merchant Key of id/key compbination to be validated.
Returns [boolean] Failure if invalid connection, Warning for vault account and Success for valid processing account.
FUNCTION UnlockConvFiles()  

Unlock files previously locked in LockConvFiles()

FUNCTION ValidateMerchantInfo$(merchantID$, merchantKey$)  

Validate Merchant Info with SPS Exchange

ParameterDescription
merchantID$ [input, string] SPS Virtual Terminal ID / Merchant ID / UserID to validate
merchantKey$ [input, string] SPS Merchant Key to validate
Returns [string] 'VAULT' for vault only acct, 'CREDITCARD' for processing acct and Null value for invalid acct.
FUNCTION VaultBankcardAuthOnly(m_id$, m_key$, c_name$, c_address$, c_city$, c_state$, c_zip$, c_country$, guid$, t_amt, t_ordernum$, c_cvv$, approval_indicator$, reference$, code$, date$, time$, message$)  
FUNCTION VaultBankcardAuthOnly(m_id$, m_key$, c_name$, c_address$, c_city$, c_state$, c_zip$, c_country$, guid$, t_amt, t_ordernum$, c_cvv$, approval_indicator$, reference$, code$, date$, time$, message$, debugLog)  
FUNCTION VaultBankcardAuthOnly(m_id$, m_key$, c_name$, c_address$, c_city$, c_state$, c_zip$, c_country$, guid$, t_amt, t_ordernum$, c_cvv$, approval_indicator$, reference$, code$, date$, time$, message$, debugLog, extra$)  
FUNCTION VaultBankcardAuthOnly(m_id$, m_key$, c_name$, c_address$, c_city$, c_state$, c_zip$, c_country$, guid$, t_amt, t_ordernum$, c_cvv$, approval_indicator$, reference$, code$, date$, time$, message$, debugLog, extra$, pmtType$)  

Process credit card pre-authorization transaction request ('Auth Only') using vault services SOAP interface.

ParameterDescription
m_id$ [input, string] Virtual Terminal ID of SPS vault, can be null if pmtType$ is included in submission.
m_key$ [input, string] Merchant Key of SPS vault, can be null if pmtType$ is included in submission.
c_name$ [input, string] credit card name
c_address$ [input, string] credit card address
c_city$ [input, string] credit card city
c_state$ [input, string] credit card state
c_zip$ [input, string] credit card zip code
c_country$ [input, string] credit card country
guid$ [input, string] SPS Exchange Vault credit card guid
t_amt [input, numeric] credit card transaction amount, cannot be <= 0
t_ordernum$ [input, string] credit card order number
c_cvv$ [input, string] credit card CVV number
approval_indicator$ [output, string] A = Approved, E=Front-End Error/Non Approved, X = Gateway Error/Non Approved
reference$ [output, string] unique credit card transaction id by SPS Exchange. Used for future reference of successful transactions in SPS Exchange data base.
code$ [output, string] Approval or error code returned by SPS Exchange.
date$ [output, string] credit card transaction authorization date
time$ [output, string] credit card transaction authorization time
message$ [output, string] Approval or error message returned by SPS Exchange.
debugLog {optional} [input, boolean] log credit card transaction request and response in credit card debug log
extra$ {optional} [input, string] SEP (CHR(138)) separated list of name = value pairs of optional additional element values to be included in the credit card transaction request
ParameterDescription
pmtType$ {optional} [input, string] AR_PaymentType$ to retrieve SPS m_id$ and m_key$ for use on the Credit Card transaction request. When included, the AR_PaymentType$ m_id$ and m_key$ will override the m_id$ and m_key$, if also submitted.
Returns [boolean] Success if pre-authorization request was successful, otherwise failure
FUNCTION VerifyGUID$(m_id$, m_key$, guid$)  
FUNCTION VerifyGUID$(m_id$, m_key$, guid$, dllError$)  

Verify GUID exists in vault

ParameterDescription
m_id$ [input, string] Virtual Terminal ID of SPS vault.
m_key$ [input, string] Merchant Key of SPS vault.
guid$ [input, string] GUID value in the vault.
dllError$ {optional} [output, string] dll error message
Returns data$ [string] Null if the card is not in the vault, otherwise raw Credit Card No. + "|" + expirationDateMonth$ + expirationDateYear$.
FUNCTION VerifyGUIDPaymentType$(paymentType$, guid$)  
FUNCTION VerifyGUIDPaymentType$(paymentType$, guid$, companyCode$)  

Verify GUID exists in vault

ParameterDescription
payType$ [input, string] The Payment Type from AR_PaymentType.
guid$ [input, string] GUID value in the vault.
companyCode$ {optional} [input, string] CompanyCode$ to use while checking for existing GUID.
Returns data$ [string] Null if the card is not in the vault, otherwise raw Credit Card No. + "|" + expirationDateMonth$ + expirationDateYear$.

Properties inherited from: AR_CreditCardSPS

isFALSE, isTRUE, retSUCCESS, retFAILURE, errOBJECT, Sage.Exchange, Sage.COM, SDKAvailable

Properties inherited from: SY_Constant

retFAILURE, retSUCCESS, retNEW, retWARNING, retCANCEL, retYES, retNO, msgYES$, msgNO$, msgCANCEL$, msgOK$, msgRETRY$, msgABORT$, msgIGNORE$, msgNOTONFILE$, msgTIMEOUT$, msgDISABLE, msgACTIVE, msgLinkHELP$, msgLinkMSG$, isFALSE, isTRUE, isYES$, isNO$, isBUSY$, edtNONE, edtEXISTS, edtNEW, ctlDISABLE, ctlENABLE, ctlSHOW, ctlHIDE, ctlLOCK, ctlUNLOCK, ctlLOCKORDISABLE, ctlUNLOCKORENABLE, popHIDE, popDISABLE, popSHOW, popSHOWCHECKED, grdMODEVIEW, grdMODEMAINT, grdMODEADD, filCREATE, filLOCK, filCREATELOCK, filGLOBAL, filCREATEGLOBAL, filLOCKGLOBAL, filCREATELOCKGLOBAL, filCHANNEL, filRAW, filPURGE, filLOAD, filINPUT, filNOOBJECT, filPVX, filREFRESH, filPVX4$, filPVX5$, pthCOMPANY$, pthOTHERCOMPANY$, pthPRCOMPANY$, pthOTHERPRCOMPANY$, pthSYSTEM$, pthUSER$, pthSOA$, pthHOME$, pthROOT$, pthDICTIONARY$, pthTEXTOUT$, pthLOCK$, pthLOCKSYS$, pthPREFIX$, pthARCHIVE$, pthLOGFILES$, folderCOMMONPROGRAMFILES, folderCOMMONAPPLICATIONDATA, errOBJECT, errSYSTEMLOCK, errCONTINUE, errEMBEDDEDIO, errSYSLOCK, extSQLCREATETABLE$, extSQLALLOWNULLDATES$, dbALL$, dbNONE$, dateTOSTRINGFORMAT$, dateLONGMASK$, dateSHORTFMT, dateLONGFMT, dateYEARFIRST, dateMONTHFIRST, dateDAYFIRST, timeMINUTESMASK$, timeMINUTES24MASK$, timeSECONDSMASK$, timeSECONDS24MASK$, idxPRIMARY$, idxBATCH$, idxDISPLAY$, dirFIRST, dirLAST, dirNEXT, dirPREVIOUS, typALPHANUM, typZEROFILL, typCHARNUM, typMASTERNUM, typALPHANUMNF, typMASTERNUMC, typALPHA$, typNUMBERS$, typALPHANUM$, typALPHANUMNF$, typCHARNUM$, typMASTERNUM$, typMASTERNUMCLEN, modTASKOTFDISALLOW$, logALLACTIVITY$, logACTIVITY$, logERROR$, logACTNEWCUSTOMER$, logACTDATASYNC$, logACTDATAIMPORT$, logACTOPTIONCHANGED$, logACTPROGRAMLAUNCH$, logDFDM$, logSECURITY$, logTASKSCHEDULER$, logWEBERROR$, logVISUALINTEGRATOR$, logEntryIDLength, chkOFF$, chkON$, chkGRAYED$, secVIEWONLY, secCREATEONLY, secMODIFYONLY, secCREATEMODIFY, secDELETEONLY, secCREATEDELETE, secMODIFYDELETE, secFULLACCESS, secDEFAULTUSER$, secDEFAULTROLE$, regHKEY_CLASSES_ROOT, regHKEY_CURRENT_USER, regHKEY_LOCAL_MACHINE, regHKEY_USERS, regHKEY_CURRENT_CONFIG, regODBC_PATH$, regMAS_PATH$, E3_MYHANDLE, E3_TASK, E3_QUIT, E3_COCHANGE, E3_DATECHANGE, E3_USERCHANGE, E3_SRVRPATH, E3_HELPFILE, E3_TECHSUPPORT, E3_QUERYTOQUIT, E3_SUPERVISOR, E3_CUSTOMIZE, E3_SWITCHMODULE, E3_DISABLEWIN, E3_CURSOR, E3_USERID, E3_PRIVATETASK, E3_CHAT, E3_BROADCAST, E3_RELOAD, E3_PASSTHROUGH, E3_EXECUTE, E3_EXPCOCHANGE, E3_EXPTASK, E3_EXPLAUNCH, E3_SILENT, E3_DIRECT, E3_NODELIST, E3_OCXITEM, E3_MODULEID, E3_CUSTFAV, E3_HOMEPAGE, E3_MINIMIZE, E3_UNDOCKED, E3_DOCKED, E3_PUBLICTASK, E3_LAUNCHURL, E3_BTNCHANGE, E3_STDBTNRELOAD, E3_MYBUSINESS, E3_REGLOADED, E3_LOADED, E3_V4TASK, E3_PUBMODIFY, E3_TASKRELOAD, E3_SETAUTOHIDE, E3_COCHANGE2, E3_TASK_NC, E3_V4TASK_NC, E3_TASK_ALTC, E3_V4TASK_ALTC, E3_PASSWORD, E3_LAUNCHVIEW, E3_LAUNCHBIETASK, E3_CLEANUPBIE, E3_STARTVIEW, E3_BIE_ADMIN, E3_HELPPATH, E3_CUSTOMERID, E3_MASVERSION, E3_LAUNCHEMBEDDED, E3_LAUNCHERMENU, E3_APP_POINTSIZE, E3_LAUNCHERVERSION, E3_DISABLE, E3_ENABLE, E3_SHOW, E3_HIDE, E3_REFRESH, E3_LIBMASTER, WM_COPY, wtsINITIALPROGRAM, wtsAPPLICATIONNAME, wtsWORKINGDIRECTORY, wtsOEMID, wtsSESSIONID, wtsUSERNAME, wtsWINSTATIONNAME, wtsDOMAINNAME, wtsCONNECTSTATE, wtsCLIENTBUILDNUMBER, wtsCLIENTNAME, wtsCLIENTDIRECTORY, wtsCLIENTPRODUCTID, wtsCLIENTHARDWAREID, wtsCLIENTADDRESS, wtsCLIENTDISPLAY, wtsCLIENTPROTOCOLTYPE, thmNORMAL, thmMETAL, thmOLIVE, rptREPORTTYPESTD, rptREPORTTYPELABEL, rptREPORTTYPEMULTCOL, rptISTRUE, rptISFALSE, rptISDEFAULT, rptPORTRAIT, rptLANDSCAPE, rptASCENDING, rptDESCENDING, rptRIGHTALIGN, rptLEFTALIGN, rptHORCENTERALIGN, rptLSSINGLELINE, rptSTSUM, rptSTAVERAGE, rptSTCOUNT, rptDFLTHSPACING, rptDFLTVSPACING, rptDFLTFONTSIZE, rptDFLTLEFT, rptDFLTTOP, rptTWIPSPERCHARW, rptTWIPSPERCHARH, rptSVTREPORTTITLE, rptEDTDISKFILE, rptGCANYVALUE, rptGCDAILY, rptCRDATEFIELD, rptCRDATETIMEFIELD, crEFTCrystalReport, crEFTRichText, crEFTWordForWindows, crEFTExcel, crEFTPortableDocFormat, crEFTHTML32, crEFTHTML40, crEFTExcelRecord, crEFTText, crEFTCharacterSeparatedValues, crEFTTabSeparatedText, crEFTEditableRTF, crEFTXml, crEFTRPTR, crEFTExcelWorkbook, cContextKeyLen1, cContextKeyLen2, cContextKeyLen3, adCmdText, adCmdStoredProc, adClipString, adExecuteNoRecords, adVarChar, adInteger, adParamInput, adParamOutput, adParamInputOutput, adParamReturnValue, adTextNoRecords, adOpenForwardOnly, adOpenStatic, adLockReadOnly, adUseServer, adUseClient, dbTMP$, dbTEMPDB$, dbSYSDB$, dbPVXDDF, dbPVXDB, dbMYSQL, dbADO, dbSQL, LastErrorMsg$, LastErrorNum$, SageCloudAppDesc$, IolNomads$

Properties inherited from: SY_OpenObject

cLockInfoNOKEY$

Properties inherited from: SY_Password

AESCipher$, AES256Cipher$

Methods inherited from: AR_CreditCardSPS

Create(), FromXML(), GetUniqueID$(), TestInternetConnection(), ToXML$(), CreateRequest(), Submit()

Methods inherited from: SY_Constant

GetNOMADSIolist$(), MaskString(), RawString(), ClassValidateEMailAddress(), dateTODAY$(), Element$(), fmtMODCODE$(), fmtMODPREFIX$(), PERFORM FunctionBreak(), GetExceptionMsg$(), GetFileName(), GetJobTitles(), GetPrinterProps(), GetRecordCount(), isALPHA(), isDATE(), isNUMERIC(), MsgPath$(), ParseString(), ParseTagField(), Position(), QUO$(), ValidateFormatType()

Methods inherited from: SY_OpenObject

CheckWhoHasLock(), CreateLockInfo(), RemoveLockInfo(), OpenTable(), OpenTempFile()

Methods inherited from: SY_Password

ConfirmAESKey(), ConfirmPassword(), EncryptAESData(), EncryptAESKey(), EncryptAESPassword(), EncryptPassword(), GetAESDataTest$(), PasswordAcceptable(), ValidateAESData(), ValidateAESPassword(), ValidatePassword(), VerifyAESDataEncryption(), DecryptAESData(), DecryptAESKey(), DecryptAESPassword(), DecryptAltAESData(), DecryptPassword(), EncryptAltAESData(), GetKEK$(), InitAESKey(), InitializeAES(), InitializeAltAES(), ValidateAltAESData(), VerifyAltAESDataEncryption()