Exigo Web Services API v2022.12.19.1

CreateBillPayout

Creates payment transaction records for customer bills. This method does not process third party transactions

Input Properties

CreateBillPayoutRequest
PropertyData TypeNotes
StartDateDateTime
EndDateDateTime
CurrencyCode String
CountryCode String
PayableType Int32
PaymentCardType Int32Optional. The type of paycard.
ReferenceStringOptional.
BatchDescriptionStringOptional.
UseBatchPayoutBooleanOptional. . Defaults to False.
BankAccountID Int32Optional. Bank account identifier.
FeeDecimalOptional.
FeeDescriptionStringOptional.
StartCheckNumberInt32Optional.
CustomerIDInt32[]Optional. . Defaults to System.Int32[].
CustomerKeyString[]Optional.
PaymentDateDateTime
MinimumAmountDecimalOptional. . Defaults to 0.
MaximumAmountDecimalOptional.
GroupPaymentByVendorBooleanOptional. . Defaults to True.

Output Properties

CreateBillPayoutResponse
PropertyData TypeNotes
StartCheckNumberInt32
EndCheckNumberInt32
StartPaymentIDInt32
EndPaymentIDInt32
PayoutTotalDecimal

Http Request

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

{ "startDate": "2023-02-01T00:00:00-06:00", "endDate": "2023-02-01T00:00:00-06:00", "currencyCode": "1", "countryCode": "1", "payableType": 1, "paymentCardType": 1, "reference": "", "batchDescription": "", "useBatchPayout": true, "fee": null, "feeDescription": "1", "startCheckNumber": 1, "customerID": null, "customerKey": null, "paymentDate": "2023-02-01T00:00:00-06:00", "minimumAmount": null, "maximumAmount": null, "groupPaymentByVendor": true }

Http Response

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

