GET STARTED

Features

Topup

With FIATO, your user base can easily make deposits to top up their balance on your website/app by choosing to either Transfer or Exchange. Payments are made quickly so as to facilitate retention and growth of your sales process, while at the same time maintaining convenience for your users.

On-Chain Wallet Management

Fiato offers the complete solution for hassle-free on-chain wallet management across all blockchains, and all cryptocurrencies. We let you keep good track on all your funding flows, including transactions and withdrawals. Moreover, we take over the on-chain wallet management for you, so you can have complete confidence conducting on-chain token distributions for your events and promotions.

Accounts Requirement

In order to use our Fiato SDK system, you will need to have 3 different accounts on Kryptono Exchange to manage your funds, and monitor your selling and trading activities. Each account will allow you to perform different actions as follows:

  1. Funding Account: To receive payment from your users when they transfer funds on Kryptono Exchange into your account to purchase your native token.

  2. Selling Account: To receive payment from your users when they exchange other crypto with your native token.

  3. Merchant Account: To manage your Funding Account and Selling Account.

How To Set Up Your Account

Go to kryptono.exchange to create both the Funding Account and Selling Account. Please note that the registration for these 2 accounts requires corporate documents in order to be successfully processed. Refer to our Enterprise Verification Guidelines for more information.

Once set up, the way that funds will flow between your Funding Account and Selling Account are so organized as to allow for better tracking of any potential discrepancies, and hence is more precise accounting for you.

Funding Account

The Funding Account is the acquisition of users’ payments for your native token collected by Kryptono Exchange. Users can choose to top up tokens into their account on your application by clicking “Transfer”. This amount will then be transferred into your Funding Account and as the final step of this process, to their corresponding account on your application.

For this transaction type, 1% of a user’s deposited tokens will automatically be deducted from the user’s payment as a payment fee borne by you. This fee is incurred upon each successful payment made by a user. (For example, if a user transfers 100 tokens, our system will automatically deduct 1% or 1 tokens, and you receive 99 tokens in payment.)

The Funding Account can also facilitate the distribution of users’ tokens on Kryptono Exchange into their accounts on your application. It acts as a support to your Selling Account whereby the accumulated amount of tokens received in the Selling Account will be transferred into the Funding Account to be distributed to users on your app at a later time.

alt text
Figure 1. How the Funding Account Works

Selling Account

This account is where any exchange related activity takes place. In other words, users can exchange crypto for your native tokens available in the Selling Account. Thus, it is important for you to have sufficient balance for various coins in this account at all times (see our guide on how to deposit your crypto).

A user can purchase your token, as follows:

Purchase with Crypto: ​When a user exchanges other crypto for your native token, this amount of crypto will be transferred into your Selling Account. At the same time, the Selling Account will extract the requisite amount of tokens and place them in the Funding Account (exchange rate is subject to market changes). You can then transfer the tokens from your Funding Account to the the user’s account on your application.

For this transaction type, 0.5% of a user’s crypto will automatically be deducted from the user’s payment as a payment fee borne by you. This fee is incurred upon each successful payment made by a user.

alt text
Figure 2.1. How the Selling Account Works (Crypto)

Admin Account

This is your master account which is used to manage Funding Account and Selling Account. General information related to administration activities can be tracked here, including your Balance, Transaction History, and your Merchant API Key. Kryptono will generate this account for you, and provide you with the details of this account via email.


iOS INTEGRATION GUIDE

Requirement

  • Get Client Key, Checksum Key
  • If your project is written in Swift, Swift compiler version must be equal or greater than 4.1

