collector-bank / collector-checkout-sdk
SDK for Collector Bank Checkout API
Installs: 8 022
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 1
Open Issues: 1
- dev-master
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-feature/adjustment-fees
- dev-feature/delivery-checkout-bugfix
- dev-bugfix_switch-b2b
- dev-feature/prefill-buyer
- dev-feature/oath
- dev-bugfix/php80-emails-not-sent
- dev-release/magento-upgrade-plus-bug-fixes
- dev-bug/handle_new_aborted_status
- dev-bug/magento244_or_php8_fixes
- dev-7-action-color-fungerar-inte
This package is auto-updated.
Last update: 2025-04-23 12:17:48 UTC
README
Php package used to communicate with Collector Bank Checkout API. Used when creating orders.
Data objects are immutable. Pass all variables in the constructor.
Example initialization
$config = new \Webbhuset\CollectorCheckoutSDK\Config\Config; // Either use this class or create your own class, implementing \Webbhuset\CollectorCheckoutSDK\Config\ConfigInterface
$config->setUsername('my-username')
->setSharedAccessKey('my-shared-access-key')
->setCountryCode('SE')
->setStoreId('1')
->setRedirectPageUri('https://example.com')
->setMerchantTermsUri('https://example.com')
->setNotificationUri('https://example.com')
->setValidationUri('https://example.com');
$adapter = new \Webbhuset\CollectorCheckoutSDK\Adapter\CurlAdapter($config);
$shippingFee = new \Webbhuset\CollectorCheckoutSDK\Checkout\Fees\Fee(1, "Shipping fee", 10, 25);
$fees = new \Webbhuset\CollectorCheckoutSDK\Checkout\Fees($shippingFee, null);
$item = new \Webbhuset\CollectorCheckoutSDK\Checkout\Cart\Item(
'my-sku',
'The product name',
59,
1,
25,
false,
'my-sku'
);
$cart = new \Webbhuset\CollectorCheckoutSDK\Checkout\Cart([$item]);
$customer = new \Webbhuset\CollectorCheckoutSDK\Checkout\Customer\InitializeCustomer(
'test@example.com',
'0123456789',
'89123456',
'12345'
);
$countryCode = 'SE';
$reference = 'ref-000001';
$session = new \Webbhuset\CollectorCheckoutSDK\Session($adapter);
try {
$session->initialize($this->getConfig(), $fees, $cart, $customer, $countryCode, $reference);
} catch (RequestError $e) {
// do stuff
} catch (ResponseError $e) {
// do stuff
}
$iframeSnippet = \Webbhuset\CollectorCheckoutSDK\Iframe->getScript($iframeConfig)
If an address is updated (not handled in this lib), you might have to update items or fees if address has changed
$session = new Session($config)
$checkoutData = $session->load($privateId)
->getCheckoutData() //initialized
$deliveryCountry = $checkoutData->getCustomer()->getDeliveryAddress()
->getCountry();
if ($deliveryCountry == 'Sverige') {
$shippingFee = new \Webbhuset\CollectorCheckoutSDK\Checkout\Fees\Fee(
1,
"Shipping fee for sweden",
20,
25
);
$newFees = new \Webbhuset\CollectorCheckoutSDK\Checkout\Fees($shippingFee, null);
$session->updateFees($newFees)
}
To render checkout or success iframe
// If the session got initalized in another request, you have to save to public token and use it
$session = new Session($config);
$publicToken = $mySavedToken;
// Or initialize new session
$session->initialize($this->getConfig(), $fees, $cart, $customer, $countryCode, $reference);
$publicToken = $session->getPublicToken();
$iframeConfig = new \Webbhuset\CollectorCheckoutSDK\Config\IframeConfig(
$publicToken
);
$iframe = $session->getIframe($iframeConfig)