
//////////////////////////////////////////////////////////////////////////
1.If you are developing using C#, copy these library dll files(PayExplorerConnect.dll,PayExplorerConnect-CS.dll,libcrypto-1_1.dll,libcurl.dll,libeay32.dll,sqlite3.dll,ssleay32.dll) into bin/Release or bin/Debug folder of your project.

Explanation of the library.
PayExplorerConnect.dll library is a C++ library.
PayExplorerConnect-CS.dll is the encapsulation of the PayExplorerConnect.dll library in C#.
libcrypto-1_1.dll, libeay32.dll and ssleay32.dll are openssl dependency libraries of the PayExplorerConnect.dll library.
libcurl.dll is a dependency library for network communication.
sqlite3.dll is a dependent library used for the SQLite database.

2.Add Reference of PayExplorerConnect-CS.dll to your project.

3.Add namespace.
using PayExplorerConnect_CS;

4.New object,such as Payment object.
CPayment  PaymentParam = new CPayment();

5.Pass Payment parameters.
PaymentParam.totalAmount("2.99");
PaymentParam.transactionReference("00000001");
PaymentParam.currency(ISO4217ActiveCurrency.USD);
PaymentParam.transactionType(TransactionType.CRDP);


6.Perform Payment.
ST_Payment_Callback_Func callbacks = new ST_Payment_Callback_Func
{
    onError = HandlePaymentError,
    onResult = HandlePaymentResult
};
PaymentParam.startAsyncExchange(callbacks);

7. Handle the result callback.
public void HandlePaymentError(int code, string msg)
{
    Console.WriteLine($"Error: {code}, Message: {msg}");
}
public void HandlePaymentResult(stPaymentResult result)
{
    Console.WriteLine($"transactionReference: {result.transactionReference}, response: {result.response}");
}   

//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////