Integration with a library
Do you create a libraries?
We will pay from 100 to 200 EUR for an accurate and working programming code. If you’d like to cooperate in the future and receive orders for maintenance of a specific system version, the code and your contact data will be published for open use.
Contact us via email to support@paysera.com
You can integrate Paysera system into your website by downloading our open source software library lib_deliver_api. The library can be used to check all the necessary security parameters of transferred and received data.
-
lib-delivery-api-merchant-client
for PHP from
GitHub.
$ git clone https://github.com/paysera/lib-delivery-api-merchant-client
Library usage
This library provides ClientFactory class, which you should use to get the API client itself:
use Paysera\DeliveryApi\MerchantClient\ClientFactory;
$clientFactory = new ClientFactory([
'base_url' => 'https://delivery-api.paysera.com/rest/v1/',
'mac' => [
'mac_id' => 'project_id',
'mac_secret' => 'project_password',
],
]);
$merchantClient = $clientFactory->getMerchantClient();
Library methods
First of all, you need to obtain essential information without which you will not be able to place an order. You can use the following methods:
Get shipment gateways
The Gateway ID is a unique identifier assigned to each available shipment gateway. To retrieve shipment gateway information, you can use the `getShipmentGateway` method:
use Paysera\DeliveryApi\MerchantClient\Entity\GatewaysFilter;
$gatewaysFilter = (new GatewaysFilter())
->setProjectId($projectId)
->setFromCountryCode($fromCountryCode)
->setToCountryCode($toCountryCode)
->setShipments($shipments)
->setShipmentMethodCode($shipmentMethodCode)
;
$result = $merchantClient->updateGateway($gatewaysFilter);
Create shipping order
Now that you have all the necessary information, you can proceed to create your order.
use Paysera\DeliveryApi\MerchantClient\Entity\OrderCreate;
$orderCreate = new OrderCreate()
->setProjectId($projectId)
->setShipmentGatewayCode($shipmentGatewayCode)
->setShipmentMethodCode($shipmentMethodCode)
->setShipments($shipments)
->setSenderId($senderId)
->setSender($sender)
->setReceiverId($receiverId)
->setReceiver($receiver)
->setNotes($notes)
;
$result = $merchantClient->createOrder($orderCreate);
Get shipment methods
The Method ID is a unique identifier assigned to each available shipment method. To retrieve shipment methods, you can use the `getShipmentMethods` method.
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $methodsFilter = new EntitiesMethodsFilter(); $methodsFilter->setProjectId($projectId); $methodsFilter->setFromCountryCode($fromCountryCode); $methodsFilter->setToCountryCode($toCountryCode); $methodsFilter->setShipments($shipments); $result = $merchantClient->updateMethod($methodsFilter);
Get default package size
Shipment size information is crucial for accurate logistics and delivery management. Retrieve default package sizes using the `getDefaultPackageSizes` method:
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $filter = new PayseraComponentRestClientCommonEntityFilter(); $filter->setLimit($limit); $filter->setOffset($offset); $filter->setOrderBy($orderBy); $filter->setOrderDirection($orderDirection); $filter->setAfter($after); $filter->setBefore($before); $result = $merchantClient->getDefaultPackageSizes($filter);
Get post office
Knowing the available Post Offices is essential for choosing suitable shipping options based on your location. To retrieve Post Office information, you can use the `getPostOffice` method:
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $postOfficeFilter = new EntitiesPostOfficeFilter(); $postOfficeFilter->setCity($city); $postOfficeFilter->setCountry($country); $postOfficeFilter->setShipmentGatewayCode($shipmentGatewayCode); $result = $merchantClient->getPostOffices($postOfficeFilter);
delivery.integration_library.get_parcel_machine
delivery.integration_library.parcel_machine
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $parcelMachineFilter = new EntitiesParcelMachineFilter(); $parcelMachineFilter->setCity($city); $parcelMachineFilter->setCountry($country); $parcelMachineFilter->setShipmentGatewayCode($shipmentGatewayCode); $result = $merchantClient->getParcelMachines($parcelMachineFilter);