Sends
Open your multicurrency account and transfer money everywhere you want with inward SEPA, SWIFT and UK Local Payments.
Supports in this guide: Payments, Payouts
Provider website: sends.co
What you need to do for start processing transactions (brief summary)
- Get your credentials (from Sends)
- Connect in Dashboard
- Send an API request
Choose account type
- H2H Merchant account -> card Payments (sale, 3-D Secure, recurring/tokenized charges, refunds)
- Provider account -> card Payouts
Prerequisites: get from Sends
Contact your Sends account manager to get your account verified and receive the following credentials. The same credential set (Merchant Point ID + key pair) is issued once and used for both account types if you need both.
- Merchant Point ID -> Corefy field
merchant_point_id. - Private key -> Corefy field
private_key-> uploaded as a file. - Public key -> Corefy field
public_key-> uploaded as a file.
Important
Every API request to Sends is encrypted with your public key and signed with your private key (and every response/callback is decrypted with your private key) - this is why a full RSA key pair is required rather than a simple token.
EUR, USD, TRY (Payments). EUR (Payouts).
Payments processing (connect H2H Merchant account, create payment-invoice)
Connect H2H Merchant account in Corefy Dashboard
Step 1 - Open connection form
Open Sends in the provider directory and press Connect at Sends Provider Overview page in the New connection section, then choose H2H Merchant account.
Step 2 - Fill in fields and select settings
- Merchant Point ID
- Private key
- Public key
- API URL -> optional, overrides the default endpoint when test mode is disabled
- Test Mode -> (enable if you are using sandbox credentials)
- Save instant token -> optional, enables storing a reusable card token for Recurring charges
Success
You have connected Sends 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. The payment may require a 3-D Secure redirect depending on the issuer/Sends' own risk decision.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "6be05631-8710-4b14-a369-1928a2b70eda",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123"
}
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "199be985-c243-478a-86a8-4b8c902e5bb6",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"name": "John Doe",
"email": "test@test.com",
"phone": "+380680786663",
"address": {
"full_address": "Main street 1",
"country": "GB",
"city": "London",
"region": "London",
"post_code": "W1J 5AX"
}
}
}
}
}
Important
customer.nameis split into first/last name; if missing, the card's own embossed cardholder name is used instead.customer.address.countryis converted to a numeric ISO 3166-1 country code before it is sent to Sends - send a valid ISO alpha-2countryand Corefy handles the conversion.- If a customer field is missing and no matching Constant is set, it is simply omitted - no hardcoded placeholder value is sent in its place.
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
No Options are configured for this connector's Payments side.
Constants (fallback fields)
Constants are static values that Corefy can send to the provider instead of dynamic data from your API request, when those fields are missing in the request.
Priority (predictable rule): 1. If a value is present in the request -> Corefy uses the request value 2. Else if the constant is set -> Corefy uses the constant 3. Else -> the field is omitted from the request
Currently available constants (constant -> Corefy API field)
FIRST_NAME,LAST_NAME-> customer first/last name (used only when no card-embossed name is available)EMAIL->customer.emailPHONE->customer.phoneCOUNTRY->customer.address.country(as the raw numeric code Sends expects)POST_CODE->customer.address.post_codeSTATE->customer.address.regionCITY->customer.address.cityADDRESS->customer.address.full_address
Refunds
Sends supports full-amount refunds only - no partial refunds and no multiple refunds against the same payment.
Payouts processing (connect Provider account, create payout-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open Sends in the provider directory and press Connect at Sends Provider Overview page in the New connection section, then choose Provider account.
Step 2 - Fill in fields and select settings
- Merchant Point ID
- Private key
- Public key
- API URL -> optional, overrides the default endpoint when test mode is disabled
- Test Mode -> (enable if you are using sandbox credentials)
Success
You have connected Sends Provider account!
First request to Corefy API (MIN)
What it does: creates a payout-invoice that sends funds to a bank card.
Payout - MIN
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "79e62df2-80bb-4b15-94ad-2da0a413355d",
"service": "payment_card_eur",
"currency": "EUR",
"amount": 11,
"customer": {
"reference_id": "26d91fd9-51cf-49d9-9a7d-9d7dedf57c64",
"name": "John Doe"
},
"fields": {
"card_number": "4000000000000002"
}
}
}
}
Important
customer.name(resolving to both a first and a last name) is required - the payout is rejected before it reaches Sends if either part is missing.fields.card_numberis required.
Payout - MAX
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "79e62df2-80bb-4b15-94ad-2da0a413355d",
"service": "payment_card_eur",
"currency": "EUR",
"amount": 11,
"customer": {
"reference_id": "26d91fd9-51cf-49d9-9a7d-9d7dedf57c64",
"name": "John Doe",
"address": {
"full_address": "Main street 1",
"city": "London",
"post_code": "W1J 5AX"
}
},
"fields": {
"card_number": "4000000000000002"
}
}
}
}
Extended request (MAX)
Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Include optional fields required by your specific flow
Refunds
Payouts cannot be refunded - this applies to every provider on Corefy, not specifically to Sends.
Additional info
- Active reconciliation is available on both Payments and Payouts - Corefy can actively request the current status from Sends in addition to relying on its asynchronous callback.
- Recurring is supported on Payments only - enable Save instant token on the H2H Merchant account to store a reusable card token after a successful sale, then charge it again without resending card data. Payouts has no recurring/token concept.
- Refund is implemented as a "cancel" call on the Payments side - functionally this is Sends' own cancellation/refund operation, exposed to you through the normal Corefy refund API.
- Two independent account types exist under the same provider code - an H2H Merchant account (Payments,
cardgate) and a Provider account (Payouts,paycore). Connecting one does not automatically connect the other.
FAQ / Troubleshooting
- Invalid credentials / auth error -> verify the Merchant Point ID and that the private/public key pair is valid and matches what Sends issued you
- Payment or payout silently fails to decrypt/verify -> confirm the uploaded private and public keys are a matching pair, and that Test Mode matches the environment the keys were issued for
- Payout rejected for missing recipient data ->
customer.namemust resolve to both a first and a last name, andfields.card_numbermust be present - Currency or service is not supported -> confirm allowed currencies/features in your Sends account and in Corefy
- Refund fails with multiple attempts -> only one full-amount refund per payment is allowed
- Setting "Save instant token" has no effect on Payouts -> this option only applies to the H2H Merchant account's Payments flow
Question
Still looking for help connecting your Sends account? Please contact our support team!