How To Integrate SDK To Your Project

  • Step 1: Drag file KPAYEnterprise.framework to the project. alt text

  • Step 2: Select tab General then add KPAYEnterprise on section Embedded Binaries and Linked Frameworks and Libraries.

  • Step 3: If your project is written in Objective C, select tab Build Settings, set value to YES for key Always Embed Swift Standard Libraries

  • Step 4: Import following module

    • If your project is written in Swift
      import KPAYEnterprise
    
    • If your project is written in Objective C
      #import <KPAYEnterprise/KPAYEnterprise.h>
    
  • Step 5: MUST call the following class method before calling any other methods on the framework. Otherwise, it will cause failure.

      + (BOOL)configureWithClientKey:(NSString *)clientKey
                         checksumKey:(NSString *)checksumKey;
    
    • Parameters:
      • clientKey: Go to Merchant site to get your client key
      • checksumKey: Go to Merchant site to get your checksum key
  • Step 6 (Optional): By default, SDK will be in English. If your application wants to change the language of the KPAYEnterprise, call this method.

      + (KPFError)setDesiredLanguage:(KPFSupportedLocalization)lang;
    
    • Parameters:
      • lang: supported languages. Check enum KPFSupportedLocalization for more detail

How To Use SDK

Top Up Purpose

  • Users can enter an amount they want to top up within SDK.
+ (void)launchFromController:(UIViewController * _Nonnull )sourceController
                userIdentity:(NSString * _Nonnull )userId
                    delegate:(id<KPFrameworkProtocol>)delegate;
  • Parameters:

    • sourceController: controller that is used to launch sdk
    • delegate: an instance implementing protocol KPFrameworkProtocol to received the payment result.
    • userIdentity: It’s accountId or userId or any name that your platform uses to identify the user.
  • Discussion:

    • Implement protocol KPFrameworkProtocol to receive result of the payment.

Payment Purpose

  • SDK will take exactly a fixed amount and return to your app. Users are not allowed to enter amounts within, your application MUST pass it to SDK.
+ (void)launchFromController:(UIViewController * _Nonnull )sourceController
                userIdentity:(NSString * _Nonnull )userId
                    delegate:(id<KPFrameworkProtocol>)delegate
   yourCryptoRequestedAmount:(double)amount;
  • Parameters:

    • sourceController: controller that is used to launch sdk
    • delegate: an instance implementing protocol KPFrameworkProtocol to receive the payment result.
    • userIdentity: It’s accountId or userId or any name that your platform uses to identify the user.
    • amount: fixed amount (in YOUR CRYPTO SYMBOL) passed to SDK. It must be greater than zero.
  • Discussion:

    • Implement protocol KPFrameworkProtocol to receive result of the top up.
    • An error code KPFError_Requested_Amount_Must_Be_Greater_Than_Zero may be returned if amount argument less or equal to zero. Check enum KPError for more detail about errors.

Protocol And Enum Definition

Protocol KPFrameworkProtocol

@protocol KPFrameworkProtocol <NSObject>

@required
- (void)kpFramework:(KPFramework *)kpframework
  didReceivePayment:(NSString *)paymentId
              error:(KPFError)error;
    
@end
  • Discussion:
    • paymentId: has non-nil value if success.
    • error: KPFError_No_Error if success. Otherwise, check error enum KPFError to know which error is returned.

Enum

  • Enum Supported localized languages KPFSupportedLocalization

    enum kpf_supported_localization {
        kPFSL_English = 0,
        kPFSL_ChineseSimplified
    };
    typedef enum kpf_supported_localization KPFSupportedLocalization;
    
  • Enum SDK Error KPFError

    • All possible errors returned from SDK
    enum kpf_error {
        KPFError_No_Error = 0,
        
        KPFError_Framework_Not_Configured,
            
        KPFError_InvalidClientKey,
        KPFError_InvalidChecksumKey,
        KPFError_EnterpriseNotFound,
        KPFError_WrongClientKeyType,
        
        kPFError_User_Identity_Is_Null,
        
        KPFError_Language_Not_Supported,
    
        KPFError_Requested_Amount_Must_Be_Greater_Than_Zero
    };
    typedef enum kpf_error KPFError;
    

ANDROID INTEGRATION GUIDE

Requirement

Get Client Key, Checksum Key

