德国邮政/sdk-api-oneclickforrefund

德国邮政 INTERNETMARKE 1C4R API SDK

1.2.0 2024-05-02 16:01 UTC

This package is auto-updated.

Last update: 2024-08-27 12:06:53 UTC


README

DP OneClickForRefund API SDK 包提供以下网络服务的接口

  • OneClickForRefund

要求

系统要求

  • PHP 8.1+ with SOAP 扩展

包要求

  • psr/log: PSR-3 日志接口

开发包要求

  • phpunit/phpunit: 测试框架

安装

$ composer require deutschepost/sdk-api-oneclickforrefund

卸载

$ composer remove deutschepost/sdk-api-oneclickforrefund

测试

$ ./vendor/bin/phpunit -c test/phpunit.xml

功能

DP OneClickForRefund API SDK 支持以下功能

  • 取消代金券

该网络服务需要一个认证令牌。库检索令牌,但在进程终止后丢弃它。为了重用令牌,可以传递持久存储(持久认证令牌)。

取消代金券

提交 INTERNETMARKE 印章的退货。

公共API

库中适合消费的组件包括

  • 服务
    • 服务工厂
    • 退款服务
  • 数据传输对象
    • 凭证

用法

$shopOrderId = '1234567890';
$voucherIds = ['A0031C630F0000000135', 'A0031C630F0000000398'];

$logger = new \Psr\Log\Test\TestLogger();
$tokenStorage = new \DeutschePost\Sdk\OneClickForRefund\Auth\TokenStorage();
$credentials = new \DeutschePost\Sdk\OneClickForRefund\Auth\Credentials(
    $username = 'max.mustermann@example.com',
    $password = 'portokasse321',
    $partnerId = 'PARTNER_ID',
    $partnerKey = 'SCHLUESSEL_DPWN_MEINMARKTPLATZ',
    $keyPhase = 1,
    $tokenStorage
);

$serviceFactory = new \DeutschePost\Sdk\OneClickForRefund\Service\ServiceFactory();
$service = $serviceFactory->createRefundService($credentials, $logger);

// cancel all the original order's vouchers OR
$service->cancelVouchers($shopOrderId);

// cancel some of the original order's vouchers
$service->cancelVouchers($shopOrderId, $voucherIds);

持久认证令牌

为了在令牌的生命周期内重用它,可以使用自定义令牌存储创建凭证对象。实现数据库、缓存或其他任何合适来源的访问。

用法

// PersistentTokenStorage implements \DeutschePost\Sdk\OneClickForRefund\Api\TokenStorageInterface
$tokenStorage = new \My\OneClickForRefund\Auth\PersistentTokenStorage();
$credentials = new \DeutschePost\Sdk\OneClickForRefund\Auth\Credentials(
    $username = 'max.mustermann@example.com',
    $password = 'portokasse321',
    $partnerId = 'PARTNER_ID',
    $partnerKey = 'SCHLUESSEL_DPWN_MEINMARKTPLATZ',
    $keyPhase = 1,
    $tokenStorage
);