Exigo Web Services API v2022.12.19.1

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
PropertyData TypeNotes
MerchantTransactionKeyStringOptional.
OrderIDInt32Unique numeric identifier for order record.
MaxAmountDecimalOptional. Only use if you are applying multiple payments.
OrderKeyStringOptional. Unique alpha numeric identifier for order record. Exeption will occur if OrderID & OrderKey are provided.

Output Properties

ChargeCreditCardResponse
PropertyData TypeNotes
AmountDecimal
AuthorizationCodeString
PaymentIDInt32
MessageString
DisplayMessageString
MerchantTransactionKeyString

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: 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());

}

CSV

This method does not support csv output.