Alphapo
Supports in this guide: Payments, Payouts
Provider website: alphapo.net
What you need to do for start processing transactions (brief summary)
- Choose account type
- Get your credentials (from Alphapo)
- Connect in Dashboard
- Send an API request
Choose account type
Alphapo has a single account type that covers both directions:
- Provider account -> used for both payments (customer pays with crypto on Alphapo's hosted invoice page) and payouts (crypto sent to a wallet address)
If you're not sure whether Alphapo fits your use case, confirm with your Corefy account manager.
Prerequisites: get from Alphapo
Sign up and complete verification at alphapo.net, then generate an API key in your Alphapo merchant back-office (see Alphapo's own Initial setup guide).
- Public Key -> Corefy field
public_key-> the API key identifier issued by Alphapo -> where to find: Alphapo merchant back-office, API keys section. Sent on every request as theX-Processing-Keyheader. - Secret Key -> Corefy field
secret_key-> shown once when the API key is generated -> where to find: Alphapo merchant back-office, API keys section. Used to sign every request (X-Processing-Signatureheader) and to verify Alphapo's callbacks - store it securely, it can't be retrieved again later. - API URL (optional) -> Corefy field
api_url-> currently has a single option, Alphapo's own endpoint (https://app.alphapo.net/api/v2) -> leave as default unless your account manager tells you otherwise.
Make sure the crypto currencies/networks you plan to accept or pay out are enabled on your Alphapo merchant account before testing - Alphapo's supported cryptocurrencies list covers 40+ assets across multiple blockchain networks (BTC, ETH, USDT/USDC on several networks, LTC, XRP, and others), and which of them are actually usable on a given transaction depends on what's turned on for your account.
Payments processing (connect Provider account, create payment-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open Alphapo in the provider directory and press Connect at Alphapo Provider Overview page in the New connection section. Choose Provider account.
Step 2 - Fill in fields and select settings
- Public Key
- Secret Key
- API URL (leave default)
- Test Mode -> (enable if you are using sandbox credentials)
- Currency / Features -> choose the crypto/fiat pairs enabled on your Alphapo account
Success
You have connected Alphapo Provider account!
First request to Corefy API (MIN)
What it does: creates a payment-invoice and returns a redirect link to Alphapo's hosted crypto payment page.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"service": "bitcoin_eur_hpp",
"currency": "EUR",
"amount": 50,
"customer": {
"email": "johnsmith@gmail.com"
}
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"service": "bitcoin_eur_hpp",
"currency": "EUR",
"amount": 50,
"customer": {
"reference_id": "cus_123",
"email": "johnsmith@gmail.com"
}
}
}
}
customer.email is mandatory for this flow - Corefy rejects the request with INVALID_DETAILS if it's missing, there's no placeholder fallback. The service code encodes both the crypto asset the customer pays with and the settlement currency you receive (<crypto>_<currency>_hpp, e.g. ethereum_usd_hpp, tether_trc20_eur_hpp); which pairs are available depends on what's enabled on your Alphapo account - check the Currency / Features selector in the Dashboard connection form rather than assuming a fixed list, since Alphapo routes are provisioned dynamically per account rather than being a fixed set in Corefy.
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
Options
Options are configured on the Corefy side and affect how Corefy builds provider requests or processes responses.
Currently available options (3)
title_key- which payment-metadata field to use as the invoice title shown on Alphapo's hosted page.payment_title_type- whether the invoice only accepts the exact amount or also allows partial/expiring payment.timer- shows a countdown timer on the hosted payment page.
title_key
What it does: picks a key from the payment's metadata to use as the invoice title on Alphapo's hosted page. If not set (or the key isn't present in metadata), Corefy falls back to "Payment <payment_number>".
When to use: set it if you want a recognisable order/product name shown to the customer instead of the generic payment number.
Default: not set (uses the fallback title)
Allowed values: any string matching a key in your metadata object
payment_title_type
What it does: controls whether the invoice is "Full Only" (the customer must pay the exact amount for the payment to complete) or "Partial Allowed" (a partial/expiring payment is accepted).
When to use: enable "Partial Allowed" if you want to accept underpayments/overpayments on the crypto invoice rather than requiring an exact match.
Default: not set (behaves as "Full Only")
Allowed values: Full Only / Partial Allowed
timer
What it does: shows a countdown timer on Alphapo's hosted payment page, reflecting the invoice's expiry window.
When to use: enable it if you want the customer to see how long they have to complete the crypto payment.
Default: false
Allowed values: true / false
Constants (fallback fields)
This connector has no Dashboard-configurable Constants - customer.email in particular has no fallback and must always be sent in the request (see above).
Payouts processing (connect Provider account, create payout-invoice)
Connect Provider account in Corefy Dashboard
Uses the same Provider account connection as Payments above - one connection covers both directions, there's nothing extra to fill in for payouts specifically.
First request to Corefy API (MIN)
What it does: creates a payout-invoice and sends crypto to the given wallet address.
Payout - MIN
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"service": "bitcoin_eur",
"currency": "EUR",
"amount": 50,
"customer": {
"reference_id": "cus_123"
},
"fields": {
"wallet_id": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh"
}
}
}
}
Payout - MAX
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"service": "bitcoin_eur",
"currency": "EUR",
"amount": 50,
"customer": {
"reference_id": "cus_123",
"name": "John Smith"
},
"fields": {
"wallet_id": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh"
}
}
}
}
fields.wallet_id (the recipient's blockchain address) and customer.reference_id are both required - a payout without a customer is rejected outright. As with payments, the service code encodes the crypto/fiat pair (<crypto>_<currency>, no _hpp suffix, e.g. ethereum_usd) and which pairs exist depends on what's enabled on your Alphapo account.
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
Constants (fallback fields)
This connector has no Dashboard-configurable Constants for payouts.
Additional info
- Callback authentication. Alphapo signs every callback with the same
X-Processing-Key/X-Processing-Signatureheaders used for outgoing requests (HMAC over the callback body using your Secret Key); Corefy verifies this automatically - there's no separate callback secret to configure in Alphapo's back-office. - Currency conversion on payouts. If the payout's settlement currency differs from the destination crypto asset, Alphapo performs the conversion on its side (via the route implied by the
servicecode) - the exchange isn't always a direct conversion and may go through intermediate pairs, which can affect the exact amount received. - Dynamic currency routing. Unlike connectors with a fixed currency list, which crypto/fiat pairs are available for a given Alphapo account is resolved at connection time from what's actually enabled on that account - if a
servicecode you expect to use is missing after connecting, check the Currency / Features selector in the Dashboard connection form or contact your account manager.
FAQ / Troubleshooting
INVALID_DETAILS/ payment rejected ->customer.emailis missing; it's mandatory for every Alphapo payment- Payout rejected with no customer error ->
customer.reference_idis missing; a payout without a customer is rejected before it reaches Alphapo - A currency/crypto pair I expect isn't available -> confirm it's enabled on your Alphapo merchant account and reflected in the Dashboard's Currency/Features selector for this connection
- Invalid signature on callback -> verify the Secret Key used to connect matches the API key currently active in your Alphapo account
- Not sure which account type to use? -> ask your Corefy account manager
Question
Still looking for help connecting your Alphapo account? Please contact our support team!