assoconnect / smoney-client
用于 S-Money API 的 PHP 客户端
Requires
- php: ^7.4|^8.0
- fig/http-message-util: ^1.1
- guzzlehttp/guzzle: ^6.3|^7.0
- guzzlehttp/psr7: ^1.5
- koriym/http-constants: ^1.1
Requires (Dev)
- phpunit/phpunit: ^9.0
- dev-master
- v5.1.3
- v5.1.2
- v5.1.1
- v5.1.0
- v5.0.0
- v4.4.2
- v4.4.1
- v4.4.0
- v4.3.0
- v4.2.1
- v4.2.0
- v4.1.0
- v4.0.2
- v4.0.1
- v4.0.0
- v3.0.0
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v2.0.0-alpha
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0
- dev-dependabot/composer/guzzlehttp/psr7-1.9.1
- dev-dependabot/composer/guzzlehttp/guzzle-7.4.4
- dev-template
- dev-feature_sylvain_user_role
- dev-fix_sepa_payment_manager_2
- dev-feature_sylvain_signature
- dev-feature_sepa_tests
- dev-feature_registering_mandate
This package is auto-updated.
Last update: 2023-04-19 21:14:36 UTC
README
PHP 客户端用于 S-Money API。
实现了 S-Money API 的以下功能
- 用户创建和更新
- 子账户创建和更新
- 银行账户创建、更新和删除
- 银行卡注册创建
- KYC 请求创建
- 您可以检索 SEPA 付款或转账付款
如果您需要缺失的功能,请随时提交 PR 或联系我们。
此包使用 Guzzle 作为 HTTP 客户端。
安装
此包可以使用 composer 安装
composer require assoconnect/smoney-client
用法
此包提供了一些管理器来处理不同的 S-Money 功能。它们是自文档化的。
例如,以下代码在 S-Money 中创建了一个新用户
$guzzle = GuzzleHttp\Client(); $client = new AssoConnect\SMoney\Client('YOUR S-MONEY ENDPOINT', 'YOUR S-MONEY TOKEN', $guzzle); // Create a new User $user = new AssoConnect\SMoney\Object\User([ 'appUserId' => 'appuserid-' . uniqid(), 'type' => AssoConnect\SMoney\Object\User::TYPE_PROFESSIONAL_CLIENT, 'profile' => new AssoConnect\SMoney\Object\UserProfile([ 'civility' => UserProfile::CIVILITY_MR, 'firstname' => 'Test', 'lastname' => 'McTestington', 'birthdate' => new DateTime(), 'address' => new AssoConnect\SMoney\Object\Address([ 'street' => 'rue du Test', 'zipcode' => '75002', 'city' => 'TestVille', 'country' => 'FR', ]), 'email' => 'test-' . uniqid() . '@test.com', ]), 'company' => new AssoConnect\SMoney\Object\Company([ 'name' => 'CompanyName', 'siret' => '123456789', 'nafCode' => '4741Z', ]) ]); $userManager = new AssoConnect\SMoney\Manager\UserManager($client); $userManager->createUser($userPro)->id; // S-Money's id of this newly created user
主要概念
用户和子账户
S-Money 用户是在 S-Money 服务器上维护的金融账户的持有人。它可以是一家公司或一个人。此类用户由两个 ID 标识
- 一个由 S-Money 生成,名为 "id" 的自增整数
- 一个由第三方生成,名为 "app 用户 ID" 的字符串
为每个用户创建一个默认子账户。它的 app 用户 ID 与父用户相同。
第三方可以创建更多子账户。
当在 S-Money 上进行付款(来自/发送到外部或 S-Money 内部)时,除非另有说明,否则此默认子账户用于发送方和受益方。
付款与账户充值
对于来自 S-Money 外部的付款(银行转账、卡支付等),如果受益人与持卡人(或银行账户持有人)相同,则此操作不是付款,而是账户充值。
S-Money 使用名为 isMine
的布尔值来将操作设置为 true
,如果是真正的充值,则设置为 false
,如果是付款。
重定向和回调
当一个人提交由 S-Money 托管的表单(卡支付、授权签名等)时,他会重定向到由第三方托管的确认页面。此页面的 URL 称为 "重定向 URL" 或 "返回 URL"。
由于此 Web 请求可能会失败(例如,用户过早地关闭浏览器),S-Money 还会向第三方服务器发送另一个包含有关操作的有效负载的请求。此请求的目标 URL 称为 "回调 URL"。
第三方对操作的处理预计将通过回调请求进行处理,而返回请求仅用于显示和用户信息。