Pertukaran teknologi pengembangan PHP (grup QQ 513350915)
WeChatDeveloper didasarkan pada paket antarmuka resmi. Sebelum melakukan pengembangan WeChat, Anda harus membaca dokumentasi resmi WeChat terlebih dahulu.
Ada juga materi bantuan yang disiapkan untuk WeChatDeveloper sebagai referensi.
WeChatDeveloper adalah proyek sumber terbuka, sehingga dapat digunakan di mana saja tanpa batasan apa pun.
Repositori kode kami telah dipindahkan ke Github , sedangkan Gitee dan Gitcode hanya digunakan sebagai repositori mirror domestik untuk memfasilitasi sebagian besar pengembang untuk mendapatkan dan menggunakannya. Jika Anda ingin mengirimkan PR atau MASALAH, silakan mengoperasikannya di gudang WeChatDeveloper. Jika Anda mengoperasikan atau mengirimkan masalah di gudang lain, maka tidak akan diproses!
nama file | Nama kelas | menggambarkan | jenis | Muat ① |
---|---|---|---|---|
Aplikasi.php | AliPayAplikasi | Pembayaran Aplikasi Alipay | Pembayaran Alipay | Kami::AliPayApp() |
tagihan.php | AliPayTagihan | Unduh tagihan Alipay | Pembayaran Alipay | Kami::AliPayBill() |
Pos.php | AliPayPos | Pembayaran kartu Alipay | Pembayaran Alipay | Kami::AliPayPos() |
Pindai.php | AliPayPindai | Pembayaran kode pindaian Alipay | Pembayaran Alipay | Kami::AliPayScan() |
Transfer.php | AliPayTransfer | Transfer Alipay | Pembayaran Alipay | Kami::AliPayTransfer() |
Wap.php | AliPayWap | Pembayaran Alipay Wap | Pembayaran Alipay | Kami::AliPayWap() |
Web.php | AliPayWeb | Pembayaran Web Alipay | Pembayaran Alipay | Kami::AliPayWeb() |
Kartu.php | WeChatKartu | Dukungan antarmuka kartu dan kupon WeChat | Nomor layanan sertifikasi | Kami::WeChatCard() |
Kustom.php | WeChatKustom | Dukungan antarmuka pesan layanan pelanggan WeChat | Nomor layanan sertifikasi | Kami::WeChatCustom() |
Media.php | WeChatMedia | Dukungan antarmuka materi media WeChat | Nomor layanan sertifikasi | Kami::WeChatMedia() |
Oauth.php | WeChatOauth | Antarmuka pesan otorisasi halaman web WeChat | Nomor layanan sertifikasi | Kami::WeChatOauth() |
Bayar.php | WeChatBayar | Antarmuka pembayaran WeChat | Nomor layanan sertifikasi | Kami::WeChatPay() |
Produk.php | WeChatProduk | Antarmuka toko WeChat | Nomor layanan sertifikasi | Kami::Produk WeChat() |
Kode Qr.php | WeChatQrcode | Dukungan antarmuka kode QR WeChat | Nomor layanan sertifikasi | Kami::WeChatQrcode() |
Terima.php | WeChatTerima | Dukungan pemrosesan pesan acara push WeChat | Nomor layanan sertifikasi | Kami::WeChatReceive() |
Pindai.php | WeChatPindai | Dukungan antarmuka pemindaian WeChat | Nomor layanan sertifikasi | Kami::WeChatScan() |
skrip.php | WeChatSkrip | Dukungan JSSDK ujung depan WeChat | Nomor layanan sertifikasi | Kami::WeChatScript() |
Kocok.php | WeChatGoyang | Antarmuka dorong perangkat Bluetooth WeChat | Nomor layanan sertifikasi | Kami::WeChatShake() |
Tag.php | WeChatTag | Dukungan antarmuka tag penggemar WeChat | Nomor layanan sertifikasi | Kami::WeChatTags() |
Templat.php | WeChatTemplat | Dukungan antarmuka pesan templat WeChat | Nomor layanan sertifikasi | Kami::WeChatTemplate() |
Pengguna.php | WeChatPengguna | Dukungan antarmuka manajemen penggemar WeChat | Nomor layanan sertifikasi | Kami::WeChatCard() |
Wifi.php | WeChatWi-Fi | Dukungan manajemen WIFI toko WeChat | Nomor layanan sertifikasi | Kami::WeChatWifi() |
Draf.php | WeChatDraf | Kotak draf WeChat | Nomor layanan sertifikasi | Kami::WeChatDraft() |
Publikasikan gratis.php | WeChatPublikasi Gratis | Kemampuan penerbitan WeChat | Nomor layanan sertifikasi | Kami::WeChatFreepublish() |
tagihan.php | WePayTagihan | Tagihan dan komentar pedagang WeChat | Pembayaran WeChat | Kami::WePayBill() |
Kupon.php | WePayKupon | Voucher pedagang WeChat | Pembayaran WeChat | Kami::WePayCoupon() |
Pesan.php | WePayPesan | Pesanan pedagang WeChat | Pembayaran WeChat | Kami::WePayOrder() |
Redpack.php | WePayRedpack | Dukungan amplop merah WeChat | Pembayaran WeChat | Kami::WePayRedpack() |
Pengembalian dana.php | WePayPengembalian Dana | Pengembalian dana pedagang WeChat | Pembayaran WeChat | Kami::WePayRefund() |
Transfer.php | WePayTransfer | Bayar ke pedagang WeChat dengan sedikit uang kembalian | Pembayaran WeChat | Kami::WePayTransfer() |
TransferBank.php | WePayTransferBank | Pedagang WeChat mentransfer uang ke kartu bank | Pembayaran WeChat | Kami::WePayTransfersBank() |
Crypt.php | WeMiniCrypt | Pemrosesan enkripsi data applet WeChat | apel WeChat | Kami::KamiMiniCrypt() |
colokan.php | WeMiniPlug | Manajemen plug-in program mini WeChat | apel WeChat | Kami::KamiMiniPlugs() |
Poi.php | KamiMiniPoi | Manajemen alamat applet WeChat | apel WeChat | Kami::KamiMiniPoi() |
Kode Qr.php | WeMiniQrcode | Manajemen Kode QR Program Mini WeChat | apel WeChat | Kami::KamiMiniCrypt() |
Templat.php | WeMiniTemplat | Dukungan pesan templat program mini WeChat | apel WeChat | Kami::KamiMiniTemplate() |
Total.php | KamiMiniTotal | Antarmuka data applet WeChat | apel WeChat | Kami::KamiMiniTotal() |
1.1 Kelola instalasi melalui Komposer
# 首次安装 线上版本(稳定)
composer require zoujingli/wechat-developer
# 首次安装 开发版本(开发)
composer require zoujingli/wechat-developer dev-master
# 更新 WeChatDeveloper
composer update zoujingli/wechat-developer
1.2 Jika Anda tidak menggunakan Komposer, Anda dapat mengunduh WeChatDeveloper dan mengekstraknya ke dalam proyek
# 在项目中加载初始化文件
include "您的目录/WeChatDeveloper/include.php " ;
2.1 Parameter yang diperlukan untuk instance antarmuka
// =====================================================
// 配置缓存处理函数 ( 适配其他环境 )
// -----------------------------------------------------
// 数据缓存 (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 Antarmuka khusus instance
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 dirilis di bawah lisensi sumber terbuka MIT dan tersedia secara gratis.
Informasi hak cipta dari kode sumber pihak ketiga dan file biner yang disertakan dalam proyek ini akan ditandai secara terpisah, silakan periksa di file yang sesuai.
Hak Cipta Hak Cipta © 2014-2023 oleh ThinkAdmin (https://thinkadmin.top) Semua hak dilindungi undang-undang.