BPN OpenAPI
  1. Onboarding & Prerequisites
BPN OpenAPI
  • Getting Started
    • Introduction to BPN
    • Key Concepts & Terminology
    • Architecture Overview
  • Onboarding & Prerequisites
    • Product Demo
    • Sandbox & Test Environment
    • Signature Authentication Mechanism
  • Use Case
    • Transfer
    • Vault
    • On/Off Ramp
    • Compliance (Travel Rule Information Submission)
    • Fiat Collection(BRL PIX for example)
  • API Reference
    • Account Management
      • Inquiry Master VA Balance
      • Create Virtaul Account
      • Get Virtual Account Detail
      • List Virtual Account
      • Send Email Verify Code
      • Query bank info by account number
      • Payout via Virtual Account
      • Refund Virtual Account Order
      • Get Virtual Account Order Detail
      • List Virtual Account Orders
      • Submit Invoice
      • Get Invoice list Status
      • List Banks
      • Add Bank Account
      • List Bank Account
      • List RFI Sub Virtual Account
      • Get Sub Virtual Account RFI Template Info
      • Sub Virtual Account Submit RFI
    • Wallet
      • List Wallets
      • List Sub Account
      • Create Sub Account
      • Wallet Internal Transfer
      • Get Asset Balance
      • Get Deposit Address
      • Add Deposit Sender
      • Add Withdraw Whitelist
      • Delete Withdraw Whiltelist
      • Request Withdraw
      • Query Transaction History
    • FX
      • Inquery FX Rate
    • BPN Transactions
      • Get Stablecoin Quote
      • Create Stable Order
      • Get Order (Single) Detail
      • List Orders(Batch)
    • Reconciliation
      • Get Reconciliation Order List By Page
    • Crypto Payment Link
      • Create Payment Link
      • List Payment links
      • Get Curreny Network Config
    • Mock
      • Mock Virtual account Payin Order
  • Webhooks & Events
    • Resend Fail Webhook
      POST
    • Open Virtual Account Status
    • Virtual Account Payment Status
    • Virtual Account Invoice update
    • Transaction Status Notification
    • KYB Status Notification
    • Deposit Sender Detail Required
  • Appendix
    • Enum
    • Virtual Account(VA) Support List & KYB requirement
  • Release Notes & Changelog
    • Version History
  • Schemas
    • walletBalance
    • walletAddress
    • transactionRecord
  1. Onboarding & Prerequisites

Signature Authentication Mechanism

API Keys#

NameDescription
apiKeyThe API key assigned to the merchant
apiSecretThe API secret assigned to the merchant. The API key and secret are confidential. Please keep them safe and do not disclose them. They are only used for generating signatures and should not be passed as parameters.

Request Headers#

NameRequiredDescription
API-KEYYThe API key assigned to the merchant
API-SIGNATUREYSignature generated using the signature algorithm below
API-TIMESTAMPYUNIX millisecond timestamp when the request is made
Content-TypeNMandatory for all POST requests, value must be application/json

Signature Algorithm#

The value of API-SIGNATURE is obtained by applying the HMAC-SHA256 signature algorithm to request_content + "&" + timestamp using the apiSecret key.
Where:
For GET requests:
All non-empty request parameters are sorted in alphabetical order by parameter name. The sorted parameters are
concatenated into a string request_content in the format of parameter name and parameter value.
For example: request_content = "param1=value1&param2=value2&param3=value3"
For POST requests:
Convert the request body into a JSON string to get request_content.
For example: request_content = "{"fiatAmt":20,"fiatCurrency":"USD"}"
The value of timestamp is the same as the API-TIMESTAMP request header, which is a millisecond-level timestamp.
String to be signed: source = request_content + "&" + timestamp

Code Example#

Example of Generating Signature for GET Request:#

Example of Generating Signature for POST Request:#

Signature Algorithm Utility Class:#

Previous
Sandbox & Test Environment
Next
Transfer
Built with