assoconnect/smoney-client

此包已被废弃,不再维护。未建议替代包。

用于 S-Money API 的 PHP 客户端


README

PHP 客户端用于 S-Money API

Build Status Quality Gate Status

实现了 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"。

第三方对操作的处理预计将通过回调请求进行处理,而返回请求仅用于显示和用户信息。