EliautdpService
EliautdpService.asmx
This web service provides a method to process credit cards after the fact. It assumes you already processed a credit card without going through Elliott’s credit card payment gateway.
This method will perform the “cash receipt” for a credit card transaction. It will update the following Elliott tables:
· ARCUSFIL: Customer (balance, and payment information)
· AROPNFIL: A/R Open Item
· ARDISFIL: A/R Distribution
· ARCRCLOG: A/R Credit Card Log
The regular A/R cash receipt does not update A/R Credit Card Log.
El2crcrdService
can also perform similar functions. The difference is El2crcrdService will also
charge the credit card through Elliott's credit card payment gateway, so it is a
two-in-one function. Not only does it charge the credit card; it also performs the
cash receipt. On the other hand, EliauddpService only performs the cash receipt
function.
Usage:
AutoDepositResult = A.AutoDeposit(UserName, UserPassword, AutoDepositInput)
Parameters UserID, Password are not used at this moment.
AutoDepositInput Structure
Property Name |
Length |
Type |
Upper |
Detail |
CustomerNo |
6 |
String |
Y |
Required. |
TransactionDate |
8 |
Date |
|
Default to system date. |
TransactionTime |
6 |
Integer |
|
Default to system time. |
ApplyTo |
6 |
Prior to V8.5: Integer V8.5 or Above: String |
|
This is the apply-to invoice number. If the invoice becomes fully paid as a result of this transaction, the system will also update customer’s average days-to-pay. |
Amount1 |
7.2 |
Double |
|
Required. This is the principle payment amount. |
Amount2 |
7.2 |
Double |
|
This is secondary payment amount. Normally, you will leave this field as zero. In some situations, you can put a negative amount to reflect a convenience fee, or a positive amount to reflect early payment discount. For example, if customer needs to pay $100, you may charge $3 for a convenience fee. Then the actual credit card charge will be $103. In this situation, you will pass the amount1 as 103 and amount2 as -3. |
CreditType |
4 |
String |
Y |
Possible values are “VISA,” “MAST,” “AMEX,” “DINE,” “DISC” and “ENRO.” You can also leave it blank. If CreditType is provided, this method will validate if the credit card number matches the card type. If not, an error is returned. You may use this as safety logic to prevent accepting wrong credit cards. |
CreditNumber |
19 |
String |
|
This field is required and it is the 15-digit (AMEX) or 16-digit (other) credit card number. |
ExpYear |
4 |
Integer |
|
This field is required and is the 4-digit credit card expiration year. |
ExpMonth |
2 |
Short |
|
This field is required and is the 2-digit credit card expiration month. |
CardHolder |
30 |
String |
Y |
This field will be used to update ARCRCLOG. |
Address1 |
30 |
String |
Y |
This field will be used to update ARCRCLOG. |
Address2 |
30 |
String |
Y |
This field will be used to update ARCRCLOG. |
City |
15 |
String |
Y |
This field will be used to update ARCRCLOG. |
State |
2 |
String |
Y |
This field will be used to update ARCRCLOG. |
ZipCode |
10 |
String |
|
This field will be used to update ARCRCLOG. |
Country |
20 |
String |
Y |
This field will be used to update ARCRCLOG. |
ApprovalNo |
30 |
String |
Y |
If Source = “WEB” or blank, then this field is required. This is a custom implementation which may not apply to you, so we suggest you always provide a value to Source other than “WEB.” |
ReferenceNo |
10 |
String |
Y |
This field will be used to update ARCRCLOG. |
ReferenceText |
60 |
String |
Y |
This field will be used to update ARCRCLOG. |
Source |
6 |
String |
Y |
This field refers to the Elliott Payment Source. You should set up a payment source for each credit card merchant account. Generally speaking, you should have separate merchant accounts for ecommerce, MOTO and retail credit card transactions. If you use this web service for your ecommerce website, then enter the corresponding payment source here. Default to “WEB.” We suggest you always provide a valid payment source other than “WEB.” |
EnforceValidCRCard |
1 |
String |
Y |
“Y”: Enforces the credit card number to be valid based on the checksum logic. “N”: Does not enforce the passed credit card number to be valid. You may want to do this if the payment amount received is not from a credit card. Blank (default): Determines whether to enforce valid credit card numbers by Elliott Global Setup -> eContact Manager -> “7. Enforce Valid Credit Card Number” |
UserID |
10 |
String |
|
Default to “SUPERVISOR.” |
WorkstationID |
10 |
String |
|
Default to “SUPERVISOR.” |
UpdateAR |
1 |
String |
Y |
“Y” (Default): System will create A/R open item record. “N”: System will not create A/R open item. In some rare situations, if the money received is not for crediting the receivable, then you will set this flag to “N.” In that case, the user needs to specify CRAcctNo. |
CRAcctNo |
24 |
String |
Y |
Provide the 24-digit GL account number in the internal format. For example, if the GL account to credit is 1234-12-1, the corresponding internal format is 000012340000001200000001. This field is required if UpdateAR is “N.” |
* Upper = Y indicates the value of the property will be converted to upper case.
Output Structure
Property Name |
Type |
Detail |
ReturnCode |
Integer |
Contains return code. Zero means OK; for other return codes, please see the “EliitmiqService Return Code” section. |
ReturnMsg |
String |
This is a description of the return code. For example, if return code is zero, you can expect “OK” in this field. |
CheckNo |
Prior to V8.5: Integer V8.5 or Above: String |
This is the sequentially assigned A/R document number for the payment record just created in the AROPNFIL table. |
Code Example (VB)
The following sample code will deposit one credit card payment.
Dim Service As New webServicesAutdp.EliautdpService
Dim Input As New webServicesAutdp.AutoDepositInput
Dim Result As New webServicesAutdp.AutoDepositResult
Input.CustomerNo = "CUST01"
Input.CreditNumber = "4111111111111111”
Input.ExpYear = 2020
Input.ExpMonth = 08
Input.Source = “CC-WEB”
Input.EnforceValidCRCard = “Y”Result = Service.AutoDeposit("","",Input)
If Result.ReturnCode = 0 Then
lblResult.Text = _
"Payment Doc# " & Result.CheckNo.ToString & “ Created”
Else
lblResult.Text = Result.ReturnMsg
End If
EliautdpService Error Code
0 = OK
1 = File Error
2 = Data Missing (No Customer No)
3 = Data Missing (No Amount [AMOUNT-1])
4 = Data Missing (No Credit Card Number)
5 = Data Missing (No Expiration Year & Month)
6 = Credit Card Type Mismatch
7 = Data Missing (No Approval Number)
8 = Credit Card Type invalid
9 = Incorrect Credit Card Length
10 = Expiration Year/Month invalid
11 = This Credit Card Has Already Expired
12 = Credit Card Number Invalid
13 = Customer Record Locked, Please try again.
14 = NSI Control File Not Found
15 = Source Not On File
16 = Credit Type Required (Enforce Credit Checking Off)
17 = Invalid Update A/R Flag ("Y" or "N")
18 = CR Acct Number Required
CLS