WeChatDeveloper
v1.2.67
PHP開発技術交流会(QQグループ 513350915)
WeChatDeveloper は公式インターフェイス パッケージに基づいています。WeChat 開発を行う前に、まず WeChat 公式ドキュメントを読む必要があります。
参照用に WeChatDeveloper 用に用意されたヘルプ資料もあります。
WeChatDeveloper はオープンソース プロジェクトであるため、制限なくどこでも使用できます。プロジェクトのフォークは歓迎されます。
私たちのコード リポジトリはGithubに移動されましたが、 GiteeとGitcode は、大多数の開発者が入手して使用できるようにするための国内ミラー リポジトリとしてのみ使用されます。 PRまたはISSUE を送信する場合は、 WeChatDeveloper ウェアハウスで操作してください。他のウェアハウスで問題を操作または送信すると、処理されません。
ファイル名 | クラス名 | 説明する | タイプ | 荷重① |
---|---|---|---|---|
App.php | AliPayアプリ | Alipayアプリ決済 | アリペイ支払い | We::AliPayApp() |
Bill.php | AliPayBill | Alipay請求書ダウンロード | アリペイ支払い | We::AliPayBill() |
Pos.php | AliPayPos | アリペイカード決済 | アリペイ支払い | We::AliPayPos() |
Scan.php | AliPayスキャン | Alipayのスキャンコード決済 | アリペイ支払い | We::AliPayScan() |
Transfer.php | AliPay転送 | Alipay送金 | アリペイ支払い | We::AliPayTransfer() |
Wap.php | AliPayWap | Alipayワップ支払い | アリペイ支払い | We::AliPayWap() |
Web.php | AliPayWeb | Alipay Web決済 | アリペイ支払い | We::AliPayWeb() |
Card.php | WeChatカード | WeChat カードとクーポン インターフェイスのサポート | 認証サービス番号 | We::WeChatCard() |
カスタム.php | WeChatカスタム | WeChat カスタマー サービス メッセージ インターフェイスのサポート | 認証サービス番号 | We::WeChatCustom() |
Media.php | WeChatメディア | WeChat メディア マテリアル インターフェイスのサポート | 認証サービス番号 | We::WeChatMedia() |
Oauth.php | WeChatOauth | WeChat Web ページ認証メッセージ インターフェイス | 認証サービス番号 | We::WeChatOauth() |
Pay.php | WeChatPay | WeChat支払いインターフェース | 認証サービス番号 | We::WeChatPay() |
製品.php | WeChat製品 | WeChatストアインターフェース | 認証サービス番号 | We::WeChatProduct() |
Qrコード.php | WeChatQrコード | WeChat QR コード インターフェイスのサポート | 認証サービス番号 | We::WeChatQrcode() |
受信.php | WeChat受信 | WeChat プッシュ イベント メッセージ処理のサポート | 認証サービス番号 | We::WeChatReceive() |
Scan.php | WeChatスキャン | WeChat スキャン インターフェイスのサポート | 認証サービス番号 | We::WeChatScan() |
スクリプト.php | WeChatスクリプト | WeChat フロントエンド JSSDK サポート | 認証サービス番号 | We::WeChatScript() |
Shake.php | WeChatShake | WeChat Bluetooth デバイス プッシュ インターフェイス | 認証サービス番号 | We::WeChatShake() |
タグ.php | WeChatタグ | WeChat ファンタグインターフェイスのサポート | 認証サービス番号 | We::WeChatTags() |
テンプレート.php | WeChatテンプレート | WeChat テンプレート メッセージ インターフェイスのサポート | 認証サービス番号 | We::WeChatTemplate() |
ユーザー.php | WeChatユーザー | WeChat ファン管理インターフェイスのサポート | 認証サービス番号 | We::WeChatCard() |
Wi-Fi.php | WeChatWifi | WeChatストアのWIFI管理サポート | 認証サービス番号 | We::WeChatWifi() |
ドラフト.php | WeChatドラフト | WeChatドラフトボックス | 認証サービス番号 | We::WeChatDraft() |
Freepublish.php | WeChatFreepublish | WeChat公開機能 | 認証サービス番号 | We::WeChatFreepublish() |
Bill.php | WePayBill | WeChat 販売者の請求書とコメント | ウィーチャットペイ | We::WePayBill() |
クーポン.php | WePayクーポン | WeChat加盟店クーポン | ウィーチャットペイ | We::WePayCoupon() |
オーダー.php | WePay注文 | WeChat販売者の注文 | ウィーチャットペイ | We::WePayOrder() |
レッドパック.php | WePayレッドパック | WeChat 赤い封筒のサポート | ウィーチャットペイ | We::WePayRedpack() |
返金.php | WePay返金 | WeChat加盟店の返金 | ウィーチャットペイ | We::WePayRefund() |
転送.php | WePay送金 | WeChat 加盟店に小銭で支払う | ウィーチャットペイ | We::WePayTransfers() |
TransfersBank.php | WePayTransfersBank | WeChat 加盟店は銀行カードに送金します | ウィーチャットペイ | We::WePayTransfersBank() |
Crypt.php | WeMiniCrypt | WeChatアプレットデータ暗号化処理 | WeChat アプレット | We::WeMiniCrypt() |
Plugs.php | WeMiniプラグス | WeChat ミニ プログラム プラグイン管理 | WeChat アプレット | We::WeMiniPlugs() |
ポイ.php | WeMiniPoi | WeChat アプレットのアドレス管理 | WeChat アプレット | We::WeMiniPoi() |
Qrコード.php | WeMiniQrcode | WeChat ミニ プログラム QR コード管理 | WeChat アプレット | We::WeMiniCrypt() |
テンプレート.php | WeMiniテンプレート | WeChat ミニ プログラム テンプレート メッセージのサポート | WeChat アプレット | We::WeMiniTemplate() |
合計.php | WeMini合計 | WeChat アプレット データ インターフェイス | WeChat アプレット | We::WeMiniTotal() |
1.1 Composer によるインストールの管理
# 首次安装 线上版本(稳定)
composer require zoujingli/wechat-developer
# 首次安装 开发版本(开发)
composer require zoujingli/wechat-developer dev-master
# 更新 WeChatDeveloper
composer update zoujingli/wechat-developer
1.2 Composer を使用しない場合は、WeChatDeveloper をダウンロードしてプロジェクトに抽出できます。
# 在项目中加载初始化文件
include "您的目录/WeChatDeveloper/include.php " ;
2.1 インターフェースインスタンスに必要なパラメータ
// =====================================================
// 配置缓存处理函数 ( 适配其他环境 )
// -----------------------------------------------------
// 数据缓存 (set|get|del) 操作可以将缓存写到任意位置或Redis
// 文件缓存 (put) 只能写在本地服务器,还需要返回可读的文件路径
// 未配置自定义缓存处理机制时,默认在 cache_path 写入文件缓存
// // =====================================================
// WeChatContractsTools::$cache_callable = [
// 'set' => function ($name, $value, $expired = 360) {
// var_dump(func_get_args());
// return $value;
// },
// 'get' => function ($name) {
// var_dump(func_get_args());
// return $value;
// },
// 'del' => function ($name) {
// var_dump(func_get_args());
// return true;
// },
// 'put' => function ($name) {
// var_dump(func_get_args());
// return $filePath;
// },
// ];
$ config = [
' token ' => ' test ' ,
' appid ' => ' wx60a43dd8161666d4 ' ,
' appsecret ' => ' 71308e96a204296c57d7cd4b21b883e8 ' ,
' encodingaeskey ' => ' BJIUzE0gqlWy0GxfPp4J1oPTBmOrNDIGPNav1YFH5Z5 ' ,
// 配置商户支付参数(可选,在使用支付功能时需要)
' mch_id ' => " 1235704602 " ,
' mch_key ' => ' IKI4kpHjU94ji3oqre5zYaQMwLHuZPmj ' ,
// 配置商户支付双向证书目录(可选,在使用退款|打款|红包时需要)
' ssl_key ' => '' ,
' ssl_cer ' => '' ,
// 缓存目录配置(可选,需拥有读写权限)
' cache_path ' => '' ,
];
3.1 インスタンス固有のインターフェース
try {
// 实例对应的接口对象
$ user = new WeChat User ( $ config );
// 调用接口对象方法
$ list = $ user -> getUserList ();
// 处理返回的结果
echo ' <pre> ' ;
var_export ( $ list );
} catch ( Exception $ e ) {
// 出错啦,处理下吧
echo $ e -> getMessage () . PHP_EOL ;
}
// 创建接口实例
$ wechat = new WeChat Pay ( $ config );
// 组装参数,可以参考官方商户文档
$ options = [
' body ' => '测试商品' ,
' out_trade_no ' => time (),
' total_fee ' => ' 1 ' ,
' openid ' => ' o38gpszoJoC9oJYz3UHHf6bEp0Lo ' ,
' trade_type ' => ' JSAPI ' ,
' notify_url ' => ' http://a.com/text.html ' ,
' spbill_create_ip ' => ' 127.0.0.1 ' ,
];
try {
// 生成预支付码
$ result = $ wechat -> createOrder ( $ options );
// 创建JSAPI参数签名
$ options = $ wechat -> createParamsForJsApi ( $ result [ ' prepay_id ' ]);
// @todo 把 $options 传到前端用js发起支付就可以了
} catch ( Exception $ e ) {
// 出错啦,处理下吧
echo $ e -> getMessage () . PHP_EOL ;
}
$ config = [
// 沙箱模式
' debug ' => true ,
// 签名类型 ( RSA|RSA2 )
' sign_type ' => ' RSA2 ' ,
// 应用ID
' appid ' => ' 2021000122667306 ' ,
// 应用私钥内容 ( 需1行填写,特别注意:这里的应用私钥通常由支付宝密钥管理工具生成 )
' private_key ' => ' MIIEowIBAAKCAQEAn... ' ,
// 公钥模式,支付宝公钥内容 ( 需1行填写,特别注意:这里不是应用公钥而是支付宝公钥,通常是上传应用公钥换取支付宝公钥,在网页可以复制 )
' public_key ' => '' ,
// 证书模式,应用公钥证书路径 ( 新版资金类接口转 app_cert_sn,如文件 appCertPublicKey.crt )
' app_cert_path ' => __DIR__ . ' /alipay/appPublicCert.crt ' , // 'app_cert' => '证书内容',
// 证书模式,支付宝根证书路径 ( 新版资金类接口转 alipay_root_cert_sn,如文件 alipayRootCert.crt )
' alipay_root_path ' => __DIR__ . ' /alipay/alipayRootCert.crt ' , // 'root_cert' => '证书内容',
// 证书模式,支付宝公钥证书路径 ( 未填写 public_key 时启用此参数,如文件 alipayPublicCert.crt )
' alipay_cert_path ' => __DIR__ . ' /alipay/alipayPublicCert.crt ' , // 'public_key' => '证书内容'
// 支付成功通知地址
' notify_url ' => '' ,
// 网页支付回跳地址
' return_url ' => '' ,
];
// 参考公共参数 https://docs.open.alipay.com/203/107090/
$ config [ ' notify_url ' ] = ' http://pay.thinkadmin.top/test/alipay-notify.php ' ;
$ config [ ' return_url ' ] = ' http://pay.thinkadmin.top/test/alipay-success.php ' ;
try {
// 实例支付对象
$ pay = We:: AliPayWeb ( $ config );
// $pay = new AliPayWeb($config);
// 参考链接:https://docs.open.alipay.com/api_1/alipay.trade.page.pay
$ result = $ pay -> apply ([
' out_trade_no ' => time (), // 商户订单号
' total_amount ' => ' 1 ' , // 支付金额
' subject ' => '支付订单描述' , // 支付订单描述
]);
echo $ result ; // 直接输出HTML(提交表单跳转)
} catch ( Exception $ e ) {
// 异常处理
echo $ e -> getMessage ();
}
// 参考公共参数 https://docs.open.alipay.com/203/107090/
$ config [ ' notify_url ' ] = ' http://pay.thinkadmin.top/test/alipay-notify.php ' ;
$ config [ ' return_url ' ] = ' http://pay.thinkadmin.top/test/alipay-success.php ' ;
try {
// 实例支付对象
$ pay = We:: AliPayWap ( $ config );
// $pay = new AliPayWap($config);
// 参考链接:https://docs.open.alipay.com/api_1/alipay.trade.wap.pay
$ result = $ pay -> apply ([
' out_trade_no ' => time (), // 商户订单号
' total_amount ' => ' 1 ' , // 支付金额
' subject ' => '支付订单描述' , // 支付订单描述
]);
echo $ result ; // 直接输出HTML(提交表单跳转)
} catch ( Exception $ e ) {
// 异常处理
echo $ e -> getMessage ();
}
WeChatDeveloper はMITオープンソース ライセンスに基づいてリリースされており、無料で利用できます。
このプロジェクトに含まれるサードパーティのソースコードおよびバイナリファイルの著作権情報は別途マークされていますので、該当するファイルで確認してください。
著作権著作権 © 2014-2023 by ThinkAdmin (https://thinkadmin.top) 全著作権所有。