Startbutton Product API
  • Startbutton API doc
    • Get Started
    • Accept Payments
    • Server-to-Server Integration
      • S2S Integration for Virtual Accounts
        • S2S Virtual account (NGN)
        • S2S Virtual account (GHS)
        • S2S EFT (ZAR)
      • S2S Integration for Mobile Money
        • S2S MoMo (KES and GHS)
        • S2S MoMo (TZS and UGX)
        • S2S MoMo (RWF)
        • S2S MoMo XOF and XAF
    • Re-charge Card
    • Subscriptions
    • Payment Links
    • Currency Conversion
    • Get Wallet Balance
    • Transfer
      • Bank List
    • Security Measures.
      • IP Whitelisting
    • Webhook
    • Transaction Status
    • Get FX Rate
    • Under and Overpayments
    • Refunds
      • Refund Transaction Status (TSQ)
    • Available Currencies
    • FAQs
  • Advanced Security
    • Signed Payload for Transfer Requests.
Powered by GitBook
On this page
  • Initiate S2S
  • Mock transfer
  1. Startbutton API doc
  2. Server-to-Server Integration
  3. S2S Integration for Virtual Accounts

S2S Virtual account (NGN)

This feature is a white labeled solution that helps merchants get all the necessary details for a virtual account transaction and get notified once payments are received.

Initiate S2S

Authorization
Set to Bearer PUBLIC_KEY

Content-Type

Set value to application/json

Query Params

Set Key to provider Set Value to providus or baines

The public key can be gotten from the 'Settings' page on your Startbutton dashboard.

Post a request to the URL below, where the base URL is determined by the environment you are in.

BaseUrls

PROD : https://api.startbutton.tech

DEV/ Staging: https://api-dev.startbutton.tech

POST {{baseurl}}/transaction/initialize-s2s

Here's a sample request below

{
    "amount": 300000,
    "currency": "NGN",
    "email": "test-pms@customer.com"
}

The amount should be in fractional units.

Ensure your customers pay the exact amount.

Here's a sample response

{
    "success": true,
    "message": "VA initiated",
    "data": {
        "accountNumber": 8200244923,
        "reference": "7d19bfxxxxxx",
        "expiryTime": "2024-01-30T13:08:11.179Z",
        "bankName": "BAINES CREDIT MICROFINACE BANK",
        "accountName": "Checkout Earth/SB"
    }
{
    "success": true,
    "message": "VA initiated",
    "data": {
        "accountNumber": "9627094872",
        "expiryTime": "2024-03-25T18:50:04.329Z",
        "reference": "3b8xxxxxxxxx",
        "bankName": "PROVIDUS BANK",
        "accountName": "Start Button Limited(Checkout)"
    }

Mock transfer

To simulate a transfer being made by your customer on our sandbox environment; use the request body below.

POST {{baseurl}}/transaction/mock-va-collection

Here's a sample request below

{
    "amount": 300000,
    "accountNumber": "8200244923",
    "reference": "7d19bfxxxxxx"
}

The reference being passed here should be that gotten from the response

Here's a sample response below

{
    "success": true,
    "message": "success",
    "data": "Transaction verified successfully"
}

Once payment has been made a webhook is sent and merchants can get the transaction status at anytime.

PreviousS2S Integration for Virtual AccountsNextS2S Virtual account (GHS)

Last updated 2 months ago