Exigo Web Services API v2022.12.19.1

ChargeGroupOrderCreditCardToken

Attempts to charge a card token with the amount found on the specified orders.

Input Properties

ChargeGroupOrderCreditCardTokenRequest
PropertyData TypeNotes
CreditCardTokenStringOptional.
BillingNameStringOptional.
BillingAddressStringOptional.
BillingAddress2StringOptional.
BillingCityStringOptional.
BillingState StringOptional.
BillingZipStringOptional.
BillingCountry StringOptional.
CvcCodeStringOptional.
IssueNumberStringOptional.
CreditCardType Int32Optional. Optionally pass in Visa, Master Card, etc.
MasterOrderIDInt32Unique numeric identifier for master order record.
OrdersGroupOrder[]
MerchantWarehouseIDOverrideInt32Optional. Use to override the warehouse used for merchant selection.
ClientIPAddressStringOptional.
OtherData1StringOptional. Use for some merchants to pass additional data.
OtherData2StringOptional. Use for some merchants to pass additional data.
OtherData3StringOptional. Use for some merchants to pass additional data.
OtherData4StringOptional. Use for some merchants to pass additional data.
OtherData5StringOptional. Use for some merchants to pass additional data.
OtherData6StringOptional. Use for some merchants to pass additional data.
OtherData7StringOptional. Use for some merchants to pass additional data.
OtherData8StringOptional. Use for some merchants to pass additional data.
OtherData9StringOptional. Use for some merchants to pass additional data.
OtherData10StringOptional. Use for some merchants to pass additional data.
PaymentMemoStringOptional. Used to specify the memo on the generated payment records for successful transactions.
MasterOrderKeyStringOptional. Unique alpha numeric identifier for master order record. Exeption will occur if MasterOrderID & MasterOrderKey are provided.
GroupOrder
PropertyData TypeNotes
OrderIDInt32Unique numeric identifier for order record.
MaxAmountDecimalOptional.
OrderKeyStringOptional. Unique alpha numeric identifier for order record. Exeption will occur if OrderID & OrderKey are provided.

Output Properties

ChargeGroupOrderCreditCardTokenResponse
PropertyData TypeNotes
AmountDecimal
AuthorizationCodeString
PaymentsPaymentsResponse

Http Request

POST https://yourcompany-api.exigo.com/3.0/payment/charge/tokengroup HTTP/1.1
Content-Type: application/json
Authorization: Basic base64Encoded(yourlogin@yourcompany:yourpassword)

{ "creditCardToken": "", "billingName": "", "billingAddress": "", "billingAddress2": "", "billingCity": "", "billingZip": "", "cvcCode": "", "issueNumber": "", "orders": null, "clientIPAddress": "", "masterOrderKey": "1" }

Http Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: length

{ "amount": null, "authorizationCode": "", "payments": null, "result": null }

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/ChargeGroupOrderCreditCardToken"

