partfire / mangopay-bundle
一组用于您项目中的 Symfony 服务,以便更快地集成 MangoPay API。
dev-master
2017-04-13 00:41 UTC
Requires
- php: ^7.1
- mangopay/php-sdk-v2: ^2.4
- symfony/framework-bundle: ^2.7 || ^3.0
Requires (Dev)
- phpspec/phpspec: ~2.0
This package is not auto-updated.
Last update: 2024-09-28 19:42:10 UTC
README
一组用于您项目中的 Symfony 服务,简化与 Mangopay API 的集成。
此包依赖于 官方 Mangopay SDK PHP 用于 Mangopay API v2。这意味着此包仅支持 Mangopay API 版本 v2.01,不支持早期版本。请检查您正在使用哪个版本。
安装
使用 composer,您现在可以简单地要求 master,直到我们有稳定版本
$ composer require partfire/mangopay-bundle:dev-master
配置
将详细信息添加到您的 app/config/parameters.yml
文件中。例如
mangopay_client_id: my_mango_id mangopay_client_password: XXXXXXXXXXXXXXXXXXXXXX mangopay_base_url: 'https://api.sandbox.mangopay.com'
还将内容添加到您的 app/AppKernel.php
文件中
new PartFire\MangoPayBundle\PartFireMangoPayBundle()
示例用法
用户
创建用户
$userService = $this->container->get('part_fire_mango_pay.services.user'); $userDto = new \PartFire\MangoPayBundle\Models\DTOs\User(); $userDto->setFirstName('Dick'); $userDto->setLastName('Jones'); $userDto->setBirthday(new \DateTime()); $userDto->setEmail('dick.jones@test.com'); $userDto->setNationality('GB'); $userDto->setCountryOfResidence('GB'); $userDtoUpdated = $userService->create($userDto); if ($userDtoUpdated instanceof \PartFire\MangoPayBundle\Models\DTOs\User) { $userDtoUpdated->getId(); //The users MangoPay ID, DTO fully populated. } if ($userDtoUpdated instanceof \PartFire\MangoPayBundle\Models\Exception) { //an error you can deal with }
钱包
创建钱包
$walletService = $this->container->get('part_fire_mango_pay.services.wallet'); $walletDto = new \PartFire\MangoPayBundle\Models\DTOs\Wallet(); $walletDto->setTag('TAG1'); $walletDto->setOwenerId('123456'); //$walletDto->setOwenerIds(['123456']); $walletDto->setDescription('A natural users wallet'); $walletDto->setCurrency('GBP'); $walletDtoUpdated = $walletService->create($walletDto); if ($walletDtoUpdated instanceof \PartFire\MangoPayBundle\Models\DTOs\Wallet) { $walletDtoUpdated->getId(); //The wallet DTO populated with MangoPay ID. } if ($walletDtoUpdated instanceof \PartFire\MangoPayBundle\Models\Exception) { //an error you can deal with }
服务列表
part_fire_mango_pay.services.user
part_fire_mango_pay.services.wallet
part_fire_mango_pay.services.kyc
part_fire_mango_pay.services.transfer
代码结构说明
在 'Services' 目录中有您客户端代码应使用的服务。这些服务依赖于位于 'Models' 目录中的接口。然后我们在 'Models/Adapters' 目录中实现了这些抽象。这意味着我们的服务依赖于我们的抽象,同时适配器也依赖于我们的抽象。
传递到服务和适配器中的对象是简单的 DTO(数据类型对象)。这些只是具有设置器和获取器的键和值。我们通过适配器将这些对象传递进和出,这样我们的服务/客户端代码就不依赖于 MangoPay SDK。
贡献
请随意向服务等添加更多方法,并创建一个 pull request。如果它们遵循现有结构或您教我更好的方法,我会将它们合并。