ChargePriorAuthorization
Attempts to charge a prior authorization with the amount found on an existing order, or a new order in a transaction. If the charge is successful, the order is changed to accepted.Input Properties
ChargePriorAuthorizationRequest
Output Properties
ChargeCreditCardResponse
Http Request
Rest call not available for this method yet.
Http Response
Soap Request
The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.
POST /3.0/ExigoApi.asmx HTTP/1.1 Host: totallife-api.exigo.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "https://api.exigo.com/ChargePriorAuthorization" <?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:Header> <ApiAuthentication xmlns="http://api.exigo.com/"> <LoginName>string</LoginName> <Password>string</Password> <Company>string</Company> <Identity>string</Identity> <RequestTimeUtc>dateTime</RequestTimeUtc> <Signature>string</Signature> </ApiAuthentication> </soap:Header> <soap:Body> <ChargePriorAuthorizationRequest xmlns="http://api.exigo.com/"> <MerchantTransactionKey>string</MerchantTransactionKey> <OrderID>int</OrderID> <MaxAmount>decimal</MaxAmount> <OrderKey>string</OrderKey> </ChargePriorAuthorizationRequest> </soap:Body> </soap:Envelope>
Soap Response
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> <ChargePriorAuthorizationResult xmlns="http://api.exigo.com/"> <Amount>decimal</Amount> <AuthorizationCode>string</AuthorizationCode> </ChargePriorAuthorizationResult> </soap:Body> </soap:Envelope>
C# Rest Client
Install Nuget package Exigo.Api.Client
try
{
//Create Api Client
var api = new ExigoApiClient("yourcmpany", "yourlogin", "yourpassword");
//Create Request
var req = new ChargePriorAuthorizationRequest();
req.MerchantTransactionKey = "1";
req.OrderID = 1; //Unique numeric identifier for order record.
req.OrderKey = "DDks8235txcid"; //Unique alpha numeric identifier for order record. Exeption will occur if OrderID & OrderKey are provided.
//Send Request to Server and Get Response
var res = await api.ChargePriorAuthorizationAsync(req);
//Now examine the results:
Console.WriteLine("Amount: {0}", res.Amount);
Console.WriteLine("AuthorizationCode: {0}", res.AuthorizationCode);
Console.WriteLine("PaymentID: {0}", res.PaymentID);
Console.WriteLine("Message: {0}", res.Message);
Console.WriteLine("DisplayMessage: {0}", res.DisplayMessage);
Console.WriteLine("MerchantTransactionKey: {0}", res.MerchantTransactionKey);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
C# Soap Client
try
{
//Create Main API Context Object
ExigoApi api = new ExigoApi();
//Create Authentication Header
ApiAuthentication auth = new ApiAuthentication();
auth.LoginName = "yourLoginName";
auth.Password = "yourPassword";
auth.Company = "yourCompany";
api.ApiAuthenticationValue = auth;
//Create Request
ChargePriorAuthorizationRequest req = new ChargePriorAuthorizationRequest();
req.MerchantTransactionKey = "1";
req.OrderID = 1; //Unique numeric identifier for order record.
req.OrderKey = "DDks8235txcid"; //Unique alpha numeric identifier for order record. Exeption will occur if OrderID & OrderKey are provided.
//Send Request to Server and Get Response
ChargeCreditCardResponse res = api.ChargePriorAuthorization(req);
//Now examine the results:
Console.WriteLine("Amount: {0}", res.Amount);
Console.WriteLine("AuthorizationCode: {0}", res.AuthorizationCode);
Console.WriteLine("PaymentID: {0}", res.PaymentID);
Console.WriteLine("Message: {0}", res.Message);
Console.WriteLine("DisplayMessage: {0}", res.DisplayMessage);
Console.WriteLine("MerchantTransactionKey: {0}", res.MerchantTransactionKey);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
VB.Net
Try
'Create Main API Context Object
Dim api as new ExigoApi()
'Create Authentication Header
Dim auth as new ApiAuthentication()
auth.LoginName = "yourLoginName"
auth.Password = "yourPassword"
auth.Company = "yourCompany"
api.ApiAuthenticationValue = auth
'Create Request
Dim req as new ChargePriorAuthorizationRequest()
req.MerchantTransactionKey = "1"
req.OrderID = 1
req.OrderKey = "DDks8235txcid"
'Send Request to Server and Get Response
Dim res As ChargeCreditCardResponse = api.ChargePriorAuthorization(req)
'Now examine the results:
Console.WriteLine("Amount: {0}", res.Amount)
Console.WriteLine("AuthorizationCode: {0}", res.AuthorizationCode)
Console.WriteLine("PaymentID: {0}", res.PaymentID)
Console.WriteLine("Message: {0}", res.Message)
Console.WriteLine("DisplayMessage: {0}", res.DisplayMessage)
Console.WriteLine("MerchantTransactionKey: {0}", res.MerchantTransactionKey)
Catch ex As Exception
Console.WriteLine("Error: " & ex.Message)
End Try
PHP
Note: PHP is not officially supported.<?php
try
{
//Setup the SoapClient and Authentication
$api = new SoapClient("http://api.exigo.com/3.0/ExigoApi.asmx?WSDL");
$ns = "http://api.exigo.com/";
$auth = array()
$auth["LoginName"] = new SoapVar("yourLoginName",XSD_STRING,null,null,null,$ns);
$auth["Password"] = new SoapVar("yourPassword",XSD_STRING,null,null,null,$ns);
$auth["Company"] = new SoapVar("yourCompany",XSD_STRING,null,null,null,$ns);
$headerBody = new SoapVar($auth, SOAP_ENC_OBJECT);
$header = new SoapHeader($ns, 'ApiAuthentication', $headerBody);
$api->__setSoapHeaders(array($header));
//Create Request
$req->MerchantTransactionKey = "1";
$req->OrderID = 1;
$req->OrderKey = "DDks8235txcid";
//Send Request to Server and Get Response
$res = $api.ChargePriorAuthorization($req);
//Now examine the results:
}
catch (SoapFault $ex)
{
echo "Error: ", $ex->getMessage();
}
?>
Java
Note: Java is not officially supported.try
{
//Create Main API Context Object
ExigoApi api = new ExigoApi();
//Create Authentication Header
ApiAuthentication auth = new ApiAuthentication();
auth.setLoginName("yourLoginName");
auth.setPassword("yourPassword");
auth.setCompany("yourCompany");
api.setApiAuthenticationValue(auth);
//Create Request
ChargePriorAuthorizationRequest req = new ChargePriorAuthorizationRequest();
req.setMerchantTransactionKey("1");
req.setOrderID(1);
req.setOrderKey("DDks8235txcid");
//Send Request to Server and Get Response
ChargeCreditCardResponse res = api.getExigoApiSoap().chargePriorAuthorization(req, auth);
//Now examine the results:
}
catch (Exception ex)
{
System.out.println("Error: " + ex.getMessage());
}