
Crossbill
A single API to move money in, out and hold across any rail
Supports in this guide: Payments, Payouts
Provider website: crossbill.com
What you need to do for start processing transactions (brief summary)
- Choose account type
- Get your credentials (from Crossbill)
- Connect in Dashboard
- Send an API request
Choose account type
Crossbill can be connected in different ways (depending on your needs):
- If you do H2H card payments (card data sent directly) -> choose H2H Merchant account
- If you do card or local payment method payments via a hosted page, or payouts -> choose Provider account
If you're not sure which one to use, confirm with your Corefy account manager.
Prerequisites: get from Crossbill
Contact your Crossbill account manager to get your account verified and receive the following credentials. H2H Merchant account and Provider account are separate connections with independent credentials, even though the field names are similar.
For H2H Merchant account:
- Commerce Account -> Corefy field
com_acc. - API Key -> Corefy field
api_key. - Key for Callback (optional) -> Corefy field
key_for_callback-> used to verify callback notifications from Crossbill, if your account requires it. - API URL -> Corefy field
api_url-> your account-specific endpoint, given by Crossbill. - Send Metadata (optional) -> Corefy field
send_metadata. - Save Instant Token (optional) -> Corefy field
save_instant_token-> enable to save the card as a token during a sale, so you can charge it again later without resending card data.
For Provider account:
- Commerce ID -> Corefy field
commerce_id. - API Key -> Corefy field
api_key. - Secret Key for Callback -> Corefy field
secret_key_callback. - API URL (optional) -> Corefy field
api_url. - Send Metadata (optional) -> Corefy field
send_metadata.
Payments processing (connect H2H Merchant account, create payment-invoice)
Connect H2H Merchant account in Corefy Dashboard
Step 1 - Open connection form
Open Crossbill in the provider directory and press Connect at Crossbill Provider Overview page in the New connection section. Choose H2H Merchant account.
Step 2 - Fill in fields and select settings
- Commerce Account
- API Key
- Key for Callback (optional)
- API URL
- Send Metadata (optional)
- Save Instant Token (optional)
- Test Mode -> (enable if you are using sandbox credentials)
Choose Currency / Features; check with your Corefy account manager which are enabled for your account.
Success
You have connected Crossbill H2H Merchant account!
First request to Corefy API (MIN)
What it does: creates a payment-invoice; card data itself is collected and submitted separately by Corefy's checkout/SDK layer, not as part of this request. Crossbill may return a 3D Secure challenge redirect depending on the card.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "8e3dbbb0-17af-4c9a-bedb-93bdac6900a2",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10
}
}
}
This connector also supports USD, GBP, AUD, JPY.
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"name": "John Smith",
"email": "johnsmith@gmail.com",
"phone": "+15551234567"
}
}
}
}
customer is entirely optional and is only used to enrich the sale.
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
No Constants are configured for this connector.
Options
ignore_callback-> optional, boolean - for cascading to work correctly, excludes finalizing the payment from the asynchronous callback; Corefy then relies only on an active status request (reconciliation) to finalize it.save_provider_instant_token-> optional, boolean - if Crossbill's response includes an instant token, Corefy stores it; this is separate from the Save Instant Token connection field above.generate_random_customer_data-> optional, boolean - if enabled andcustomeris missing from your request, Corefy automatically fills it in with generated placeholder data instead of sending nothing.transliterate_customer_data-> optional, boolean - transliteratescustomerfields to Latin before sending them to Crossbill.transliterate_card_holder-> optional, boolean - transliterates the card's embossed holder name to Latin before sending it to Crossbill (independent of thecustomertransliteration above).set_description-> optional, boolean - sends your transaction descriptor as the payment's description, instead of leaving it blank.duplicate_original_resolution-> optional, boolean - if Corefy's own resolution mapping can't classify Crossbill's response, falls back to reporting Crossbill's original resolution code instead of leaving it blank.
Refunds
Crossbill supports partial refunds, but only one refund per payment (no multiple partial refunds against the same payment) on the H2H Merchant account.
Recurring (save and charge a token)
If Save Instant Token is enabled on your connection, this connector supports saving the card as a token during a sale (via Corefy's standard tokenize-on-sale request) and later charging that same token without sending full card data again.
Payments processing (connect Provider account, create payment-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open Crossbill in the provider directory and press Connect at Crossbill Provider Overview page in the New connection section. Choose Provider account.
Step 2 - Fill in fields and select settings
- Commerce ID
- API Key
- Secret Key for Callback
- API URL (optional)
- Send Metadata (optional)
- Test Mode -> (enable if you are using sandbox credentials)
Success
You have connected Crossbill Provider account!
First request to Corefy API (MIN)
What it does: creates a payment-invoice and redirects the customer to a Crossbill-hosted page to complete the payment. Crossbill supports a wide range of local payment methods (Skrill, Paysafecard, ePayBG, BLIK, EPS, iDEAL, bank transfer, Multibanco, MyBank, Przelewy24, SIBS MB WAY, Rapid Transfer, Paysafecash, Apple Pay, Google Pay, in addition to cards); the exact set available depends on what's enabled for your specific account - check with your account manager.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "8e3dbbb0-17af-4c9a-bedb-93bdac6900a2",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"name": "John Smith",
"email": "johnsmith@gmail.com"
}
}
}
}
customer is entirely optional - everything is only used to prefill the hosted form, it never blocks the sale.
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
No Constants are configured for this flow.
Options
allow_conversion-> optional, boolean - lets Corefy/Crossbill automatically convert the transaction currency when the requested currency isn't directly supported, instead of rejecting the request outright.
Refunds
Crossbill supports partial refunds, but only one refund per payment on the Provider account as well.
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, nothing extra to fill in for payouts specifically.
First request to Corefy API (MIN)
What it does: creates a payout-invoice and sends funds to a card. Crossbill also supports payouts via Skrill, Paysafecard, BLIK, and bank transfer; the required fields depend on the specific service - check with your account manager which ones are enabled for you.
Payout - MIN (card)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "0dde9e79-2c64-4703-adaf-93d710633401",
"service": "payment_card_eur",
"currency": "EUR",
"amount": 10,
"fields": {
"card_number": "4111111111111111"
}
}
}
}
Important
fields.card_number is required for card payouts. Other payout rails (Skrill, Paysafecard, BLIK, bank transfer) expect different fields - confirm the exact set for your chosen service with your account manager.
Payout - MAX (card)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "3c6d2f8e-8a2a-4e7a-9b1a-2f6a7b9c0d1e",
"service": "payment_card_eur",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"name": "John Smith"
},
"fields": {
"card_number": "4111111111111111"
}
}
}
}
customer is entirely optional - name, when sent, is forwarded as the receiver's name.
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
send_description-> optional, boolean - sends a description with the payout, instead of leaving it blank.allow_conversion-> optional, boolean - lets Corefy/Crossbill automatically convert the payout currency when the requested currency isn't directly supported, instead of rejecting the request outright.
Additional info
- Callback routing is automatic - Corefy generates the callback/return URLs per transaction, nothing to configure in Crossbill's own back-office.
FAQ / Troubleshooting
- Invalid credentials / auth error -> verify the credentials for the selected account type and environment - H2H Merchant account and Provider account use entirely different credential sets
- Refund fails with multiple attempts -> only one refund is allowed per payment, on either account type
- Payout fails with a field validation error -> double-check which
fieldsyour chosen payout service (card, Skrill, Paysafecard, BLIK, bank transfer) actually requires - they differ - Currency or service is not supported -> confirm allowed currencies/features in your Crossbill account and in Corefy
- Not sure which account type to use? -> H2H Merchant account is direct card only; Provider account adds the wider range of local methods and payouts
Question
Still looking for help connecting your Crossbill account? Please contact our support team!