Skip to content

Logo

Octopays

Payment Solutions For Your Business - Instantly And Comprehensively

Supports in this guide: Payments, Payouts

Provider website: octopays.io


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

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

Prerequisites: get from Octopays

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

  • Login -> Corefy field login.
  • API key -> Corefy field api_key.
  • Callback secret key -> Corefy field callback_secret_key.

BDT, via bKash and Nagad mobile wallets.


Payments processing (connect Provider account, create payment-invoice)

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

Open Octopays in the provider directory and press Connect at Octopays Provider Overview page in the New connection section.

Step 2 - Fill in fields and select settings

  • Login
  • API key
  • Callback secret key
  • Test Mode -> (enable if you are using sandbox credentials)

Success

You have connected Octopays Provider account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice and redirects the customer to Octopays' hosted checkout for the selected mobile wallet (bKash or Nagad).

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "c35c1416-a283-490a-998f-d6232d6fbb5f",
      "service": "bkash_limited_bdt_hpp",
      "currency": "BDT",
      "amount": 15
    }
  }
}

Important

  • If customer.reference_id is missing, Corefy generates a random ID and sends it to Octopays instead - this is a generated placeholder, not a fixed fake value.
  • If customer.metadata.ip is missing and the CUSTOMER_IP Constant isn't set either, no IP is sent at all.

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "199be985-c243-478a-86a8-4b8c902e5bb6",
      "service": "bkash_limited_bdt_hpp",
      "currency": "BDT",
      "amount": 15,
      "customer": {
        "reference_id": "e1a58a3e-c388-4537-a50f-63798b6967f1",
        "metadata": {
          "ip": "127.0.0.1"
        }
      }
    }
  }
}


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


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)

  • CUSTOMER_IP -> customer.metadata.ip

Refunds

Octopays does not support refunds.


Payouts processing (connect Provider account, create payout-invoice)

Connect Provider account in Corefy Dashboard

Uses the same Provider account connected above - no separate connection step.

First request to Corefy API (MIN)

What it does: creates a payout-invoice and sends funds to the customer's mobile wallet (bKash or Nagad).

Payout - MIN

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "20cf1525-0f02-4d81-89b8-ad343d0a4cc3",
      "service": "bkash_limited_bdt",
      "currency": "BDT",
      "amount": 22,
      "fields": {
        "account_number": "01946157716"
      }
    }
  }
}

Important

  • fields.account_number is the wallet number the payout is sent to. If it's missing, customer.phone is used instead - at least one of the two must be provided.

Payout - MAX

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "a1b2c3d4-5e6f-4789-8a02-5b6c7d8e9f0a",
      "service": "bkash_limited_bdt",
      "currency": "BDT",
      "amount": 22,
      "customer": {
        "phone": "+8801946157716"
      },
      "fields": {
        "account_number": "01946157716"
      }
    }
  }
}


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


Additional info

  1. Active reconciliation is available on both flows - both the asynchronous callback and an active status request can finalize Payments and Payouts.
  2. No recurring - this connector does not support saving/charging a token through Corefy.
  3. No Options are configured for this connector.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify the Login, API key, and Callback secret key for the selected environment (test_mode)
  • Currency or service is not supported -> only BDT is available, via the bkash_limited and nagad_wallet services
  • Payout rejected for missing destination -> provide fields.account_number or customer.phone
  • Refund fails -> Octopays does not support refunds through Corefy

Question

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