PHPackages                             apimatic-bk/bk-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. apimatic-bk/bk-sdk

ActiveLibrary[Payment Processing](/categories/payments)

apimatic-bk/bk-sdk
==================

The Boku Direct Payments API is a payment gateway API that enables merchants to accept payments through local payment methods such as digital wallets and carrier/mobile billing. It acts as a bridge between merchants and payment issuers (wallets, mobile carriers, etc.).

1.0.0(2w ago)00MITPHPPHP ^7.2 || ^8.0

Since Mar 5Pushed 2w agoCompare

[ Source](https://github.com/sdks-io/bk-php-sdk)[ Packagist](https://packagist.org/packages/apimatic-bk/bk-sdk)[ Docs](https://www.apimatic.io/)[ RSS](/packages/apimatic-bk-bk-sdk/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (6)Versions (2)Used By (0)

Getting Started with Boku Direct Payments API
=============================================

[](#getting-started-with-boku-direct-payments-api)

Introduction
------------

[](#introduction)

### API Security

[](#api-security)

Security is a significant consideration for payment platforms. As part of the registration process for each registered merchant account, merchants receive a security key used to authenticate communications in either direction.

Developers should consult the Boku API Signature Authentication Guide for additional details with respect to implementing security on the Boku APIs.

### API Usage

[](#api-usage)

When a consumer chooses to use a local payment-method (wallet), the consumer must go through an 'optin' flow to authenticate. This is accomplished using a redirect to the issuer's app or website where the consumer authenticates and completes the opt-in process.

After the consumer adds their local payment-method (wallet), as their registered payment method, the 'charge' method is used to charge the consumer's local payment-method.

If a customer decides to refund a transaction, the 'refund-charge' method can be used to refund the transaction.

### API Versioning

[](#api-versioning)

The Boku Payment Gateway API is versioned to provide support for changes to functionality without affecting existing integrations. Each API URL includes version information that enables distinct functionality across different versions.

There are several types of changes that could result in a new API version:

1. New API functionality – new APIs, new parameters, additional information in responses, improved error reporting.
2. Deprecated API functionality – deprecated APIs, deprecated parameters, deprecated error messages.
3. Changes in functionality – existing functional behavior changes such as the returned result of a call. A warning is changed to an error. Validation becomes stricter or more lenient.

In these cases, Boku will release a new API version through a new endpoint(s). When new versions of existing APIs are added, support for existing versions is maintained. Unless otherwise stated, as a rule, compatibility is maintained across versions. Prior supported endpoints should have unchanged behavior. If an API is deprecated and scheduled to be removed, a notice of not less than 6 months will be given. Requests for extensions to this period can be considered.

Boku may make changes to the API within an existing version without changing the version number. An example of a non-versioning change would be the addition of an optional field to a request or to a response.

### API Calls

[](#api-calls)

#### URL Scheme

[](#url-scheme)

All the below API calls are against URLs that follow the pattern,

`https://${api-node}.boku.com/${api-family}/${api-version}/${api-call}`

Definitions for the above placeholders:

- **api-node**: This follows the pattern '${country}-api4' (e.g. 'us-api4').
    - 'country' is the two letter country code of the end-user's payment-method against which the call is made.
    - The country code is required and is used for more efficient routing of the request.
    - The country code in the url must match the country code supplied in the `optin-request`.`country` element.
- **api-family**: Groups a family of related API methods.
    - In this API, family is either one of:
        - 'optin' - For interacting with the user or handset to obtain billing approval.
        - 'billing' - For actually performing billing operations against the user.
- **api-version**: In this version of the API, this value is always the string '3.0'.
    - Calls under different version numbers may be used in the future to introduce non-compatible API changes.
- **api-call**: The name particular API call or method to invoke, for example 'charge' or 'refund-charge'.
    - This usually matches the XML root element name, sans the '-request' suffix.

Fully qualified API call URLs are documented with each of the example calls detailed below.

Install the Package
-------------------

[](#install-the-package)

Run the following command to install the package and automatically add the dependency to your composer.json file:

```
composer require "apimatic-bk/bk-sdk:1.0.0"
```

Or add it to the composer.json file manually as given below:

```
"require": {
    "apimatic-bk/bk-sdk": "1.0.0"
}
```

You can also view the package at:

Test the SDK
------------

[](#test-the-sdk)

Unit tests in this SDK can be run using PHPUnit.

1. First install the dependencies using composer including the `require-dev` dependencies.
2. Run `vendor\bin\phpunit --verbose` from commandline to execute tests. If you have installed PHPUnit globally, run tests using `phpunit --verbose` instead.

You can change the PHPUnit test configuration in the `phpunit.xml` file.

Initialize the API Client
-------------------------

[](#initialize-the-api-client)

***Note:*** Documentation for the client can be found [here.](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/client.md)

The following parameters are configurable for the API Client:

ParameterTypeDescriptioncountry`string`Country code in ISO 3166-1-alpha-2 standard
*Default*: `'gb'`environment[`Environment`](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/README.md#environments)The API environment.
 **Default: `Environment.MERCHANT_TEST_ENVIRONMENT`**timeout`int`Timeout for API calls in seconds.
*Default*: `0`enableRetries`bool`Whether to enable retries and backoff feature.
*Default*: `false`numberOfRetries`int`The number of retries to make.
*Default*: `0`retryInterval`float`The retry time interval between the endpoint calls.
*Default*: `1`backOffFactor`float`Exponential backoff factor to increase interval between retries.
*Default*: `2`maximumRetryWaitTime`int`The maximum wait time in seconds for overall retrying requests.
*Default*: `0`retryOnTimeout`bool`Whether to retry on request timeout.
*Default*: `true`httpStatusCodesToRetry`array`Http status codes to retry against.
*Default*: `408, 413, 429, 500, 502, 503, 504, 521, 522, 524`httpMethodsToRetry`array`Http methods to retry against.
*Default*: `'GET', 'PUT'`proxyConfiguration[`ProxyConfigurationBuilder`](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/proxy-configuration-builder.md)Represents the proxy configurations for API callsThe API client can be initialized as follows:

```
use BokuDirectPaymentsAPILib\Environment;
use BokuDirectPaymentsAPILib\BokuDirectPaymentsAPIClientBuilder;

$client = BokuDirectPaymentsAPIClientBuilder::init()
    ->environment(Environment::MERCHANT_TEST_ENVIRONMENT)
    ->country('gb')
    ->build();
```

Environments
------------

[](#environments)

The SDK can be configured to use a different environment for making API calls. Available environments are:

### Fields

[](#fields)

NameDescriptionMERCHANT\_TEST\_ENVIRONMENT**Default**PRODUCTION\_ENVIRONMENT-List of APIs
------------

[](#list-of-apis)

- [Consumer Registration](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/controllers/consumer-registration.md)
- [Account Resources](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/controllers/account-resources.md)
- [Config Resources](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/controllers/config-resources.md)
- [Charge](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/controllers/charge.md)
- [Refund](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/controllers/refund.md)
- [Forex](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/controllers/forex.md)
- [Fund-Check](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/controllers/fund-check.md)
- [Seller of Record](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/controllers/seller-of-record.md)

SDK Infrastructure
------------------

[](#sdk-infrastructure)

### Configuration

[](#configuration)

- [ProxyConfigurationBuilder](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/proxy-configuration-builder.md)

### HTTP

[](#http)

- [HttpRequest](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/http-request.md)
- [HttpResponse](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/http-response.md)

### Utilities

[](#utilities)

- [ApiException](https://www.github.com/sdks-io/bk-php-sdk/tree/1.0.0/doc/api-exception.md)

###  Health Score

37

—

LowBetter than 84% of packages

Maintenance97

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

17d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ef06f97b4ff5db714f2a124525216538f97338487cd4e2bca22baa32c0bf90cd?d=identicon)[developer-sdksio](/maintainers/developer-sdksio)

---

Top Contributors

[![developer-sdksio](https://avatars.githubusercontent.com/u/135820708?v=4)](https://github.com/developer-sdksio "developer-sdksio (1 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/apimatic-bk-bk-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/apimatic-bk-bk-sdk/health.svg)](https://phpackages.com/packages/apimatic-bk-bk-sdk)
```

###  Alternatives

[square/square

Use Square APIs to manage and run business including payment, customer, product, inventory, and employee management.

763.3M17](/packages/square-square)[paypal/paypal-server-sdk

PayPal's SDK for interacting with the REST APIs

53358.5k1](/packages/paypal-paypal-server-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