{ "startCheckNumber": 1, "endCheckNumber": 1, "startPaymentID": 1, "endPaymentID": 1, "payoutTotal": 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/CreateBillPayout"

<?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> <CreateBillPayoutRequest xmlns="http://api.exigo.com/" /> </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> <CreateBillPayoutResult xmlns="http://api.exigo.com/"> <StartCheckNumber>int</StartCheckNumber> <EndCheckNumber>int</EndCheckNumber> <StartPaymentID>int</StartPaymentID> <EndPaymentID>int</EndPaymentID> <PayoutTotal>decimal</PayoutTotal> </CreateBillPayoutResult> </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 CreateBillPayoutRequest();

 

    req.StartDate = DateTime.Today;

    req.EndDate = DateTime.Today;

    req.CurrencyCode = "1";

    req.CountryCode = "1";

    req.PayableType = 1;

    req.PaymentCardType = 1;        //The type of paycard

    req.Reference = "1";

    req.BatchDescription = "1";

    req.UseBatchPayout = true;

    req.Fee = 1;

    req.FeeDescription = "1";

    req.StartCheckNumber = 1;

 

    //Add CustomerID

    var customerid = new List<Int32>();

    customerid.Add(1);

    customerid.Add(2);

 

    //Now attach the list to the request

    req.CustomerID = customerid.ToArray();

 

    //Add CustomerKey

    var customerkey = new List<String>();

    customerkey.Add("1");

    customerkey.Add("2");

 

    //Now attach the list to the request

    req.CustomerKey = customerkey.ToArray();

    req.PaymentDate = DateTime.Today;

    req.MinimumAmount = 1;

    req.MaximumAmount = 1;

    req.GroupPaymentByVendor = true;

 

    //Send Request to Server and Get Response

    var res = await api.CreateBillPayoutAsync(req);

 

    //Now examine the results:

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

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

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

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

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

}

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

    CreateBillPayoutRequest req = new CreateBillPayoutRequest();

 

    req.StartDate = DateTime.Today;

    req.EndDate = DateTime.Today;

    req.CurrencyCode = "1";

    req.CountryCode = "1";

    req.PayableType = 1;

    req.PaymentCardType = 1;        //The type of paycard

    req.Reference = "1";

    req.BatchDescription = "1";

    req.UseBatchPayout = true;

    req.Fee = 1;

    req.FeeDescription = "1";

    req.StartCheckNumber = 1;

 

    //Add CustomerID

    List<Int32> customerid = new List<Int32>();

    customerid.Add(1);

    customerid.Add(2);

 

    //Now attach the list to the request

    req.CustomerID = customerid.ToArray();

 

    //Add CustomerKey

    List<String> customerkey = new List<String>();

    customerkey.Add("1");

    customerkey.Add("2");

 

    //Now attach the list to the request

    req.CustomerKey = customerkey.ToArray();

    req.PaymentDate = DateTime.Today;

    req.MinimumAmount = 1;

    req.MaximumAmount = 1;

    req.GroupPaymentByVendor = true;

 

    //Send Request to Server and Get Response

    CreateBillPayoutResponse res = api.CreateBillPayout(req);

 

    //Now examine the results:

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

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

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

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

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

}

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

 

    req.StartDate = DateTime.Today

    req.EndDate = DateTime.Today

    req.CurrencyCode = "1"

    req.CountryCode = "1"

    req.PayableType = 1

    req.PaymentCardType = 1

    req.Reference = "1"

    req.BatchDescription = "1"

    req.UseBatchPayout = true

    req.Fee = 1

    req.FeeDescription = "1"

    req.StartCheckNumber = 1

 

    'Add CustomerID

    Dim customerid As New List(Of Int32)()

    customerid.Add(1)

    customerid.Add(2)

 

    'Now attach the list to the request

    req.CustomerID = customerid.ToArray()

 

    'Add CustomerKey

    Dim customerkey As New List(Of String)()

    customerkey.Add("1")

    customerkey.Add("2")

 

    'Now attach the list to the request

    req.CustomerKey = customerkey.ToArray()

    req.PaymentDate = DateTime.Today

    req.MinimumAmount = 1

    req.MaximumAmount = 1

    req.GroupPaymentByVendor = true

 

    'Send Request to Server and Get Response

    Dim res As CreateBillPayoutResponse = api.CreateBillPayout(req)

 

    'Now examine the results:

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

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

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

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

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

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->StartDate = 1;

    $req->EndDate = 1;

    $req->CurrencyCode = "1";

    $req->CountryCode = "1";

    $req->PayableType = 1;

    $req->PaymentCardType = 1;

    $req->Reference = "1";

    $req->BatchDescription = "1";

    $req->UseBatchPayout = 1;

    $req->Fee = 1;

    $req->FeeDescription = "1";

    $req->StartCheckNumber = 1;

 

    //Add CustomerID

 

 

 

    //Now attach the list to the request

    req.CustomerID = array(customerI1,customerI2);

 

    //Add CustomerKey

 

    $customerKe1->Chars = 1;

    $customerKe1->Length = 1;

 

    $customerKe2->Length = 2;

    $customerKe2->Chars = 2;

 

    //Now attach the list to the request

    req.CustomerKey = array(customerKe1,customerKe2);

    $req->PaymentDate = 1;

    $req->MinimumAmount = 1;

    $req->MaximumAmount = 1;

    $req->GroupPaymentByVendor = 1;

 

    //Send Request to Server and Get Response

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

    CreateBillPayoutRequest req = new CreateBillPayoutRequest();

 

    req.setStartDate(1);

    req.setEndDate(1);

    req.setCurrencyCode("1");

    req.setCountryCode("1");

    req.setPayableType(1);

    req.setPaymentCardType(1);

    req.setReference("1");

    req.setBatchDescription("1");

    req.setUseBatchPayout(1);

    req.setFee(1);

    req.setFeeDescription("1");

    req.setStartCheckNumber(1);

 

    //Add CustomerID

    ArrayOfSystem.Int32 customerid = new ArrayOfSystem.Int32();

 

    Int32 customerI1 = new Int32();

    customerid.Add(customerI1);

 

    Int32 customerI2 = new Int32();

    customerid.Add(customerI2);

 

    //Now attach the list to the request

    req.setCustomerID(customerid);

 

    //Add CustomerKey

    ArrayOfSystem.String customerkey = new ArrayOfSystem.String();

 

    String customerKe1 = new String();

    customerKe1.setLength(1);

    customerKe1.setChars(1);

    customerkey.Add(customerKe1);

 

    String customerKe2 = new String();

    customerKe2.setLength(2);

    customerKe2.setChars(2);

    customerkey.Add(customerKe2);

 

    //Now attach the list to the request

    req.setCustomerKey(customerkey);

    req.setPaymentDate(1);

    req.setMinimumAmount(1);

    req.setMaximumAmount(1);

    req.setGroupPaymentByVendor(1);

 

    //Send Request to Server and Get Response

    CreateBillPayoutResponse res = api.getExigoApiSoap().createBillPayout(req, auth);

 

    //Now examine the results:

}

catch (Exception ex)

{

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

}

CSV

This method does not support csv output.