Skip to content

sumup/sumup-ecom-php-sdk

SumUp Ecommerce PHP SDK

Stars Latest Stable Version Total Downloads License Contributor Covenant

Overview

This repository contains the open source PHP SDK that allows you to integrate quickly with the SumUp's API endpoints.

Installation

The SumUp eCom PHP SDK can be installed with Composer. Run the following command:

composer require sumup/sumup-ecom-php-sdk

Basic usage

try {
    $sumup = new \SumUp\SumUp([
        'app_id'     => 'YOUR-CLIENT-ID',
        'app_secret' => 'YOUR-CLIENT-SECRET',
        'code'       => 'YOUR-AUTHORIZATION-CODE'
    ]);
    $checkoutService = $sumup->getCheckoutService();
    $merchantCode = 'YOUR-MERCHANT-CODE';
    $checkoutResponse = $checkoutService->create($amount, $currency, $checkoutRef, $merchantCode);
    $checkoutId = $checkoutResponse->getBody()->id;
//  pass the $chekoutId to the front-end to be processed
} catch (\SumUp\Exceptions\SumUpAuthenticationException $e) {
    echo 'Authentication error: ' . $e->getMessage();
} catch (\SumUp\Exceptions\SumUpResponseException $e) {
    echo 'Response error: ' . $e->getMessage();
} catch(\SumUp\Exceptions\SumUpSDKException $e) {
    echo 'SumUp SDK error: ' . $e->getMessage();
}

TLS certificates

The SDK now ships with the latest Mozilla CA bundle to prevent SSL certificate problem: unable to get local issuer certificate errors on Windows and other environments that do not expose a system-wide trust store. You can override the bundled file by passing the ca_bundle_path configuration key:

$sumup = new \SumUp\SumUp([
    'app_id'         => 'YOUR-CLIENT-ID',
    'app_secret'     => 'YOUR-CLIENT-SECRET',
    'code'           => 'YOUR-AUTHORIZATION-CODE',
    'ca_bundle_path' => __DIR__ . '/storage/certs/company-ca.pem',
]);

If not provided, the bundled resources/ca-bundle.crt file is used automatically by both the cURL and Guzzle HTTP clients.

API Reference

For a full list of classes, see the API reference page.

FAQ

Roadmap

Version Status PHP Version
1.x Latest >= 5.6

License

For information about the license see the license file.

Contact us

If you have found a bug or you lack some functionality please open an issue. If you have other issues when integrating with SumUp's API you can send an email to integration@sumup.com.