GEO Pay
Manage your online assets with GEO Pay
Supports in this guide: Payments, Payouts
Provider website: geo-pay.net
What you need to do for start processing transactions (brief summary)
- Get your credentials (from GEO Pay)
- Generate and share a key pair
- Connect in Dashboard
- Send an API request
Prerequisites: get from GEO Pay
Create an account on the website or message the GEO Pay support team. In the Profile section, copy your Merchant Hash ID, then contact GEO Pay support to request an API key.
Generate a key pair (format P521 / secp521r1):
# to generate a private key
openssl genrsa -out key.pem 1024
# to get a public key from a private one
openssl rsa -in key.pem -outform PEM -pubout -out public.pem
- API key -> Corefy field
api_key. - Merchant Hash ID -> Corefy field
merchant_hash_id. - Private key (optional in the Dashboard, but required for requests to be signed) -> Corefy field
private_key-> upload your own private key. - GEO Pay public key (optional) -> Corefy field
public_key-> upload GEO Pay's public key.
Important
Be sure to check with your account manager if you need to whitelist IPs on GEO Pay's side, using the Corefy IP list.
One Provider account is used for both Payments and Payouts.
Payments processing (connect Provider account, create payment-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open GEO Pay in the provider directory and press Connect at GEO Pay Provider Overview page in the New connection section.
Step 2 - Fill in fields and select settings
- API key
- Merchant Hash ID
- Private key
- GEO Pay public key (optional)
Success
You have connected GEO Pay Provider account!
First request to Corefy API (MIN)
What it does: creates a payment-invoice and redirects the customer to GEO Pay's hosted checkout. GEO Pay wallet, Binance Pay, and a card-transfer (P2P) method are all supported on this same connection, selected via service.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "1f2e3d4c-5b6a-4978-8c01-2d3e4f5a6b7c",
"service": "geopaynet_uah_hpp",
"currency": "UAH",
"amount": 100
}
}
}
Important
customer is not used at all by this connector - no customer fields are sent to GEO Pay for Payments.
Payment - MAX
There is no MAX variant - the request above already includes every field GEO Pay's Payments API accepts. No Options or Constants are configured for this connector.
Extended request (MAX)
Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow
Refunds
GEO Pay does not support refunds.
Payouts processing (connect Provider account, create payout-invoice)
Connect Provider account in Corefy Dashboard
Uses the same Provider account connected above - no separate connection step.
First request to Corefy API (MIN)
What it does: creates a payout-invoice and sends funds either to a GEO Pay wallet or directly to a card, depending on the method.
Payout - MIN (to a GEO Pay wallet)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "2a3b4c5d-6e7f-4089-8d12-3e4f5a6b7c8d",
"service": "geopaynet_uah",
"currency": "UAH",
"amount": 100,
"fields": {
"user_id": "recipient-hash-id-123"
}
}
}
}
Important
fields.user_id (the recipient's GEO Pay Hash ID) is required for payouts to a GEO Pay wallet.
Payout - MIN (to a card)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "3c4d5e6f-7a8b-4c9d-8e02-3f4a5b6c7d8e",
"service": "payment_card_uah",
"currency": "UAH",
"amount": 100,
"fields": {
"card_number": "4111111111111111"
}
}
}
}
Important
fields.card_number is required for card payouts. customer is not used by either payout method.
Payout - MAX
There is no MAX variant - the requests above already include every field GEO Pay's Payouts API accepts. No Options or Constants are configured for this connector.
Extended request (MAX)
Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow
Additional info
- UAH, EUR, RUB, and KZT are available, depending on the method; GEO Pay wallet and card payouts in UAH are limited to 20-25000 UAH per transaction.
- Active reconciliation is available - both Payments and Payouts support an active status request (Payouts do not have an asynchronous callback at all, so an active status request is the only way to get a final payout status).
- No recurring - this connector does not support saving/charging a token through Corefy.
FAQ / Troubleshooting
- Invalid credentials / auth error -> verify the API key, Merchant Hash ID, and that your private key is uploaded - requests are signed with it and fail without one
- Payout to a wallet fails with recipient not found -> confirm
fields.user_idmatches a real GEO Pay Hash ID - Currency or service is not supported -> confirm allowed currencies/features in your GEO Pay account and in Corefy - only
UAH,EUR,RUB,KZTare available, and availability depends on the method - Refund fails -> GEO Pay does not support refunds through Corefy
Question
Still looking for help connecting your GEO Pay account? Please contact our support team!