Payment Processing – Credit, Check, Debit

ProcessCreditCard
Endpoint URL:
https://secure.ftipgw.com/ArgoFire/transact.asmx?op=ProcessCreditCard
Method:
SOAP (Action: ProcessCreditCard
)
Description: Submits a real-time credit card transaction for authorization and optional capture. This is the core processing endpoint for credit card payments, supporting both one-time and token-based transactions.
Request Parameters:
Username
string
Yes
API credential username
Password
string
Yes
API credential password
TransType
string
Yes
Transaction type: Sale
, Auth
, Return
, or PostAuth
Amount
decimal
Yes
Amount to charge in dollars (e.g., 10.00
)
NameOnCard
string
No
Cardholder's name
CcAccountNum
string
Conditional
Raw credit card number — required if no token is used
CcExpDate
string
Conditional
Expiration date (MMYY) — required if using raw card data
CcInfoKey
string
Conditional
Tokenized card key — required if not passing card number directly
Cvv2
string
Optional
3- or 4-digit CVV code
ClientTransactionID
string
No
Optional merchant-side transaction reference
InvoiceNumber
string
No
Optional invoice number for reconciliation
Street
string
No
Optional AVS field: billing address street
Zip
string
No
Optional AVS field: billing ZIP code
string
No
Optional email address for receipt or records
ExtData
string
No
Optional XML-formatted metadata for advanced options (see Notes)
Notes:
Either
CcAccountNum
+CcExpDate
orCcInfoKey
must be provided — never both.TransType
values:Sale
– Authorizes and captures fundsAuth
– Authorization only (for later capture viaPostAuth
)Return
– Issues a refund for a previous salePostAuth
– Captures funds from a previousAuth
ExtData
can be used to pass flags like<![CDATA[<CustRef>12345</CustRef><Force>T</Force>]]>
CVV is not stored and must be passed each time (if required).
This endpoint returns a response object that includes:
Result
(0 = success)RespMSG
(e.g., "Approved")AuthCode
TransRefID
(used for lookups and reporting)
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 /ArgoFire/transact.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://TPISoft.com/SmartPayments/ProcessCreditCard"
<?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>
<ProcessCreditCard xmlns="http://TPISoft.com/SmartPayments/">
<UserName>string</UserName>
<Password>string</Password>
<TransType>string</TransType>
<CardNum>string</CardNum>
<ExpDate>string</ExpDate>
<MagData>string</MagData>
<NameOnCard>string</NameOnCard>
<Amount>string</Amount>
<InvNum>string</InvNum>
<PNRef>string</PNRef>
<Zip>string</Zip>
<Street>string</Street>
<CVNum>string</CVNum>
<ExtData>string</ExtData>
</ProcessCreditCard>
</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>
<ProcessCreditCardResponse xmlns="http://TPISoft.com/SmartPayments/">
<ProcessCreditCardResult>
<Result>int</Result>
<RespMSG>string</RespMSG>
<Message>string</Message>
<Message1>string</Message1>
<Message2>string</Message2>
<AuthCode>string</AuthCode>
<PNRef>string</PNRef>
<HostCode>string</HostCode>
<HostURL>string</HostURL>
<ReceiptURL>string</ReceiptURL>
<GetAVSResult>string</GetAVSResult>
<GetAVSResultTXT>string</GetAVSResultTXT>
<GetStreetMatchTXT>string</GetStreetMatchTXT>
<GetZipMatchTXT>string</GetZipMatchTXT>
<GetCVResult>string</GetCVResult>
<GetCVResultTXT>string</GetCVResultTXT>
<GetGetOrigResult>string</GetGetOrigResult>
<GetCommercialCard>string</GetCommercialCard>
<WorkingKey>string</WorkingKey>
<KeyPointer>string</KeyPointer>
<ExtData>string</ExtData>
</ProcessCreditCardResult>
</ProcessCreditCardResponse>
</soap:Body>
</soap:Envelope>
SOAP 1.2
The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/transact.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ProcessCreditCard xmlns="http://TPISoft.com/SmartPayments/">
<UserName>string</UserName>
<Password>string</Password>
<TransType>string</TransType>
<CardNum>string</CardNum>
<ExpDate>string</ExpDate>
<MagData>string</MagData>
<NameOnCard>string</NameOnCard>
<Amount>string</Amount>
<InvNum>string</InvNum>
<PNRef>string</PNRef>
<Zip>string</Zip>
<Street>string</Street>
<CVNum>string</CVNum>
<ExtData>string</ExtData>
</ProcessCreditCard>
</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ProcessCreditCardResponse xmlns="http://TPISoft.com/SmartPayments/">
<ProcessCreditCardResult>
<Result>int</Result>
<RespMSG>string</RespMSG>
<Message>string</Message>
<Message1>string</Message1>
<Message2>string</Message2>
<AuthCode>string</AuthCode>
<PNRef>string</PNRef>
<HostCode>string</HostCode>
<HostURL>string</HostURL>
<ReceiptURL>string</ReceiptURL>
<GetAVSResult>string</GetAVSResult>
<GetAVSResultTXT>string</GetAVSResultTXT>
<GetStreetMatchTXT>string</GetStreetMatchTXT>
<GetZipMatchTXT>string</GetZipMatchTXT>
<GetCVResult>string</GetCVResult>
<GetCVResultTXT>string</GetCVResultTXT>
<GetGetOrigResult>string</GetGetOrigResult>
<GetCommercialCard>string</GetCommercialCard>
<WorkingKey>string</WorkingKey>
<KeyPointer>string</KeyPointer>
<ExtData>string</ExtData>
</ProcessCreditCardResult>
</ProcessCreditCardResponse>
</soap12:Body>
</soap12:Envelope>
HTTP POST
The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/transact.asmx/ProcessCreditCard HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
UserName=string&Password=string&TransType=string&CardNum=string&ExpDate=string&MagData=string&NameOnCard=string&Amount=string&InvNum=string&PNRef=string&Zip=string&Street=string&CVNum=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"?>
<Response xmlns="http://TPISoft.com/SmartPayments/">
<Result>int</Result>
<RespMSG>string</RespMSG>
<Message>string</Message>
<Message1>string</Message1>
<Message2>string</Message2>
<AuthCode>string</AuthCode>
<PNRef>string</PNRef>
<HostCode>string</HostCode>
<HostURL>string</HostURL>
<ReceiptURL>string</ReceiptURL>
<GetAVSResult>string</GetAVSResult>
<GetAVSResultTXT>string</GetAVSResultTXT>
<GetStreetMatchTXT>string</GetStreetMatchTXT>
<GetZipMatchTXT>string</GetZipMatchTXT>
<GetCVResult>string</GetCVResult>
<GetCVResultTXT>string</GetCVResultTXT>
<GetGetOrigResult>string</GetGetOrigResult>
<GetCommercialCard>string</GetCommercialCard>
<WorkingKey>string</WorkingKey>
<KeyPointer>string</KeyPointer>
<ExtData>string</ExtData>
</Response>
Valid Input Reference Characters
Table 1. Valid Data Characters
32
20
(space)
63
3F
?
96
60
<code>`</code>
33
21
!
64
40
@
97
61
a
34
22
“
65
42
A
98
62
b
35
23
#
66
42
B
99
63
c
36
24
$
67
43
C
100
64
d
37
25
%
68
44
D
101
65
e
38
26
&
69
45
E
102
66
f
39
27
‘
70
46
F
103
67
g
40
28
(
71
47
G
104
68
h
41
29
)
72
48
H
105
69
i
(typo note below)
42
2A
*
73
49
I
106
6A
j
43
2B
+
74
4A
J
107
6B
k
44
2C
,
75
4B
K
108
6C
l
45
2D
–
76
4C
L
109
6D
m
46
2E
.
77
4D
M
110
6E
n
47
2F
/
78
4E
N
111
6F
o
48
30
0
79
4F
O
112
70
p
49
31
1
80
50
P
113
71
q
50
32
2
81
51
Q
114
72
r
51
33
3
82
52
R
115
73
s
52
34
4
83
53
S
116
74
t
53
35
5
84
54
T
117
75
u
54
36
6
85
55
U
118
76
v
55
37
7
86
56
V
119
77
w
56
38
8
87
57
W
120
78
x
57
39
9
88
58
X
121
79
y
58
3A
:
89
59
Y
122
7A
z
59
3B
;
90
5A
Z
123
7B
{
60
3C
<
91*
—
124
7C
|
61
3D
=
94
5E
^
125
7D
}
62
3E
>
95
5F
_
126
7E
~
Table 2. XML Character Removal
These characters must be stripped by the Payment Server before submitting data to Web Service operations, to ensure correct XML parsing.
<
<
>
>
&
&
‘
'
“
"
Example: Character Removal in Action
If you submit:
NameOnCard = "John & James"
→ The&
is stripped → processed asJohn James
NameOnCard = "John & James"
→ Processed asJohn amp; James
RepeatSale
Description
Creates a new charge by repeating billing information used by a previous sale using its PNRef
. Ideal for processing payments without re-entering full card details.
Endpoint
https://secure.ftipgw.com/ArgoFire/transact.asmx?op=ProcessCreditCard
Required Parameters
UserName
Yes
Merchant’s API username.
Password
Yes
Merchant’s API password.
TransType
Yes
Must be set to Repeat Sale
.
PNRef
Yes
Reference number of the original sale to be repeated.
Sample Request
<Request>
<UserName>test</UserName>
<Password>123</Password>
<TransType>Repeat Sale</TransType>
<PNRef>2329</PNRef>
</Request>
Sample Response
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://secure.ftipgw.com/ArgoFire/">
<Result>0</Result>
<RespMSG>Approved</RespMSG>
<Message>APPROVAL VITAL2</Message>
<AuthCode>VITAL2</AuthCode>
<PNRef>2332</PNRef>
<GetCommercialCard>False</GetCommercialCard>
</Response>
Response Field Notes
Result = 0 → indicates success
RespMSG → human-readable status (
Approved
)Message → detailed response message (
APPROVAL VITAL2
)AuthCode → authorization reference for this RepeatSale transaction
PNRef → new reference number assigned to the RepeatSale
GetCommercialCard →
False
indicates the card is not a commercial card
Reversal
Description
Reverses a previously authorized but unsettled credit card transaction. Unlike a Void, which cancels the transaction before settlement, a Reversal is used to cancel an authorization that has not yet been captured.
Endpoint
https://secure.ftipgw.com/ArgoFire/transact.asmx?op=ProcessCreditCard
(Same endpoint used for all ProcessCreditCard
operations.)
Required Parameters
UserName
Yes
Merchant’s API username.
Password
Yes
Merchant’s API password.
TransType
Yes
Must be set to Reversal
.
PNRef
Yes
Reference number of the original authorization to reverse.
Sample Request
<Request>
<UserName>test</UserName>
<Password>123</Password>
<TransType>Reversal</TransType>
<PNRef>2327</PNRef>
</Request>
Sample Response
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://secure.ftipgw.com/ArgoFire/">
<Result>0</Result>
<RespMSG>Approved</RespMSG>
<Message>REVERSAL ACCEPTED</Message>
<AuthCode>GB00029 ACCEPTED</AuthCode>
<ExtData>Net_Count=1,Net_Amount=1,Settle_DT=2004-04-13 15:36:26</ExtData>
</Response>
Response Field Notes:
Result = 0 → indicates successful reversal
RespMSG → human-readable status (
Approved
)Message → confirmation message (
REVERSAL ACCEPTED
)AuthCode → authorization reference for the reversal
ExtData → contains batch settlement details: count, total amount, settlement timestamp
Void
Endpoint URL:
https://secure.ftipgw.com/ArgoFire/transact.asmx?op=ProcessCreditCard
Description: Reverses (voids) a previously authorized yet unsettled credit card transaction.
Required Parameters:
UserName
Yes
The merchant’s API username.
Password
Yes
The merchant’s API password.
TransType
Yes
Must be set to Void
.
PNRef
Yes
The reference number of the original transaction to be voided.
CardNum
No
Must be passed as null (not required, but must not contain a value).
ExpDate
No
Must be passed as null (not required, but must not contain a value).
Sample Response
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://secure.ftipgw.com/ArgoFire/">
<Result>0</Result>
<RespMSG>Approved</RespMSG>
<AuthCode>VITAL4</AuthCode>
<PNRef>2309</PNRef>
</Response>
Response Field Notes
Result = 0 → indicates the void was successful
RespMSG → human-readable status (
Approved
)AuthCode → approval reference code for the void
PNRef → new reference number created for the void transaction
ProcessCheck
Endpoint URL:
https://secure.ftipgw.com/ArgoFire/transact.asmx?op=ProcessCheck
Method:
SOAP (Action: ProcessCheck
)
Description:
Submits an electronic check (ACH) transaction using either raw bank account information or a previously generated CheckInfoKey
token. Supports both Sale
(debit) and Return
(credit/refund) transactions.
Request Parameters:
Username
string
Yes
API credential username
Password
string
Yes
API credential password
TransType
string
Yes
Transaction type: Sale
or Return
Amount
decimal
Yes
Dollar amount of the transaction (e.g., 50.00
)
NameOnCheck
string
No
Optional name on the checking account
CheckNum
string
No
Optional check number (for reference only)
BankRoutingNum
string
Conditional
Required if not using CheckInfoKey
BankAccountNum
string
Conditional
Required if not using CheckInfoKey
BankAcctType
string
Conditional
"C"
for Checking, "S"
for Savings — required with raw account info
CheckInfoKey
string
Conditional
Tokenized bank account key — use instead of raw routing/account info
ClientTransactionID
string
No
Optional merchant-defined transaction reference
InvoiceNumber
string
No
Optional invoice number
Street
string
No
Optional billing street address (for validation/risk scoring)
Zip
string
No
Optional ZIP code (for validation/risk scoring)
string
No
Optional email address for receipt
ExtData
string
No
Optional XML string for advanced configuration (see Notes)
Notes:
You must provide either
BankRoutingNum
+BankAccountNum
or a validCheckInfoKey
.TransType
must be either:Sale
— Debit the account (standard ACH pull)Return
— Credit the account (ACH refund)
ExtData
can carry optional XML metadata like:
<![CDATA[<Force>T</Force><Description>Subscription Payment</Description>]]>
Funds are not moved in real-time; ACH processing follows standard banking timelines (typically 1–3 business days).
The response includes fields such as:
Result
(0 = success)RespMSG
(e.g., "Approved", "Invalid Routing Number")TransRefID
for future lookups
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 /ArgoFire/transact.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://TPISoft.com/SmartPayments/ProcessCheck"
<?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>
<ProcessCheck xmlns="http://TPISoft.com/SmartPayments/">
<UserName>string</UserName>
<Password>string</Password>
<TransType>string</TransType>
<CheckNum>string</CheckNum>
<TransitNum>string</TransitNum>
<AccountNum>string</AccountNum>
<Amount>string</Amount>
<MICR>string</MICR>
<NameOnCheck>string</NameOnCheck>
<DL>string</DL>
<SS>string</SS>
<DOB>string</DOB>
<StateCode>string</StateCode>
<CheckType>string</CheckType>
<ExtData>string</ExtData>
</ProcessCheck>
</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>
<ProcessCheckResponse xmlns="http://TPISoft.com/SmartPayments/">
<ProcessCheckResult>
<Result>int</Result>
<RespMSG>string</RespMSG>
<Message>string</Message>
<Message1>string</Message1>
<Message2>string</Message2>
<AuthCode>string</AuthCode>
<PNRef>string</PNRef>
<HostCode>string</HostCode>
<HostURL>string</HostURL>
<ReceiptURL>string</ReceiptURL>
<GetAVSResult>string</GetAVSResult>
<GetAVSResultTXT>string</GetAVSResultTXT>
<GetStreetMatchTXT>string</GetStreetMatchTXT>
<GetZipMatchTXT>string</GetZipMatchTXT>
<GetCVResult>string</GetCVResult>
<GetCVResultTXT>string</GetCVResultTXT>
<GetGetOrigResult>string</GetGetOrigResult>
<GetCommercialCard>string</GetCommercialCard>
<WorkingKey>string</WorkingKey>
<KeyPointer>string</KeyPointer>
<ExtData>string</ExtData>
</ProcessCheckResult>
</ProcessCheckResponse>
</soap:Body>
</soap:Envelope>
SOAP 1.2
The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/transact.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ProcessCheck xmlns="http://TPISoft.com/SmartPayments/">
<UserName>string</UserName>
<Password>string</Password>
<TransType>string</TransType>
<CheckNum>string</CheckNum>
<TransitNum>string</TransitNum>
<AccountNum>string</AccountNum>
<Amount>string</Amount>
<MICR>string</MICR>
<NameOnCheck>string</NameOnCheck>
<DL>string</DL>
<SS>string</SS>
<DOB>string</DOB>
<StateCode>string</StateCode>
<CheckType>string</CheckType>
<ExtData>string</ExtData>
</ProcessCheck>
</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ProcessCheckResponse xmlns="http://TPISoft.com/SmartPayments/">
<ProcessCheckResult>
<Result>int</Result>
<RespMSG>string</RespMSG>
<Message>string</Message>
<Message1>string</Message1>
<Message2>string</Message2>
<AuthCode>string</AuthCode>
<PNRef>string</PNRef>
<HostCode>string</HostCode>
<HostURL>string</HostURL>
<ReceiptURL>string</ReceiptURL>
<GetAVSResult>string</GetAVSResult>
<GetAVSResultTXT>string</GetAVSResultTXT>
<GetStreetMatchTXT>string</GetStreetMatchTXT>
<GetZipMatchTXT>string</GetZipMatchTXT>
<GetCVResult>string</GetCVResult>
<GetCVResultTXT>string</GetCVResultTXT>
<GetGetOrigResult>string</GetGetOrigResult>
<GetCommercialCard>string</GetCommercialCard>
<WorkingKey>string</WorkingKey>
<KeyPointer>string</KeyPointer>
<ExtData>string</ExtData>
</ProcessCheckResult>
</ProcessCheckResponse>
</soap12:Body>
</soap12:Envelope>
HTTP POST
The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/transact.asmx/ProcessCheck HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
UserName=string&Password=string&TransType=string&CheckNum=string&TransitNum=string&AccountNum=string&Amount=string&MICR=string&NameOnCheck=string&DL=string&SS=string&DOB=string&StateCode=string&CheckType=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"?>
<Response xmlns="http://TPISoft.com/SmartPayments/">
<Result>int</Result>
<RespMSG>string</RespMSG>
<Message>string</Message>
<Message1>string</Message1>
<Message2>string</Message2>
<AuthCode>string</AuthCode>
<PNRef>string</PNRef>
<HostCode>string</HostCode>
<HostURL>string</HostURL>
<ReceiptURL>string</ReceiptURL>
<GetAVSResult>string</GetAVSResult>
<GetAVSResultTXT>string</GetAVSResultTXT>
<GetStreetMatchTXT>string</GetStreetMatchTXT>
<GetZipMatchTXT>string</GetZipMatchTXT>
<GetCVResult>string</GetCVResult>
<GetCVResultTXT>string</GetCVResultTXT>
<GetGetOrigResult>string</GetGetOrigResult>
<GetCommercialCard>string</GetCommercialCard>
<WorkingKey>string</WorkingKey>
<KeyPointer>string</KeyPointer>
<ExtData>string</ExtData>
</Response>
Auth Capture
Description
Performs both an authorization and a capture in one step—approving and settling a credit card transaction within the current batch (often used in terminal-based or dedicated flows).
Endpoint
https://secure.ftipgw.com/ArgoFire/transact.asmx?op=ProcessCreditCard
Required Parameters
UserName
Yes
Merchant’s API username.
Password
Yes
Merchant’s API password.
TransType
Yes
Must be set to Capture
.
PNRef
Yes
Reference number of the previous authorization.
Sample Request
<Request>
<UserName>test</UserName>
<Password>123</Password>
<TransType>Capture</TransType>
<PNRef>2327</PNRef>
</Request>
Sample Response
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://secure.ftipgw.com/ArgoFire/">
<Result>0</Result>
<RespMSG>Approved</RespMSG>
<Message>ACCEPTED</Message>
<AuthCode>GB00029 ACCEPTED</AuthCode>
<ExtData>Net_Count=1,Net_Amount=1,Settle_DT=2004-04-13 15:36:26</ExtData>
</Response>
Response Field Notes:
Result = 0 → indicates successful authorization and capture
RespMSG → human-readable status (e.g.,
Approved
)Message → additional confirmation (e.g.,
ACCEPTED
)AuthCode → reference code confirming the transaction
ExtData → contains batch settlement details: count, total amount, settlement timestamp
ProcessDebitCard
Endpoint URL:
https://secure.ftipgw.com/ArgoFire/transact.asmx?op=ProcessDebitCard
Method:
SOAP (Action: ProcessDebitCard
)
Description:
Processes real-time debit card transactions. This endpoint is used when merchants are configured for debit card routing separate from standard credit card processing. It supports Sale
, Auth
, Return
, and PostAuth
transaction types, similar to ProcessCreditCard
.
Request Parameters:
Username
string
Yes
API credential username
Password
string
Yes
API credential password
TransType
string
Yes
Transaction type: Sale
, Auth
, Return
, or PostAuth
Amount
decimal
Yes
Amount to charge in dollars (e.g., 25.00
)
NameOnCard
string
No
Cardholder’s name
CcAccountNum
string
Conditional
Debit card number — required if not using CcInfoKey
CcExpDate
string
Conditional
Expiration date (MMYY) — required if using raw card data
CcInfoKey
string
Conditional
Tokenized card key — used instead of card number
Cvv2
string
Optional
3- or 4-digit security code
ClientTransactionID
string
No
Optional merchant-defined reference ID
InvoiceNumber
string
No
Optional invoice number
Street
string
No
Optional AVS field: billing street address
Zip
string
No
Optional AVS field: billing ZIP code
string
No
Optional email address for confirmation or metadata
ExtData
string
No
Optional XML metadata for advanced settings (see Notes)
Notes:
Similar in structure to
ProcessCreditCard
, but uses debit routing and settlement channels.Either
CcAccountNum
+CcExpDate
orCcInfoKey
must be provided.TransType
options:Sale
: Authorizes and settles the debitAuth
: Authorization only (for delayed capture)PostAuth
: Capture of a previously authorized transactionReturn
: Refund back to the original debit card
Response includes:
Result
(0 = success)RespMSG
(e.g., “Approved”)AuthCode
TransRefID
(used for future queries and reconciliation)
ExtData
can include optional XML such as:xmlCopyEdit
<![CDATA[<CustRef>7890</CustRef><Force>T</Force>]]>
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 /ArgoFire/transact.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://TPISoft.com/SmartPayments/ProcessDebitCard"
<?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>
<ProcessDebitCard xmlns="http://TPISoft.com/SmartPayments/">
<UserName>string</UserName>
<Password>string</Password>
<TransType>string</TransType>
<CardNum>string</CardNum>
<ExpDate>string</ExpDate>
<MagData>string</MagData>
<NameOnCard>string</NameOnCard>
<Amount>string</Amount>
<InvNum>string</InvNum>
<PNRef>string</PNRef>
<Pin>string</Pin>
<RegisterNum>string</RegisterNum>
<SureChargeAmt>string</SureChargeAmt>
<CashBackAmt>string</CashBackAmt>
<ExtData>string</ExtData>
</ProcessDebitCard>
</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>
<ProcessDebitCardResponse xmlns="http://TPISoft.com/SmartPayments/">
<ProcessDebitCardResult>
<Result>int</Result>
<RespMSG>string</RespMSG>
<Message>string</Message>
<Message1>string</Message1>
<Message2>string</Message2>
<AuthCode>string</AuthCode>
<PNRef>string</PNRef>
<HostCode>string</HostCode>
<HostURL>string</HostURL>
<ReceiptURL>string</ReceiptURL>
<GetAVSResult>string</GetAVSResult>
<GetAVSResultTXT>string</GetAVSResultTXT>
<GetStreetMatchTXT>string</GetStreetMatchTXT>
<GetZipMatchTXT>string</GetZipMatchTXT>
<GetCVResult>string</GetCVResult>
<GetCVResultTXT>string</GetCVResultTXT>
<GetGetOrigResult>string</GetGetOrigResult>
<GetCommercialCard>string</GetCommercialCard>
<WorkingKey>string</WorkingKey>
<KeyPointer>string</KeyPointer>
<ExtData>string</ExtData>
</ProcessDebitCardResult>
</ProcessDebitCardResponse>
</soap:Body>
</soap:Envelope>
SOAP 1.2
The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/transact.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ProcessDebitCard xmlns="http://TPISoft.com/SmartPayments/">
<UserName>string</UserName>
<Password>string</Password>
<TransType>string</TransType>
<CardNum>string</CardNum>
<ExpDate>string</ExpDate>
<MagData>string</MagData>
<NameOnCard>string</NameOnCard>
<Amount>string</Amount>
<InvNum>string</InvNum>
<PNRef>string</PNRef>
<Pin>string</Pin>
<RegisterNum>string</RegisterNum>
<SureChargeAmt>string</SureChargeAmt>
<CashBackAmt>string</CashBackAmt>
<ExtData>string</ExtData>
</ProcessDebitCard>
</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ProcessDebitCardResponse xmlns="http://TPISoft.com/SmartPayments/">
<ProcessDebitCardResult>
<Result>int</Result>
<RespMSG>string</RespMSG>
<Message>string</Message>
<Message1>string</Message1>
<Message2>string</Message2>
<AuthCode>string</AuthCode>
<PNRef>string</PNRef>
<HostCode>string</HostCode>
<HostURL>string</HostURL>
<ReceiptURL>string</ReceiptURL>
<GetAVSResult>string</GetAVSResult>
<GetAVSResultTXT>string</GetAVSResultTXT>
<GetStreetMatchTXT>string</GetStreetMatchTXT>
<GetZipMatchTXT>string</GetZipMatchTXT>
<GetCVResult>string</GetCVResult>
<GetCVResultTXT>string</GetCVResultTXT>
<GetGetOrigResult>string</GetGetOrigResult>
<GetCommercialCard>string</GetCommercialCard>
<WorkingKey>string</WorkingKey>
<KeyPointer>string</KeyPointer>
<ExtData>string</ExtData>
</ProcessDebitCardResult>
</ProcessDebitCardResponse>
</soap12:Body>
</soap12:Envelope>
HTTP POST
The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/transact.asmx/ProcessDebitCard HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
UserName=string&Password=string&TransType=string&CardNum=string&ExpDate=string&MagData=string&NameOnCard=string&Amount=string&InvNum=string&PNRef=string&Pin=string&RegisterNum=string&SureChargeAmt=string&CashBackAmt=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"?>
<Response xmlns="http://TPISoft.com/SmartPayments/">
<Result>int</Result>
<RespMSG>string</RespMSG>
<Message>string</Message>
<Message1>string</Message1>
<Message2>string</Message2>
<AuthCode>string</AuthCode>
<PNRef>string</PNRef>
<HostCode>string</HostCode>
<HostURL>string</HostURL>
<ReceiptURL>string</ReceiptURL>
<GetAVSResult>string</GetAVSResult>
<GetAVSResultTXT>string</GetAVSResultTXT>
<GetStreetMatchTXT>string</GetStreetMatchTXT>
<GetZipMatchTXT>string</GetZipMatchTXT>
<GetCVResult>string</GetCVResult>
<GetCVResultTXT>string</GetCVResultTXT>
<GetGetOrigResult>string</GetGetOrigResult>
<GetCommercialCard>string</GetCommercialCard>
<WorkingKey>string</WorkingKey>
<KeyPointer>string</KeyPointer>
<ExtData>string</ExtData>
</Response>
Last updated