Elemi API Documentation
  • Introduction
  • Getting Started
    • Registration
    • Error Handling
    • Authentication
    • Merchant Account Credentials
      • Generate Secret Key
      • Regenerate Security Keys
    • Supported Countries/Regions
    • Transaction Limits
    • Sandbox Test Accounts
    • Elemi Public Keys
  • Utility Functions
    • Balance Inquiry
    • Payment Options
    • Payout Bank Codes
    • Mobile Money Operator Prefixes
    • Handling Notifications/Callbacks
      • Callback Events
    • Transaction Status Verification
  • Funds Collection
    • Getting Started
    • Mobile Money Collection
      • Mobile Money - Direct Charge
      • Mobile Money - Hosted Page
    • NGN Bank Transfers
    • ZAR Bank Collections
    • Card Payments
      • Hosted Payment Page
      • Direct Card Payment (S2S)
  • Payouts/Disbursements
    • Getting Started
    • Mobile Money Payouts
    • Bank Account Transfers
  • Callbacks
    • HMAC Signature Verification
    • RSA Signature Verification
  • Appendix
    • API Reference
    • Merchant Account Transfers
    • Availing Payout Funds
    • Sub Account Transfers
    • Funds Settlement
    • Transaction Audit Logs
    • Cross Currency Transactions
Powered by GitBook
On this page
  • Sandbox Public Key
  • Production Public Key
  1. Getting Started

Elemi Public Keys

This section shares the two public keys used by Elemi for the two environments (Sandbox and Production). The keys can be copied and stored as files to later be used in transaction processing.

The Elemi public key serves two critical purposes as briefly described below.

Purpose
Description

RSA Signature Verification

Card details encryption

Sandbox Public Key

-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAliurmmtRYMo0Ei8SPRs0
lpVZckk00rp82kOL4gEf4zB9scfgcq6ef+iYNed7LOWW2GX8V9zEfNWVTzTBTV7d
4SFnBHqF6sWO3DvaVbY925Honzcr+nBB+PrROc3RJMtImTLFpcq85kpIa12T/vrl
CKgJNjJ9qLYXoyapy/4Tq9O4vVFlb7W2WvFHwfS/7bYS1QxwEJi522DnYel/WLBa
tnRKthRbBQDURU5BuM9G/IfpFQDUwhgusXSUOb7SfbufbhrgGDh7BHrNEBQuWjzB
uiz+BoLL2aOPJyBnD9RzVs5wnVZ+S1Q6GoxxPXA2C1XJLA/pgfC3Jo+9O1g3bNPX
xQ3DQDDXogKVWy0W7YNcfChP1ztORvZnAHnLYIxPEgNSkQWjzwcjSm8VGgyyWFCl
ePSUWDqiu3qqvjC1a/TC0J8qORIMSb2lQVGDQFZmJpOQFgs4vDr5aep/fE8kVZnw
phGZJkwNmAXZ0231foL2BBh6p1mcGL2C3N3afIzMZm2BEA4AMFuQi5I5QkSk37Z5
SCk6oI6hzwLihS5SGYGKEOOrVwtirYpJ9dy5k3lmLzPXBaM7fyCsIXV+8NNuIeGl
miItzYZ/173bw6CPqKjGh+8K0BcfMM9ELWE57XWuQTKXFFNhDeDdQynmhAYmG0ZE
RibM4pOb2jpV99sqB0DMXBMCAwEAAQ==
-----END PUBLIC KEY-----

Production Public Key

-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2ziBlzRuLjNRAvWG3p7q
iRqCo4MaTzNRdnnwkHvHiXl7PlH6/1M6QuoDGibtC+KlshoH/1ECQjgbbDjvW9XP
wIWyrvZI1AvqflvpgR6MJATiTsEgGLXnCctZ0GW7rB7tQGzai4tBfYxu7+imoYQS
RLk+CxGMEr9T5HCkoiLpb7walXoSyFBZd4e7Di/2t0wH0FsE5LX2I4WJgjv5aVhV
pMSXaG8oD5kjs0qQG/BqRQZ99Uz1q6xiRUENBQ2gFfsEHbbu+MS7UtykqS/fhhs+
2fqIwxRgAzezBimI1PPPGx6BfFX2+vaEe3IwmmPvH7zXnDioqzcAucQYEo1k5Qc0
hUBTj9wuU4H078NYxjYkCAbrWnByGDljtltmxhTwXuAUT0J4Ve9S2hzLINtquahK
8zywZV/OywBQ5BKr2kg5YoH7ZOZRPdX3if9kpmQPZ/L6DoDiN9YeSfmi4bMxMIwI
h0Bm8PCPfJt88luOsX4mw/9GW/OEKHw84vNo6uQSCDBhcxsnAOUnw1o25MX9kYc7
DMgDoFTLTNfBoABC7HPhs8/hxj9qm3bGmXKJl4ld1lZXajh9wHdcp+s5nmoZOANa
S9gF/NwixfKYVVI3NteH9Z0i6ha7pjNuShQ+y9W+1YYmDU3ymHzlGJwwoj1dTq5R
b4Cywk0c9uQ4n0odzV/vg08CAwEAAQ==
-----END PUBLIC KEY-----

We recommend that for each environment you're working with, the key content is copied and stored in your workflow based on how you see fit. In this documentation however, we will assume the content is stored in a file named elemi.public.key.pem and referenced from there for all described usage.

PreviousSandbox Test AccountsNextBalance Inquiry

Last updated 3 months ago

Callbacks from Elemi carry a header named rsa-signature and with the public key, the signature can be verified as described to confirm authenticity.

When the merchant opts for the direct card payment option, the public key is used to encrypt the card details as described in this

here
section