下面由thinkphp框架教程栏目给大家介绍thinkphp网站支付宝异步回调验签失败问题,希望对需要的朋友有所帮助!
手头一个项目,用到了支付宝手机网站支付,项目用tp做的,下载支付宝SDK后修改后调起正常,同步接口也可访问,但异步接口验签总是错误失败,fail,追踪到AopClient.php
的580行,下段代码处
if ("RSA2" == $signType) { $result = (bool) openssl_verify($data, base64_decode($sign), $res, OPENSSL_ALGO_SHA256);//这句报错 } else { $result = (bool) openssl_verify($data, base64_decode($sign), $res); }
打印print_r(openssl_error_string());
,输出的是
error:0906D06C:PEM routines:PEM_read_bio:no start line
百度无果,有说证书错误的乱七八糟,本人换证书也没用。
后来偶然发现输入有问题,最终找到一个原因:
这里接收支付宝异步通知的时候,不能使用I函数
$data=I("post.");//项目中这样写,导致支付宝传来的数据部分特殊字符被过滤,具体主要是fund_bill_list和sign这两部分 $data=$_POST;//写成这样就好了
还有一点:
无论签名验证是否正确,openssl_error_string()
始终输出error:0906D06C:PEM routines:PEM_read_bio:no start line
,这是我这边的情况,具体未深究。
Atas ialah kandungan terperinci thinkphp网站支付宝异步回调验签失败问题. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Dreamweaver Mac版
Alat pembangunan web visual

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.
