Skip to main content

Prerequisites

  • Merchant Account: Contact sales for a GoPay merchant account
  • API Key Pair: Create an Ed25519 key pair with the c2b permission — see Authentication
  • Server Environment: A backend to securely sign and send API requests — never sign requests in a browser or mobile app

Implementation Steps

Every request is authenticated with a detached Ed25519 signature sent in HTTP headers (X-Public-Key, X-Signature, X-Timestamp, X-Request-ID) — nothing auth-related goes in the JSON body.The full scheme, including ready-to-use signing helpers in Node.js, Python, and Go, is on the Authentication page. In short:
  1. Hash your exact request body bytes with SHA-256
  2. Build the v1 canonical string from the method, host, path, timestamp, request ID, and body hash
  3. Sign it with your Ed25519 private key and send X-Signature: ed25519=<base64>
Also send the optional Idempotency-Key header if you retry on network errors.

Next Steps

API Reference

Full request/response contract and validation rules

Code Examples

Complete initiate-payment calls in Node.js, Python, and Go