How To Integrate SDK To Your Project

  • Step 1: Add under app gradle => dependencies. alt text

    implementation 'kryptono.exchange:kryptono-exchange-sdk:1.0.2'
    
  • Step 2: Add under root gradle => all projects => repositories. alt text

    maven {
        url "https://dl.bintray.com/thangpm/maven"
    }
    
  • Step 3: Import packages

    import sdk.kryptono.exchange.kryptonoexchangesdk.model.kryptono.KryptonoSdkData;
    import sdk.kryptono.exchange.kryptonoexchangesdk.model.kryptono.KryptonoSdkSettings;
    import sdk.kryptono.exchange.kryptonoexchangesdk.mvp_module.kryptono.KryptonoExchangeActivity;
    import sdk.kryptono.exchange.kryptonoexchangesdk.mvp_module.kryptono.KryptonoExchangeFragment;
    
  • Step 4: Create one KryptonoSdkSettings instance to hold Client Key, Checksum Key and User Identity and other settings.

    KryptonoSdkSettings sdkSettings = new KryptonoSdkSettings("<YOUR CLIENT KEY>", "<YOUR CHECKSUM KEY>", "USER IDENTITY");
    
  • Parameters:
    • YOUR CLIENT KEY: Go to Merchant site to get your client key
    • YOUR CHECKSUM KEY: Go to Merchant site to get your checksum key
    • USER IDENTITY: It’s accountId or userId or any name that your platform uses to identify the user.
  • Step 5 (Optional): By default, SDK will be in English. If your application wants to change the language of the SDK, just set desire supported languages by the SDK to the instance of KryptonoSdkSettings

    sdkSettings.setLanguage(language);
    
    • Parameters:
      • language: supported languages. Check enum KryptonoSdkSettings.Language for more detail.

How To Use SDK

Top Up Purpose

  • Users can enter an amount they want to top up within SDK.

  • Open SDK by creating an Intent object, put the created instance of KryptonoSdkSettings to the Intent object, and start it.

    Intent intent = new Intent(MainActivity.this, KryptonoExchangeActivity.class);
    intent.putExtra(KryptonoExchangeFragment.ARGUMENT_SDK_SETTINGS, sdkSettings);
    startActivityForResult(intent, REQUEST_CODE_KRYPTONO_EXCHANGE_SDK);
    
    • Parameters:
      • MainActivity: your activity that is used to start KryptonoExchangeActivity.
      • REQUEST_CODE_KRYPTONO_EXCHANGE_SDK: a code is defined by your project. It will be returned on callback onActivityResult to identity request whether is from SDK or not.
  • Discussion:

    • Implement callback onActivityResult to receive result of the payment.

Payment Purpose

  • SDK will take exactly a fixed amount and return to your app. Users are not allowed to enter amounts within, your application MUST pass it to SDK.

  • Firstly, set desire amount to the instance of KryptonoSdkSettings using following declared method

    sdkSettings.setFixedAmount(new BigDecimal(<desire amount>));
    
    • Its declaration is
    public void setFixedAmount(BigDecimal var1) {
            this.fixedAmount = var1;
    }
    
    • Parameters:
      • var1: fixed amount (in YOUR CRYPTO SYMBOL) passed to SDK. It has type BigDecimal and must be greater than zero.
  • Secondly, open SDK by creating an Intent object, put the created instance of KryptonoSdkSettings to the Intent object, and start it.

    Intent intent = new Intent(MainActivity.this, KryptonoExchangeActivity.class);
    intent.putExtra(KryptonoExchangeFragment.ARGUMENT_SDK_SETTINGS, sdkSettings);
    startActivityForResult(intent, REQUEST_CODE_KRYPTONO_EXCHANGE_SDK);
    
    • Parameters:
      • MainActivity: your activity that is used to start KryptonoExchangeActivity.
      • REQUEST_CODE_KRYPTONO_EXCHANGE_SDK: a code is defined by your project. It will be returned on callback onActivityResult to identity request whether is from SDK or not.
  • Discussion:

    • Implement callback onActivityResult to receive result of the payment.

