WeChatDeveloper
v1.2.67
PHP 개발 기술 교류 (QQ 그룹 513350915)
WeChatDeveloper는 공식 인터페이스 패키지를 기반으로 합니다. WeChat 개발을 수행하기 전에 먼저 WeChat 공식 문서를 읽어야 합니다.
참고용으로 WeChatDeveloper에 대한 도움말 자료도 준비되어 있습니다.
WeChatDeveloper는 오픈 소스 프로젝트이므로 제한 없이 어디서나 사용할 수 있습니다.
우리의 코드 저장소는 Github 로 이전되었으며 Gitee 와 Gitcode는 대부분의 개발자가 쉽게 획득하고 사용할 수 있도록 국내 미러 저장소로만 사용됩니다. PR 이나 ISSUE를 제출하고 싶다면 WeChatDeveloper 창고에서 운영해주세요. 다른 창고에서 운영하거나 이슈를 제출하면 처리되지 않습니다!
파일 이름 | 수업명 | 설명하다 | 유형 | 로드 ① |
---|---|---|---|---|
App.php | 알리페이앱 | 알리페이 앱 결제 | 알리페이 결제 | 우리::AliPayApp() |
Bill.php | 알리페이빌 | 알리페이 청구서 다운로드 | 알리페이 결제 | 우리::AliPayBill() |
Pos.php | 알리페이포스 | 알리페이 카드결제 | 알리페이 결제 | 우리::AliPayPos() |
Scan.php | 알리페이스캔 | Alipay 스캔코드 결제 | 알리페이 결제 | 우리::AliPayScan() |
Transfer.php | 알리페이이체 | 알리페이 송금 | 알리페이 결제 | 우리::AliPayTransfer() |
Wap.php | 알리페이Wap | 알리페이 왑결제 | 알리페이 결제 | 우리::AliPayWap() |
웹.php | 알리페이웹 | Alipay 웹 결제 | 알리페이 결제 | 우리::AliPayWeb() |
Card.php | 위챗카드 | WeChat 카드 및 쿠폰 인터페이스 지원 | 인증서비스번호 | 우리::위챗카드() |
Custom.php | 위챗커스텀 | WeChat 고객 서비스 메시지 인터페이스 지원 | 인증서비스번호 | 우리::위챗커스텀() |
Media.php | 위챗미디어 | WeChat 미디어 자료 인터페이스 지원 | 인증서비스번호 | 우리::위챗미디어() |
Oauth.php | 위챗Oauth | WeChat 웹페이지 승인 메시지 인터페이스 | 인증서비스번호 | 우리::WeChatOauth() |
Pay.php | 위챗페이 | WeChat 결제 인터페이스 | 인증서비스번호 | 우리::위챗페이() |
제품.php | 위챗제품 | 위챗 스토어 인터페이스 | 인증서비스번호 | 우리::위챗제품() |
QRcode.php | 위챗Qr코드 | WeChat QR 코드 인터페이스 지원 | 인증서비스번호 | 우리::WeChatQrcode() |
수신.php | 위챗수신 | WeChat 푸시 이벤트 메시지 처리 지원 | 인증서비스번호 | 우리::위챗수신() |
Scan.php | 위챗스캔 | WeChat 스캔 인터페이스 지원 | 인증서비스번호 | 우리::위챗스캔() |
스크립트.php | 위챗스크립트 | WeChat 프런트엔드 JSSDK 지원 | 인증서비스번호 | 우리::위챗스크립트() |
Shake.php | 위챗쉐이크 | WeChat Bluetooth 장치 푸시 인터페이스 | 인증서비스번호 | 우리::위챗쉐이크() |
Tags.php | 위챗태그 | WeChat 팬 태그 인터페이스 지원 | 인증서비스번호 | 우리::WeChatTags() |
Template.php | 위챗템플릿 | WeChat 템플릿 메시지 인터페이스 지원 | 인증서비스번호 | 우리::WeChatTemplate() |
사용자.php | 위챗사용자 | WeChat 팬 관리 인터페이스 지원 | 인증서비스번호 | 우리::위챗카드() |
Wifi.php | 위챗와이파이 | WeChat 매장 WIFI 관리 지원 | 인증서비스번호 | 우리::WeChatWifi() |
초안.php | 위챗드래프트 | 위챗 초안 상자 | 인증서비스번호 | 우리::WeChatDraft() |
Freepublish.php | WeChatFreepublish | WeChat 게시 기능 | 인증서비스번호 | 우리::WeChatFreepublish() |
Bill.php | 위페이빌 | WeChat 판매자 청구서 및 의견 | 위챗페이 | 우리::WePayBill() |
쿠폰.php | 위페이쿠폰 | WeChat 판매자 바우처 | 위챗페이 | 우리::WePay쿠폰() |
주문.php | WePay주문 | WeChat 판매자 주문 | 위챗페이 | 우리::WePayOrder() |
Redpack.php | 위페이레드팩 | WeChat 빨간 봉투 지원 | 위챗페이 | 우리::WePayRedpack() |
환불.php | WePay환불 | WeChat 판매자 환불 | 위챗페이 | 우리::WePayRefund() |
Transfers.php | WePay이체 | WeChat 판매자에게 소액으로 지불 | 위챗페이 | 우리::WePayTransfers() |
TransfersBank.php | WePayTransfersBank | WeChat 판매자는 은행 카드로 돈을 이체합니다. | 위챗페이 | 우리::WePayTransfersBank() |
Crypt.php | 위미니크립트 | WeChat 애플릿 데이터 암호화 처리 | 위챗 애플릿 | 우리::WeMiniCrypt() |
Plugs.php | 위미니플러그 | WeChat 미니 프로그램 플러그인 관리 | 위챗 애플릿 | 우리::WeMiniPlugs() |
Poi.php | 위미니포이 | WeChat 애플릿 주소 관리 | 위챗 애플릿 | 우리::WeMiniPoi() |
QRcode.php | 위미니Qr코드 | WeChat 미니 프로그램 QR 코드 관리 | 위챗 애플릿 | 우리::WeMiniCrypt() |
Template.php | 위미니템플릿 | WeChat 미니 프로그램 템플릿 메시지 지원 | 위챗 애플릿 | We::WeMiniTemplate() |
Total.php | 위미니전체 | WeChat 애플릿 데이터 인터페이스 | 위챗 애플릿 | 우리::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 오픈 소스 라이선스에 따라 출시되며 무료로 사용할 수 있습니다.
본 프로젝트에 포함된 타사 소스코드 및 바이너리 파일에 대한 저작권 정보는 별도로 표기되어 있으니, 해당 파일에서 확인하시기 바랍니다.
저작권 Copyright © 2014-2023 by ThinkAdmin (https://thinkadmin.top) 모든 권리 보유.