Skip to content

Commit

Permalink
增加签约模块 (#1798)
Browse files Browse the repository at this point in the history
  • Loading branch information
Hanson committed Feb 13, 2020
1 parent 2686136 commit cb859e5
Show file tree
Hide file tree
Showing 7 changed files with 163 additions and 0 deletions.
Empty file modified .gitattributes
100755 → 100644
Empty file.
Empty file modified .php_cs
100755 → 100644
Empty file.
Empty file modified src/MicroMerchant/Application.php
100755 → 100644
Empty file.
2 changes: 2 additions & 0 deletions src/Payment/Application.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
* @property \EasyWeChat\Payment\Transfer\Client $transfer
* @property \EasyWeChat\Payment\Security\Client $security
* @property \EasyWeChat\Payment\ProfitSharing\Client $profit_sharing
* @property \EasyWeChat\Payment\Contract\Client $contract
* @property \EasyWeChat\OfficialAccount\Auth\AccessToken $access_token
*
* @method mixed pay(array $attributes)
Expand Down Expand Up @@ -60,6 +61,7 @@ class Application extends ServiceContainer
Transfer\ServiceProvider::class,
Security\ServiceProvider::class,
ProfitSharing\ServiceProvider::class,
Contract\ServiceProvider::class,
];

/**
Expand Down
112 changes: 112 additions & 0 deletions src/Payment/Contract/Client.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
<?php

/*
* This file is part of the overtrue/wechat.
*
* (c) overtrue <i@overtrue.me>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/

namespace EasyWeChat\Payment\Contract;

use EasyWeChat\Payment\Kernel\BaseClient;

/**
* Class Client.
*
* @author tianyong90 <412039588@qq.com>
*/
class Client extends BaseClient
{
/**
* entrust official account
*
* @param array $params
*
* @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function web(array $params)
{
$params['appid'] = $this->app['config']->app_id;

return $this->safeRequest('papay/entrustweb', $params);
}

/**
* entrust app
*
* @param array $params
*
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function app(array $params)
{
$params['appid'] = $this->app['config']->app_id;

return $this->safeRequest('papay/preentrustweb', $params);
}

/**
* entrust html 5
*
* @param array $params
*
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function h5(array $params)
{
$params['appid'] = $this->app['config']->app_id;

return $this->safeRequest('papay/h5entrustweb', $params);
}

/**
* apply papay
*
* @param array $params
*
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function apply(array $params)
{
$params['appid'] = $this->app['config']->app_id;

return $this->safeRequest('papay/pappayapply', $params);
}

/**
* delete papay contrace
*
* @param array $params
*
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function delete(array $params)
{
$params['appid'] = $this->app['config']->app_id;

return $this->safeRequest('papay/deletecontract', $params);
}
}
33 changes: 33 additions & 0 deletions src/Payment/Contract/ServiceProvider.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?php

/*
* This file is part of the overtrue/wechat.
*
* (c) overtrue <i@overtrue.me>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/

namespace EasyWeChat\Payment\Contract;

use Pimple\Container;
use Pimple\ServiceProviderInterface;

/**
* Class ServiceProvider.
*
* @author overtrue <i@overtrue.me>
*/
class ServiceProvider implements ServiceProviderInterface
{
/**
* {@inheritdoc}.
*/
public function register(Container $app)
{
$app['contract'] = function ($app) {
return new Client($app);
};
}
}
16 changes: 16 additions & 0 deletions src/Payment/Jssdk/Client.php
Original file line number Diff line number Diff line change
Expand Up @@ -132,4 +132,20 @@ public function shareAddressConfig($accessToken, bool $json = true)

return $json ? json_encode($params) : $params;
}

/**
* Generate js config for contract of mini program
*
* @param array $params
* @return array
*/
public function contractConfig(array $params): array
{
$params['appid'] = $this->app['config']->app_id;
$params['timestamp'] = time();

$params['sign'] = Support\generate_sign($params, $this->app['config']->key);

return $params;
}
}

0 comments on commit cb859e5

Please sign in to comment.