mwkj / ylh-open-api-php-client
There is no license information available for the latest version (v2.3.3) of this package.
ylh-open-api-php-client
v2.3.3
2017-11-08 10:09 UTC
Requires
- php: ^5.3.3 || ^7.0
- guzzlehttp/guzzle: ^6.3
This package is not auto-updated.
Last update: 2025-07-20 09:40:10 UTC
README
简介
云联惠开放平台SDK(PHP)提供快速接入能力
安装
composer require mwkj/ylh-open-api-php-client
说明
- 普通会员/商家类型会员授权得到的token与客户端token需要理解区分一下不同点
- 普通会员/商家类型会员授权得到的token是获取普通会员/商家类型会员的资源(基本信息,账户信息,发放积分操作[限商家类型会员]等操作)
- 客户端token是客户端自身的资源(目前有:快捷注册[提供手机号,填写推荐人,将自动产生一个会员])
SDK配置
<?php $config = [ //应用ID 'client_id' => 'Client', //应用密钥 'client_secret' => 'ClientSecret', //应用回调地址 'redirect_uri' => 'https://example.com/callback', //应用私钥,您的原始格式RSA私钥 'client_private_key' => "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALXQr1Rowgyh+UtXY26RK/FXDEpYNN0S3tUZgctXwqCR6WFnzUPSFfDeWcmheRADT/6griac6rBJjsb8yQmg1dUteqGHym9fRkmb0GgrbIyw1k99UzuPq8Gqw4HTWaykTHf09AwIlmJCRpxmZAeIaCW/3gbFrB/10/wziaV1HF1RAgMBAAECgYBmkER3z2i4C58/+xoiQ06QpFRQlBWuKHj/qZXoiadHQUhwJEhM2/R4nlX0QlyyxcuYjjfvnFFgBP7ADdWy0sIMvhMqEUp8BrQngpAq4njhEajzYGBqPW9a05osFvX7IJl3h1KFHo354Jh5SS5znbZWnkoUfoGDPMrW02DTS8/T6QJBAOMP3XHeFXKmPBExh7EvxUKEZa53GJk/eU6qaQhIpUGVD68bhZPL07t/nuZYmAAycrTvbsT7aFb6alFKGRIXth8CQQDM/Jh8UcXQbWCvsmFTJKSuDaFXLX7dtIgLhGpXsIAP9tJBGGFVUY3w29V6j/AiJHgHCRv68WFdzN92+czAuh6PAkEAyDfMH8UiCne1DcAsE7y451+Rvda8tR04XXp8pVZRilPjgZf2II4iBPqS5jEGz12ssglTFpVNuyyTJVz+YGrSJwJANYKq+6kNDn+/AZ57MY0bQCRmva8uswlxijAi4ok8pO41rLCEmBUWDI4WiEwSz5bdjlieaT+hvy7AFvrWrGjpmQJAb0tiaqAPlJMpGQl6uEx/TSCT2oDsxehyKOCDOnyIUEnY9apDSBvlEXavc7TNHmrp0r3GEkYEW4Ba9nKKEKFhpg==", //同步跳转 'return_url' => 'https://example.com/example/return_url.php', //异步通知地址 'notify_url' => 'https://example.com/example/notify_url.php', //云联惠API网关 'gatewayUrl' => "https://openapi.yunlianhui.com", //云联惠开放平台收银台 'gatewayPay' => "https://openpay.yunlianhui.com", //云联惠公钥,查看地址:https://docs.yunlianhui.com/keyManage 'alipay_public_key' => "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRTiNWa8g/MQvbQg9z6Y6L2fe8Pu5ytoEGf1JBbCkr9GYC+tiH8cqLb6GoewYCaXoNzu5TCSZfFTkYOn28pOG4aMHn7WDHPpjAlXG2iYUfwsRnlQ+xci3g3hfrgQAzWj+QYqYxoxvkkfad7NrkWf4PClfqWzkz+TI7N1wyGm326QIDAQAB", ];
基本用法
<?php require_once 'vendor/autoload.php'; use YunLianHui\OAuth2; $config = [ //应用ID 'client_id' => 'Client', //应用密钥 'client_secret' => 'ClientSecret', //应用回调地址 'redirect_uri' => 'https://example.com/callback', //应用私钥,您的原始格式RSA私钥 'client_private_key' => "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALXQr1Rowgyh+UtXY26RK/FXDEpYNN0S3tUZgctXwqCR6WFnzUPSFfDeWcmheRADT/6griac6rBJjsb8yQmg1dUteqGHym9fRkmb0GgrbIyw1k99UzuPq8Gqw4HTWaykTHf09AwIlmJCRpxmZAeIaCW/3gbFrB/10/wziaV1HF1RAgMBAAECgYBmkER3z2i4C58/+xoiQ06QpFRQlBWuKHj/qZXoiadHQUhwJEhM2/R4nlX0QlyyxcuYjjfvnFFgBP7ADdWy0sIMvhMqEUp8BrQngpAq4njhEajzYGBqPW9a05osFvX7IJl3h1KFHo354Jh5SS5znbZWnkoUfoGDPMrW02DTS8/T6QJBAOMP3XHeFXKmPBExh7EvxUKEZa53GJk/eU6qaQhIpUGVD68bhZPL07t/nuZYmAAycrTvbsT7aFb6alFKGRIXth8CQQDM/Jh8UcXQbWCvsmFTJKSuDaFXLX7dtIgLhGpXsIAP9tJBGGFVUY3w29V6j/AiJHgHCRv68WFdzN92+czAuh6PAkEAyDfMH8UiCne1DcAsE7y451+Rvda8tR04XXp8pVZRilPjgZf2II4iBPqS5jEGz12ssglTFpVNuyyTJVz+YGrSJwJANYKq+6kNDn+/AZ57MY0bQCRmva8uswlxijAi4ok8pO41rLCEmBUWDI4WiEwSz5bdjlieaT+hvy7AFvrWrGjpmQJAb0tiaqAPlJMpGQl6uEx/TSCT2oDsxehyKOCDOnyIUEnY9apDSBvlEXavc7TNHmrp0r3GEkYEW4Ba9nKKEKFhpg==", //同步跳转 'return_url' => 'https://example.com/example/return_url.php', //异步通知地址 'notify_url' => 'https://example.com/example/notify_url.php', //云联惠API网关 'gatewayUrl' => "https://openapi.yunlianhui.com", //云联惠开放平台收银台 'gatewayPay' => "https://openpay.yunlianhui.com", //云联惠公钥,查看地址:https://docs.yunlianhui.com/keyManage 'alipay_public_key' => "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRTiNWa8g/MQvbQg9z6Y6L2fe8Pu5ytoEGf1JBbCkr9GYC+tiH8cqLb6GoewYCaXoNzu5TCSZfFTkYOn28pOG4aMHn7WDHPpjAlXG2iYUfwsRnlQ+xci3g3hfrgQAzWj+QYqYxoxvkkfad7NrkWf4PClfqWzkz+TI7N1wyGm326QIDAQAB", ]; $oauth_client = new OAuth2($config['gatewayUrl'],$config['client_id'],$config['client_secret'],$config['client_private_key'],$config['redirect_uri']);
普通会员授权
header('Location: '.$oauth_client->getAuthorizationUrl($redirect_uri,'basic_info'));
商家类型会员授权
//多个scope时,空格隔开 header('Location: '.$oauth_client->getAuthorizationUrl($redirect_uri,'basic_info points'));
将普通会员授权/商家类型会员授权同意得到的code换取成token
$code = 'a3c472faef4b6fa1556aa83aa2152320527480b9'; $access_token = $oauth_client->getAccessToken($code);
获取会员的基本资料
<?php try{ $member_basic_info = $oauth_client->sendAnResourceRequest([ 'client_id' => $config['client_id'], 'access_token' => '00010b63924acada924e2a5fc25573682cda851b', 'timestamp' => (string)time(), //sign 会自动签名 ],'api/v2/returnPoints'); }catch (\YunLianHui\ApiException $exception){ print_r('接口请求失败<br> '.'错误信息是:'.$exception->getMessage()); }
积分全返
<?php try{ $pointsAllReturn = $oauth_client->sendAnResourceRequest([ 'client_id' => $config['client_id'], 'access_token' => '00010b63924afaed984e2a5fc25575682cda853b', 'buyer_mobile' => '18695695128', 'total_amount' => '98', 'out_trade_no' => '2017000000000000001', 'body' => 'Iphone X 128 黑色', 'subject' => 'Iphone X 128G', 'timestamp' => (string)time(), ],'api/v2/returnPoints'); }catch (\YunLianHui\ApiException $exception){ print_r('接口请求失败<br> '.'错误信息是:'.$exception->getMessage()); }