Skip to content

ProjectOn

IT solutions for e-commerce payment acceptance and full-scope project management

Supports in this guide: Payments

Provider website: projecton.solutions

Note

This provider's brand is ProjectOn; the connector's code in Corefy is projectonsolutionslimited, after the legal entity Projecton Solutions Limited - same provider, not a separate integration. No logo asset is currently available for this connector.


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

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

Prerequisites: get from ProjectOn

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

  • Token -> Corefy field token.
  • Requestor ID -> Corefy field requestor_id.
  • API URL -> Corefy field api_url.

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

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • Token
  • Requestor ID
  • API URL
  • 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 ProjectOn 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. ProjectOn uses EMV 3D Secure 2 - a sale may require a challenge redirect before it completes.

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.

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",
        "date_of_birth": "1990-01-01",
        "address": {
          "country": "FR",
          "region": "IDF",
          "city": "Paris",
          "street": "1 Main street",
          "post_code": "75000"
        }
      }
    }
  }
}

customer is entirely optional - anything you don't send falls back to the Constants below, or is simply left blank on ProjectOn's side. By default, the cardholder's name sent to ProjectOn comes from customer.name first, then the card's own embossed name, then the name Constants - see the prioritize_cardholder option below to change this order.


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.
  • extended_threeds_data_waiting_time -> optional, boolean - extends the waiting time for receiving 3D Secure authentication data.
  • pending_refunds_on_invalid_response -> optional, boolean - when disabled (default), an invalid response from ProjectOn during a refund sets the refund to ERROR/PROVIDER_ERROR; when enabled, the same response instead sets it to PENDING/OK, reported as "the refund has not yet been processed on the provider's side."
  • prioritize_cardholder -> optional, boolean - by default, customer.name takes priority over the card's own embossed name for the first/last name sent to ProjectOn; enable this to prioritize the card's embossed name instead.

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 -> provider may reject the request or apply its defaults (depends on provider)

Currently available constants (constant -> Corefy API field)

  • FIRST_NAME -> customer.name (first part)
  • LAST_NAME -> customer.name (second part)
  • EMAIL -> customer.email
  • PHONE -> customer.phone
  • DATE_OF_BIRTH -> customer.date_of_birth
  • COUNTRY -> customer.address.country
  • REGION -> customer.address.region
  • CITY -> customer.address.city
  • POST_CODE -> customer.address.post_code
  • ADDRESS_LINE_1 / ADDRESS_LINE_2 -> customer.address.street

Refunds

ProjectOn 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 ProjectOn's own back-office.
  2. No payouts - this connector does not support payouts through Corefy.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify Token/Requestor ID for the selected environment
  • Refund stuck as pending after an invalid response -> this is expected if pending_refunds_on_invalid_response is enabled; disable it if you'd rather see a hard error instead
  • Currency or service is not supported -> confirm allowed currencies/features in your ProjectOn account and in Corefy

Question

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