LogoLogo
  • Overview
  • Authentication
  • Error Codes
  • Payout API
    • Receiver
      • Create New Receiver
      • KYC Verification for Payout
      • Add Receiver Account
        • International
          • Virtual Card
        • Australia (AUD)
          • Direct Entry
        • Canada (CAD)
          • EFT
          • Digital Payment
        • Europe (EUR)
          • SEPA
        • New Zealand (NZD)
          • Direct Credit
        • United States of America (USD)
          • ACH
      • Get Receiver
      • Get Receiver Bank Account
      • Webhooks
    • Payout
      • Create a Payout Transaction
      • Get Payout
      • Webhooks
      • Sandbox Test Helper
    • Balance
      • Get Account Balance
    • Account
      • Get Current Account
      • Webhooks
    • Batch
      • Webhooks
Powered by GitBook
LogoLogo

© 2025 Ipay Technologies Pty Ltd

On this page
  • These are encoded as HTTP headers named
  • Javascript Example
Export as PDF

Authentication

API request must be authorized. This is achieved by including an "x-api-key" and a "signature" in the request headers. The API key is used to identify the SubAccount, while the signature provides a layer of security to verify the request's authenticity.

These are encoded as HTTP headers named

  • x-api-key (Your API key)

  • signature (Signature created using your API secret)

Example

Header
Data

x-api-key

A24b4fSJ8SKhowxlY

signature

1712042205773.da41de13228cafdef8189df03c946a7e2184ce5afbe610753397a869367efcc6

Javascript Example

const CryptoJS = require("crypto-js");
const axios = require("axios");

const apiDomain = "{{API_DOMAIN}}";
const api_key = "{{API_KEY}}";
const api_secret = "{{API_SECRET}}";

async function sendRequest () {
    const apiPath = "/api/payout/single";
    const httpMethod = "POST";

    let nonce = new Date().getTime();
    const signedPayload = `${nonce}.${api_key}`;
    const expectedSignature = CryptoJS.HmacSHA256(signedPayload, api_secret).toString();
    let sig = nonce + "." + expectedSignature;

    try {

        const data = {
            receiver_id: "a0bb742e-2b17-4698-be2d-3226c64aec03",
            account_id: "6dea4c0d-7825-4636-a0b0-c4895d451244",
            amount: 2121,
            currency: "AUD",
            reference: "ref2121",
            note: "Payout for Mike 2121"
        };

        const resp = await axios(`${apiDomain}${apiPath}`, {
            method: httpMethod,
            headers: {
                "x-api-key": api_key,
                "signature": sig,
            },
            data: data
        });

        console.log("Result: ", resp.data);

    } catch (error) {
        console.log("error", error.response.data);
    }
}

sendRequest();
PreviousOverviewNextError Codes

Last updated 1 year ago