
Paymentz
Enjoy Fintech Payments as Never Before
Supports in this guide: Payments
Provider website: paymentz.co.uk
What you need to do for start processing transactions (brief summary)
- Get your credentials (from Paymentz)
- Connect in Dashboard
- Send an API request
Prerequisites: get from Paymentz
To create an account, send a connection request via the Paymentz partner page or contact your Paymentz account manager directly. Submit the required documents to verify your account, then get the following credentials.
- Product name -> Corefy field
product_name. - Merchant private key -> Corefy field
merchant_private_key-> used both to authenticate every request to Paymentz and to identify your account; check with your Corefy account manager which currencies and features are enabled for it.
Payments processing (connect H2H Merchant account, create payment-invoice)
Connect H2H Merchant account in Corefy Dashboard
Step 1 - Open connection form
Open Paymentz in the provider directory and press Connect at Paymentz Provider Overview page in the New connection section. Choose H2H Merchant account.
Step 2 - Fill in fields and select settings
- Product name
- Merchant private key
- Test Mode -> (enable if you are using sandbox credentials)
Success
You have connected Paymentz 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.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "e9745af4-4b0b-4adb-ae8e-63cef6e07b2d",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10,
"customer": {
"address": {
"full_address": "1 Main street"
}
}
}
}
}
Important
- Only EUR is currently supported for this connector.
- A card's CVV is required to complete a sale - Paymentz rejects (and Corefy fails locally) a sale submitted without one.
- Paymentz does not support transactions that require 3-D Secure - a sale that would need 3DS confirmation is failed automatically rather than being sent to the provider.
- Always send at least one
customer.addressfield (even justfull_address), as shown above - see Additional info below for why.
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "e9745af4-4b0b-4adb-ae8e-63cef6e07b2d",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "8ce9c51c-6a72-4f73-aa60-380967ef9645",
"name": "Test Test",
"email": "test@test.com",
"phone": "+15551234567",
"date_of_birth": "2000-01-01",
"address": {
"full_address": "1 Main street",
"country": "GB",
"region": "London",
"city": "London",
"street": "1 Main street",
"post_code": "000357"
}
}
}
}
}
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 (1)
ignore_callback- stops Paymentz's asynchronous callback from finalizing the payment.
ignore_callback
What it does: excludes the possibility of finalizing a payment from Paymentz's asynchronous callback; the transaction's status is never changed by the callback. When to use: needed for cascading to work correctly - Corefy then relies only on an active status request (reconciliation) to finalize the payment. Default: false Allowed values: true, false
Constants (fallback fields)
Constants are static values that Corefy can send to Paymentz 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 -> Corefy falls back to a built-in placeholder (see Additional info below)
Currently available constants (constant -> Corefy API field)
EMAIL->customer.email
Refunds
Paymentz supports partial refunds, but only a single refund per payment - once one refund has been made against a payment, no further refund can be issued for it.
Additional info
- Hardcoded email fallback - if
customer.emailis not sent in the request and theEMAILconstant is not set on the Dashboard, Corefy sends the fixed placeholderjonhdoe@example.comto Paymentz instead of a real customer email. - Always include a
customer.addressfield - Paymentz's request builder readscustomer.addressas part of every sale request regardless of what you send; ifcustomerorcustomer.addressis omitted entirely, this can trigger an internal warning. Sending at least one address field (e.g.full_address) avoids this - it's not required by Paymentz itself, but is good practice for every request. - Active reconciliation is supported - Corefy can request Paymentz's transaction status directly using the original provider transaction ID, rather than relying only on the asynchronous callback. This is what the
ignore_callbackoption above switches on. - No recurring - this connector does not support saving/charging a token through Corefy.
- Single currency - only EUR is available for this connector.
FAQ / Troubleshooting
- Invalid credentials / auth error -> verify the Product name and Merchant private key, and that Test Mode matches the credential environment
- Sale fails immediately with no attempt reaching Paymentz -> check that a CVV was provided and that the transaction does not require 3-D Secure (not supported by this connector)
- Currency is not supported -> only EUR is available for this connector
- Refund fails -> only one refund is allowed per payment; a second refund attempt against the same payment is rejected
- Customer received an unexpected placeholder email ->
customer.emailwas missing and noEMAILconstant was set; set the constant or always send a real email
Question
Still looking for help connecting your Paymentz account? Please contact our support team!