Callback And Enum Definition

Callback onActivityResult

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data)
{
    if (requestCode == REQUEST_CODE_KRYPTONO_EXCHANGE_SDK)
    {
        if (resultCode == Activity.RESULT_OK)
        {
            KryptonoSdkData kryptonoSdkData = (KryptonoSdkData) data.getExtras().get(KryptonoExchangeFragment.KRYPTONO_SDK_RETURN_DATA);
            if (kryptonoSdkData != null)
            {
                if (kryptonoSdkData.getPaymentId() != null && !kryptonoSdkData.getPaymentId().equals(""))
                {
                    String paymentId = kryptonoSdkData.getPaymentId();

                    //It's payment ID

                }
                else if (kryptonoSdkData.getErrorCode() != null)
                {
                    KryptonoSdkData.ErrorCode errorCode = kryptonoSdkData.getErrorCode();

                    //It's error code. Check enum KryptonoSdkData.ErrorCode for more detail
                }
            }
        }
    }

    super.onActivityResult(requestCode, resultCode, data);
}

Enum

  • Enum KryptonoSdkData.ErrorCode
    • All possible errors returned from SDK.
    KRYPTONO_SDK_NO_ERROR_CODE                  
    KRYPTONO_SDK_SETTINGS_NOT_CONFIGURED
    KRYPTONO_SDK_INVALID_CLIENT_KEY             
    KRYPTONO_SDK_INVALID_CHECKSUM_KEY           
    KRYPTONO_SDK_INVALID_ACCESS_TOKEN           
    KRYPTONO_SDK_WRONG_CLIENT_KEY_TYPE          
    KRYPTONO_SDK_ENTERPRISE_ACCOUNT_NOT_FOUND
    

HTML5 INTEGRATION GUIDE

Requirement

Get Client Key, Checksum Key

How To Integrate SDK To Your Project

  • Step 1: Add the following script
      <script src="https://payment.kryptono.exchange/static/script.js"></script>
    
  • Step 2: Call following init method after loaded script.
    <script>
      KryptonoEnterpriseSDK.init({
        clientKey: '<YOUR CLIENT KEY>',
        checksumKey: '<YOUR CHECKSUM KEY>',
        lang: 'en',
      })
    </script>
    
    • Parameters:
      • clientKey: Go to Merchant site to get your client key
      • checksumKey: Go to Merchant site to get your checksum key
      • lang: SDK localized languages. Default is English. SDK currently supports these following language codes
        • en: English
        • zh: Simplified Chinese
    • Discussion: If parameter lang is null, empty or other language codes besides supported languages from SDK, English will be default.

How To Use SDK

Top Up Purpose

  • Users can enter an amount they want to top up within SDK.

    KryptonoEnterpriseSDK.launch
    
    • Params
FieldDescriptionsTypeRequired
onPaymentIdcallback when user confirmed an paymentcallback(id): voidoptional
userIdGettercallback hook for getting user identity, required for identity user.callback() :userId|Promise<userId>required
  • Return

    • Promise base List Payment
  • Errors

    {
      error: "400501",
      error_description: "Invalid client Key"
    }
    
Error CodeError Description
400901User closed Window
400902Topup/Payment window already opened
400903userIdGetter is missing or not a callback
400501Invalid client Key
400503Invalid checksum key
404501Enterprise not found
406501Wrong client key type
  • Example

    KryptonoEnterpriseSDK.launch({
      onPaymentId: function(id){
        /**
        * This callback will be fired after user confirmed an payment. 
        * */
        console.log('on new payment returned %s', id);
      },
      userIdGetter: function(){
        /**
        * Return your userId here
        * Or returned Promise base <userId>
        * */
        return userId
      }
    })
      .then(listPaymentId => {
        /**
        * listPaymentId returned after user pay and close Topup window
        */
        console.log('Transaction ID List returned');
        for(var i in listPaymentId)
          console.log(listPaymentId[i])
      })
      .catch(error => {
        /**
        * Processing Error Here
        */
        if(error)
          alert(error.error_description)
      })
      
    