<?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> <ChargeGroupOrderCreditCardTokenRequest xmlns="http://api.exigo.com/"> <_orders> <GroupOrder> <OrderID>int</OrderID> <MaxAmount>decimal</MaxAmount> <OrderKey>string</OrderKey> </GroupOrder> </_orders> <CreditCardToken>string</CreditCardToken> <BillingName>string</BillingName> <BillingAddress>string</BillingAddress> <BillingAddress2>string</BillingAddress2> <BillingCity>string</BillingCity> <BillingState>string</BillingState> <BillingZip>string</BillingZip> <BillingCountry>string</BillingCountry> <CvcCode>string</CvcCode> <IssueNumber>string</IssueNumber> <CreditCardType>int</CreditCardType> <MasterOrderID>int</MasterOrderID> <Orders> <GroupOrder> <OrderID>int</OrderID> <MaxAmount>decimal</MaxAmount> <OrderKey>string</OrderKey> </GroupOrder> </Orders> <MerchantWarehouseIDOverride>int</MerchantWarehouseIDOverride> <ClientIPAddress>string</ClientIPAddress> <OtherData1>string</OtherData1> <OtherData2>string</OtherData2> <OtherData3>string</OtherData3> <OtherData4>string</OtherData4> <OtherData5>string</OtherData5> <OtherData6>string</OtherData6> <OtherData7>string</OtherData7> <OtherData8>string</OtherData8> <OtherData9>string</OtherData9> <OtherData10>string</OtherData10> <PaymentMemo>string</PaymentMemo> <MasterOrderKey>string</MasterOrderKey> </ChargeGroupOrderCreditCardTokenRequest> </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> <ChargeGroupOrderCreditCardTokenResult xmlns="http://api.exigo.com/"> <_paymentIDs> <PaymentsResponse> <_PaymentID>int</_PaymentID> <_OrderID>int</_OrderID> </PaymentsResponse> </_paymentIDs> <Amount>decimal</Amount> <AuthorizationCode>string</AuthorizationCode> <Payments> <PaymentsResponse> <_PaymentID>int</_PaymentID> <_OrderID>int</_OrderID> </PaymentsResponse> </Payments> </ChargeGroupOrderCreditCardTokenResult> </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 ChargeGroupOrderCreditCardTokenRequest();

 

    req.CreditCardToken = "1";

    req.BillingName = "1";

    req.BillingAddress = "1";

    req.BillingAddress2 = "1";

    req.BillingCity = "1";

    req.BillingZip = "1";

    req.CvcCode = "1";

    req.IssueNumber = "1";

 

    //Add Orders

    var orders = new List<GroupOrder>();

 

    var order1 = new GroupOrder();

    order1.MaxAmount = 1;

    order1.OrderKey = "1";

    orders.Add(order1);

 

    var order2 = new GroupOrder();

    order2.MaxAmount = 2;

    order2.OrderKey = "2";

    orders.Add(order2);

 

    //Now attach the list to the request

    req.Orders = orders.ToArray();

    req.ClientIPAddress = "1";

    req.MasterOrderKey = "1";       //Unique alpha numeric identifier for master order record. Exeption will occur if MasterOrderID & MasterOrderKey are provided.

 

    //Send Request to Server and Get Response

    var res = await api.ChargeGroupOrderCreditCardTokenAsync(req);

 

    //Now examine the results:

    Console.WriteLine("Amount: {0}", res.Amount);

    Console.WriteLine("AuthorizationCode: {0}", res.AuthorizationCode);

    Console.WriteLine("Payments: {0}", res.Payments);

}

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

    ChargeGroupOrderCreditCardTokenRequest req = new ChargeGroupOrderCreditCardTokenRequest();

 

    req.CreditCardToken = "1";

    req.BillingName = "1";

    req.BillingAddress = "1";

    req.BillingAddress2 = "1";

    req.BillingCity = "1";

    req.BillingZip = "1";

    req.CvcCode = "1";

    req.IssueNumber = "1";

 

    //Add Orders

    List<GroupOrder> orders = new List<GroupOrder>();

 

    GroupOrder order1 = new GroupOrder();

    order1.MaxAmount = 1;

    order1.OrderKey = "1";

    orders.Add(order1);

 

    GroupOrder order2 = new GroupOrder();

    order2.MaxAmount = 2;

    order2.OrderKey = "2";

    orders.Add(order2);

 

    //Now attach the list to the request

    req.Orders = orders.ToArray();

    req.ClientIPAddress = "1";

    req.MasterOrderKey = "1";       //Unique alpha numeric identifier for master order record. Exeption will occur if MasterOrderID & MasterOrderKey are provided.

 

    //Send Request to Server and Get Response

    ChargeGroupOrderCreditCardTokenResponse res = api.ChargeGroupOrderCreditCardToken(req);

 

    //Now examine the results:

    Console.WriteLine("Amount: {0}", res.Amount);

    Console.WriteLine("AuthorizationCode: {0}", res.AuthorizationCode);

    Console.WriteLine("Payments: {0}", res.Payments);

}

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 ChargeGroupOrderCreditCardTokenRequest()

 

    req.CreditCardToken = "1"

    req.BillingName = "1"

    req.BillingAddress = "1"

    req.BillingAddress2 = "1"

    req.BillingCity = "1"

    req.BillingZip = "1"

    req.CvcCode = "1"

    req.IssueNumber = "1"

 

    'Add Orders

    Dim orders As New List(Of GroupOrder)()

 

    Dim order1 as new GroupOrder()

    order1.MaxAmount = 1

    order1.OrderKey = "1"

    orders.Add(order1)

 

    Dim order2 as new GroupOrder()

    order2.MaxAmount = 2

    order2.OrderKey = "2"

    orders.Add(order2)

 

    'Now attach the list to the request

    req.Orders = orders.ToArray()

    req.ClientIPAddress = "1"

    req.MasterOrderKey = "1"

 

    'Send Request to Server and Get Response

    Dim res As ChargeGroupOrderCreditCardTokenResponse = api.ChargeGroupOrderCreditCardToken(req)

 

    'Now examine the results:

    Console.WriteLine("Amount: {0}", res.Amount)

    Console.WriteLine("AuthorizationCode: {0}", res.AuthorizationCode)

    Console.WriteLine("Payments: {0}", res.Payments)

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->CreditCardToken = "1";

    $req->BillingName = "1";

    $req->BillingAddress = "1";

    $req->BillingAddress2 = "1";

    $req->BillingCity = "1";

    $req->BillingZip = "1";

    $req->CvcCode = "1";

    $req->IssueNumber = "1";

 

    //Add Orders

 

    $order1->MaxAmount = 1;

    $order1->OrderKey = "1";

 

    $order2->MaxAmount = 2;

    $order2->OrderKey = "2";

 

    //Now attach the list to the request

    req.Orders = array(order1,order2);

    $req->ClientIPAddress = "1";

    $req->MasterOrderKey = "1";

 

    //Send Request to Server and Get Response

    $res = $api.ChargeGroupOrderCreditCardToken($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

    ChargeGroupOrderCreditCardTokenRequest req = new ChargeGroupOrderCreditCardTokenRequest();

 

    req.setCreditCardToken("1");

    req.setBillingName("1");

    req.setBillingAddress("1");

    req.setBillingAddress2("1");

    req.setBillingCity("1");

    req.setBillingZip("1");

    req.setCvcCode("1");

    req.setIssueNumber("1");

 

    //Add Orders

    ArrayOfGroupOrder orders = new ArrayOfGroupOrder();

 

    GroupOrder order1 = new GroupOrder();

    order1.setMaxAmount(1);

    order1.setOrderKey("1");

    orders.Add(order1);

 

    GroupOrder order2 = new GroupOrder();

    order2.setMaxAmount(2);

    order2.setOrderKey("2");

    orders.Add(order2);

 

    //Now attach the list to the request

    req.setOrders(orders);

    req.setClientIPAddress("1");

    req.setMasterOrderKey("1");

 

    //Send Request to Server and Get Response

    ChargeGroupOrderCreditCardTokenResponse res = api.getExigoApiSoap().chargeGroupOrderCreditCardToken(req, auth);

 

    //Now examine the results:

}

catch (Exception ex)

{

    System.out.println("Error: " + ex.getMessage());

}

CSV

This method does not support csv output.