Quick Guide
Set up your merchant group account at https://dashboard.xiippy.ai/ A merchant group is a group of logically connected merchants, like members of a franchise. An independent merchant can be deemed a merchant group with a single member. Members of a merchant group (e.g. franchisees) should be invited by the head of group to create their accounts at https://dashboard.xiippy.ai/ManageEnterprise.
Set up your merchant account at https://dashboard.xiippy.ai/SetupMerchantAccount
Choose between a self-deployed instance of the SDK Bridge (which will have its own URL), or alternatively, use the cloud-based one at https://sdkbridge.xiippy.ai/
Log into the SDK Bridge instance using its URL and follow the prompts to create the cryptographic keys which will be used to transfer end-to-end encrypted data to the payers from the SDK Bridge instance, as well as to digitally-signed itemized invoices and receipts, as well as to create the 4 parameters that Xiippy's lightweight SDK requires to interact with the SDK Bridge instance and process payments using it, as follows:
A Merchant Group ID,
A Merchant ID,
A Base URL (which is normally the URL of the SDK Bridge instance you are interacting with)
A Secret Key (which has to be treated like a secret and maintained only at server-side with proper provisions and care applicable to secrets, never to be sent to client side)
Pick a relevant SDK for your desired software stack and include Xiippy's lightweight SDKs. We recommend you to use one of the available sample apps to get started quickly. All you need is the source code and the 4 config items that you need to set in the sample apps to run it and succesfully initiate your first payments.
git clone https://github.com/Xiippy/XiippySDKBridgeSampleAspNetAppgit clone https://github.com/Xiippy/XiippySDKBridgeSamplePHPAppgit clone https://github.com/Xiippy/XiippySDKBridgeSampleNodeJSAppgit clone https://github.com/Xiippy/XiippySDKBridgeSampleGoLangAppAlternatively, follow the next steps by integrating the SDK with your existing payment pages by installing Xiippy's lightweight SDK packages
dotnet add package Xiippy.POSeComSDK.Lightcomposer require xiippy/posecomsdknpm install xiippy.posecomsdk.lightgo get github.com/Xiippy/Xiippy.POSeCommSDK.Light_GoLangOn your main payments page, include Xiippy's main client-side scripts
<script src="https://cdn.xiippy.ai/PaymentScripts/app.XiippyFrameSDK.bundle.js"></script>
Include the necessary JavaScript code on your page
@{if (!string.IsNullOrEmpty(Model.ErrorText))
{
<div class="alert alert-danger alert-dismissible fade show text-break" role="alert">
<p><strong>Error</strong></p>
<p> @Model.ErrorText</p>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true"></span>
</button>
</div>
}
}
<div id="frameContainer" style="width:100%; margin:0 auto 0 auto; min-height:300"></div>
<div id="diverror" style="width:100%; margin:0 auto 0 auto;"></div>
<script>
function initXiippyFrameSDK() {
// initialize parameters
var FrameContainerID = 'frameContainer';
// this parameter is generated by Xiippy's server-side SDK and has to be set from the server
var Url = '<%- Model.XiippyFrameUrl %>';
var sdkInstance = new XiippyFrameSDK.XiippyFrameSDK(FrameContainerID, Url);
// listen for events
sdkInstance.on('PaymentProcessed', (eventArgs) => {
// you need to implement payment success logic here
console.log('PaymentProcessed event was fired!', eventArgs);
});
sdkInstance.on('PaymentError', (eventArgs) => {
// you need to implement retrying or error handling logic here!
console.log('PaymentError event was fired!', eventArgs);
document.getElementById('diverror').innerText = eventArgs?.eventArgs?.error?.message;
});
}
// initialize the SDK upon page load
window.addEventListener("load", () => initXiippyFrameSDK(), false);
</script>On the back-end, on the payment page, include the right dependencies from the lightweight SDK.
On the back-end, upon the initialization of the payment page, initialize the payment process by passing the right Merchant Group ID, Merchant ID, Base Address and Secret Key to the lightweight SDK functions.
Last updated