Live example: https://codepen.io/kryptono/pen/qyyJde

Payment Purpose

  • SDK will take exactly a fixed amount and return to your app. Users are not allowed to enter amounts within, your application MUST pass it to SDK.

    KryptonoEnterpriseSDK.payment
    
    • Params
FieldDescriptionsTypeRequired
userIdGettercallback hook for getting user identity, required for identity user.callback() :userId|Promise<userId>required
amountAmount of requested base currency.numberrequired
  • Return

    • Promise base PaymentId
  • Errors

    {
      error: "400501",
      error_description: "Invalid client Key"
    }
    
Error CodeError Description
400901User closed Window
400902Topup/Payment window already opened
400903userIdGetter is missing or not a callback
400904invalid or missing Amount
400501Invalid client Key
400503Invalid checksum key
404501Enterprise not found
406501Wrong client key type
  • Example
KryptonoEnterpriseSDK.payment({
  userIdGetter: function(){
    /**
     * Return your userId here
     * Or returned Promise base <userId>
     * */
    return userId
  },
  amount : 3000
})
  .then(paymentId => {
    console.log('Payment ID returned %s', paymentId);
  })
  .catch(error => {
    if(error)
      alert(error.error_description)
  })
  

Live example: https://codepen.io/kryptono/pen/djgjoM


SERVER INTEGRATION GUIDE

Requirement

  • Get Server Key, Checksum Key
  • Implement transaction hooking on your back-end
    • Login to merchant site and add add hooking url point to your hooking back-end

Get Payment Detail Endpoint

  • Endpoint https://xapi.kryptono.exchange/k/papi/v1/enterprise/user-payment-detail
curl -X POST -H "Content-Type: application/json" -H "X-Requested-With:XMLHttpRequest" -H "X-KRP-APIKEY:<YOUR SERVER KEY>" -H "Checksum:<YOUR CHECKSUM KEY>" --data '{"paymentId":"0a85a12ee-3b5a-4dbe-986d-b8e910ea1ebd","responseType":"SIMPLE"}' https://xapi.kryptono.exchange/k/papi/v1/enterprise/user-payment-detail
  • Params
FieldDescriptionsTypeRequired
paymentIdan unique identifier of a paymentstringrequired
responseTypea string to indicate desire response is full or not. Its value is SIMPLE or FULLstringoptional
  • Response

    • If responseType is FULL
    {
        "id": "5b61f616892faf688fffd2b0",
        "paymentId": "c0dcef90-6caf-42a0-97b2-93c1e19032a1",
        "userIdentityId": "userIDHere",
        "enterprisePaymentId": "d870511f-d7ea-480a-9e07-71a939e52025",
        "status": "success",
        "createdAt": 1533146646231,
        "amountTo": "70.92198582",
        "amountFrom": "10",
        "enterpriseFee": "0",
        "enterpriseFeeCurrency": "USD",
        "fromCurrency": "USD",
        "toCurrency": "GTO",
        "type": "ccard",
        "rate": "0.141",
        "rateAt": 1533146646231,
        "squarePaymentReceipt": {
            "process_fee": 0,
            "idempotency_key": "75d2601e-a018-4996-8241-dd520c33b08a",
            "square_transaction_id": "ciwHkViIyMoUjg6hAxEISRUHI39vjBbU3CJRB7tXQ7OOUbbKb9SoUIhO",
            "card_type": "VISA",
            "error_code": null
        },
        "enterprisePaymentDetail": {
            "id": "5b6bd10b892faf13d07adec8",
            "paymentId": "d870511f-d7ea-480a-9e07-71a939e52025",
            "userPaymentId": "c0dcef90-6caf-42a0-97b2-93c1e19032a1",
            "status": "success",
            "createdAt": 1533792523461,
            "amount": "70.92198582",
            "fee": "0",
            "currencyCode": "GTO"
        }
    }
    
    • Otherwise
    {
      "id": "5b61f616892faf688fffd2b0",
      "paymentId": "c0dcef90-6caf-42a0-97b2-93c1e19032a1",
      "userIdentityId": "userIDHere",
      "enterprisePaymentId": "d870511f-d7ea-480a-9e07-71a939e52025",
      "status": "success",
      "createdAt": 1533146646231,
      "amountTo": "70.92198582",
      "amountFrom": "10",
      "enterpriseFee": "0",
      "enterpriseFeeCurrency": "USD",
      "fromCurrency": "USD",
      "toCurrency": "GTO",
      "type": "ccard",
      "rate": "0.141",
      "rateAt": 1533146646231,
      "squarePaymentReceipt": {
          "process_fee": 0,
          "idempotency_key": "75d2601e-a018-4996-8241-dd520c33b08a",
          "square_transaction_id": "ciwHkViIyMoUjg6hAxEISRUHI39vjBbU3CJRB7tXQ7OOUbbKb9SoUIhO",
          "card_type": "VISA",
          "error_code": null
      },
      "enterprisePaymentDetail": null
    }
    
  • Error Response:

    {
        "error" : "400001",
        "error_description" : "Error Description"
    }
    
