Skip to content

Logo

Pylon

Payment solutions to efficiently enter new markets

Supports in this guide: Payments

Provider website: pylonpayments.com


What you need to do for start processing transactions (brief summary)

  1. Get your credentials (from Pylon)
  2. Connect in Dashboard
  3. Send an API request

Prerequisites: get from Pylon

Contact your Pylon account manager to get your account verified and receive the following credentials.

  • Login -> Corefy field login.
  • Control Key -> Corefy field control_key -> used to sign every request.
  • Endpoint ID -> Corefy field endpoint_id.
  • Multi Currency Integration -> Corefy field is_multi_currency_integration -> enable if your Pylon terminal is set up to process more than one currency.

Payments processing (connect H2H Merchant account, create payment-invoice)

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

Open Pylon in the provider directory and press Connect at Pylon Provider Overview page in the New connection section. Choose H2H Merchant account.

Step 2 - Fill in fields and select settings

  • Login
  • Control Key
  • Endpoint ID
  • Test Mode -> (enable if you are using sandbox credentials)
  • Multi Currency Integration

Choose Currency / Features; check with your Corefy account manager which are enabled for your account.

Success

You have connected Pylon 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. Pylon may return a 3D Secure challenge redirect depending on the card. CVV is always required - non-CVV sales aren't supported.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "8e3dbbb0-17af-4c9a-bedb-93bdac6900a2",
      "service": "payment_card_usd_hpp",
      "currency": "USD",
      "amount": 10
    }
  }
}

This connector also supports EUR.

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
      "service": "payment_card_usd_hpp",
      "currency": "USD",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123",
        "email": "johnsmith@gmail.com",
        "phone": "+15551234567",
        "address": {
          "country": "US",
          "city": "New York",
          "full_address": "1 Main street",
          "post_code": "10001"
        }
      }
    }
  }
}

customer is entirely optional - anything you don't send falls back to the Constants below, or to a hardcoded placeholder (Berlin, Germany) if neither is set.


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

  • 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.
  • use_default_browser_info -> optional, boolean - if real browser/device fingerprint data isn't available for a sale, falls back to the browser-related Constants below instead of sending nothing.
  • custom_finalization_logic -> optional, boolean - changes how Corefy finalizes the payment status internally; ask your account manager whether your account needs this enabled.
  • allow_callback_for_all_transaction_types -> optional, boolean - exposed on the connection form, but has no observable effect in the current integration.

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 -> a hardcoded placeholder (Berlin, Germany) is used for address/country/city/post code, and a placeholder phone/email for those fields

Currently available constants (constant -> Corefy API field)

  • ADDRESS -> customer.address.full_address
  • COUNTRY -> customer.address.country
  • CITY -> customer.address.city
  • POST_CODE -> customer.address.post_code
  • PHONE -> customer.phone
  • EMAIL -> customer.email
  • BROWSER_IP, BROWSER_USER_AGENT, BROWSER_ACCEPT_HEADER, BROWSER_LANGUAGE, BROWSER_TZ_OFFSET, BROWSER_SCREEN_WIDTH, BROWSER_SCREEN_HEIGHT, BROWSER_COLOR_DEPTH, BROWSER_JAVA_ENABLED, BROWSER_INFO -> used as fallback browser/device data when use_default_browser_info is enabled and real browser data isn't available

Important

If a sale is missing both the request value and the matching Constant for address/city/country/post code/phone/email, Pylon still receives a sale - just with hardcoded placeholder values (a Berlin, Germany address and a placeholder phone/email) instead of a rejection. Always send real customer data when you have it.


Refunds

Pylon supports partial refunds, but only one refund per payment (no multiple partial refunds against the same payment).


Additional info

  1. Callback routing is automatic - Corefy generates the callback/return URLs per transaction, nothing to configure in Pylon's own back-office.
  2. No payouts - this connector does not support payouts through Corefy.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify Login/Control Key/Endpoint ID for the selected environment
  • Sale declined / implausible customer data on the provider's side -> send real customer data; otherwise a hardcoded placeholder is used - see the important note under Payments above
  • Refund fails on a second attempt -> only one refund is allowed per payment
  • Currency or service is not supported -> confirm allowed currencies/features in your Pylon account and in Corefy

Question

Still looking for help connecting your Pylon account? Please contact our support team!