123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- <?php
- namespace app\api\controller;
- use app\common\controller\Api;
- /**
- * 示例接口
- */
- class Demo extends Api
- {
- //如果$noNeedLogin为空表示所有接口都需要登录才能请求
- //如果$noNeedRight为空表示所有接口都需要验证权限才能请求
- //如果接口已经设置无需登录,那也就无需鉴权了
- //
- // 无需登录的接口,*表示全部
- protected $noNeedLogin = ['*'];
- // 无需鉴权的接口,*表示全部
- protected $noNeedRight = ['*'];
- /**
- * 测试方法
- *
- * @ApiTitle (测试名称)
- * @ApiSummary (测试描述信息)
- * @ApiMethod (POST)
- * @ApiRoute (/api/demo/test/id/{id}/name/{name})
- * @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
- * @ApiParams (name="id", type="integer", required=true, description="会员ID")
- * @ApiParams (name="name", type="string", required=true, description="用户名")
- * @ApiParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")
- * @ApiReturnParams (name="code", type="integer", required=true, sample="0")
- * @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")
- * @ApiReturnParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
- * @ApiReturn ({
- 'code':'1',
- 'msg':'返回成功'
- })
- */
- public function test(){
- $out_trade_no = createUniqueNo('Test');
- $money = '1';
- $notifyurl = config('notify_cdnurl');
- $rs = $this->hitpay_payment($out_trade_no,$money,$notifyurl);
- dump($rs);
- //payorder 保存 $rs['id'] 为 payment_request_id
- }
- public function hitpay_payment($out_trade_no,$money,$notifyurl)
- {
- $return = [
- 'status' => false,
- 'msg' => '',
- 'url' => '',
- 'id' => 0,
- ];
- $apiKey = config('hitpay.apikey');
- try {
- $hitPayClient = new \HitPay\Client($apiKey, true);
- $request = new \HitPay\Request\CreatePayment();
- $request->setAmount($money)
- ->setCurrency('SGD')
- ->setWebhook($notifyurl)
- ->setReferenceNumber($out_trade_no);
- $result = $hitPayClient->createPayment($request);
- $return['status'] = true;
- $return['url'] = $result->getUrl();
- $return['id'] = $result->getId();
- //print_r($result);
- /*$data = $hitPayClient->getPaymentStatus($result->getId());
- dump($data);
- dump($data->status);*/
- /*$data = $hitPayClient->deletePaymentRequest($data->getId());
- print_r($data);*/
- } catch (\Exception $e) {
- $return['msg'] = $e->getMessage();
- }
- return $return;
- }
- /**
- * 需要登录的接口
- *
- */
- public function test2()
- {
- $url = 'https://api.hit-pay.com/v1/payment-requests';
- $data = [
- 'amount' => 1,
- //'payment_method' => ['paynow_online', 'card', 'wechat', 'alipay', 'grabpay', 'fave_duit', 'shopback', 'atome'],
- 'currency' => 'SGD',
- //'webhook' => '',
- ];
- $header = array(
- 'X-BUSINESS-API-KEY' => '096a06e94fb1e0a8b015485bb76ef5dd63c167679297e07331a687327bd8b12e',
- 'Content-Type' => 'application/x-www-form-urlencoded',
- 'X-Requested-With' => 'XMLHttpRequest'
- );
- $rs = curl_post($url,$data,$header);
- dump($rs);
- }
- /**
- * 需要登录且需要验证有相应组的权限
- *
- */
- public function test3()
- {
- $this->success('返回成功', ['action' => 'test3']);
- }
- }
|