Http Status CodeError CodeDescription
400400501Invalid api key
400400503Invalid checksum
404404501Enterprise account not found
404404502Receipt not found
406406501Key side is not acceptable
406406505Not allowed to get receipt detail
500500000Error while processing request
  • Discussion:
    • <YOUR SERVER KEY>: Go to Merchant site to get your server key
    • <YOUR CHECKSUM KEY>: Go to Merchant site to get your checksum key

Send Withdrawal Request Endpoint

  • Endpoint

https://xapi.kryptono.exchange/papi/v1/enterprise/withdrawal/withdraw

curl -X POST -H "Content-Type: application/json" -H "X-KRP-APIKEY:<YOUR SERVER KEY>" -H "Checksum:<YOUR CHECKSUM KEY>" --data '{"toAdress":"0x8a08e928564ed17bfe4cb10f1dfa999869acde1f","amount":100,"currencyCode":"GTO","identityId":"identity id here","referenceId":"referenceId here","message":"Message here"}' https://xapi.kryptono.exchange/papi/v1/enterprise/withdrawal/withdraw
  • Params
FieldDescriptionsTypeRequired
toAdressan address which will be received crypto from the withdrawn requestwallet addressrequired
amountan amount of crypto to be withdrawnnumberrequired
currencyCodethe standard code of the crypto currencystringrequired
identityIda unique identifier of a user on your platformstringrequired
referenceIdan identifier generated by your platform to mark with the transactionstringrequired
messagea note for the transactionstringrequired
  • Discussion:
    • <YOUR SERVER KEY>: Go to Merchant site to get your server key
    • <YOUR CHECKSUM KEY>: Go to Merchant site to get your checksum key

Get Withdrawal Transaction Detail By Transaction Id Endpoint

  • Endpoint

https://xapi.kryptono.exchange/papi/v1/enterprise/withdrawal/transactions/getbyid

curl -X POST -H "Content-Type: application/json" -H "X-KRP-APIKEY:<YOUR SERVER KEY>" -H "Checksum:<YOUR CHECKSUM KEY>" --data '{"transactionId":"a85a12ee-3b5a-4dbe-986d-b8e910ea1ebd","identityId":"identity id here"}' https://xapi.kryptono.exchange/papi/v1/enterprise/withdrawal/transactions/getbyid
  • Params
FieldDescriptionsTypeRequired
transactionIdan unique identifier of a transactionstringrequired
identityIda unique identifier of a user on your platformstringrequired
  • Discussion:
    • <YOUR SERVER KEY>: Go to Merchant site to get your server key
    • <YOUR CHECKSUM KEY>: Go to Merchant site to get your checksum key

Get Withdrawal Transaction Detail By Reference Id Endpoint

  • Endpoint

https://xapi.kryptono.exchange/papi/v1/enterprise/withdrawal/transactions/getbyreferenceid

curl -X POST -H "Content-Type: application/json" -H "X-KRP-APIKEY:<YOUR SERVER KEY>" -H "Checksum:<YOUR CHECKSUM KEY>" --data '{"referenceId":"referenceId here","identityId":"identity id here"}' https://xapi.kryptono.exchange/papi/v1/enterprise/withdrawal/transactions/getbyreferenceid
  • Params
FieldDescriptionsTypeRequired
referenceIdan unique identifier generated by your platform to mark with the transactionstringrequired
identityIda unique identifier of a user on your platformstringrequired
  • Discussion:
    • <YOUR SERVER KEY>: Go to Merchant site to get your server key
    • <YOUR CHECKSUM KEY>: Go to Merchant site to get your checksum key

Get Withdrawal Transactions Belonging To Identity Id Endpoint

  • Endpoint

https://xapi.kryptono.exchange/papi/v1/enterprise/withdrawal/transactions/getbyidentityid

curl -X POST -H "Content-Type: application/json" -H "X-KRP-APIKEY:<YOUR SERVER KEY>" -H "Checksum:<YOUR CHECKSUM KEY>" --data '{"id":"5b73dd36892faf223732a655","limit":50,"identityId":"identity id here"}' https://xapi.kryptono.exchange/papi/v1/enterprise/withdrawal/transactions/getbyidentityid
  • Params
FieldDescriptionsTypeRequired
identityIda unique identifier of a user on your platformstringrequired
idthe identitifer of last the transaction. It’s used for paging purposestringrequired
limita maximum number of records returned by the apistringrequired
  • Discussion:
    • <YOUR SERVER KEY>: Go to Merchant site to get your server key
    • <YOUR CHECKSUM KEY>: Go to Merchant site to get your checksum key

Get List Of Transactions Endpoint

  • Endpoint

https://xapi.kryptono.exchange/papi/v1/enterprise/withdrawal/transactions/list

curl -X POST -H "Content-Type: application/json" -H "X-KRP-APIKEY:<YOUR SERVER KEY>" -H "Checksum:<YOUR CHECKSUM KEY>" --data '{"id":"5b73dd36892faf223732a655","limit":50}' https://xapi.kryptono.exchange/papi/v1/enterprise/withdrawal/transactions/list
  • Params
FieldDescriptionsTypeRequired
idthe identitifer of last the transaction. It’s used for paging purposestringrequired
limita maximum number of records returned by the apistringrequired
  • Discussion:
    • <YOUR SERVER KEY>: Go to Merchant site to get your server key
    • <YOUR CHECKSUM KEY>: Go to Merchant site to get your checksum key

Transaction hooking on your back-end

Note: Please login to merchant site and provide us hooking url, which was implemented on your back-end

  • Method : POST

  • Request body

{
  "id": "5b7f9f1da8c20fbaf8005325",
  "paymentId": "2616dccd-8316-44de-94e3-8e2850596a9a",
  "referenceId": "reference id here",
  "message" : "custom message here",
  "status": "confirmed",
  "createdAt": 1535090461743,
  "amountTo": "2000",
  "amountFrom": "0.2",
  "from": "ETH",
  "to": "GTO",
  "type": "crypto",
  "hookType" : "deposit_detected",
  "cryptoPaymentTransaction": {
    "transactionHash": "0x317bed80daa10381e60837362792ec1285c54641bbc6c7a79ede2f4e72ab1d52",
    "address": "0xb66bb682959b8805a9feb60c22d282cf4fc7c7ec",
    "status": "confirming_fund",
    "receiveAt": 1535090461743,
    "blockNumber": 6312737,
    "explorerLink": "https://etherscan.io/tx/0x317bed80daa10381e60837362792ec1285c54641bbc6c7a79ede2f4e72ab1d52",
    "numberConfirmations": 30,
    "totalConfirmations": 3
  }
} 
  • Response code
    • 200 if hooking is success
    • 400 if hooking is fail