This commit is contained in:
Hankin 2026-04-24 18:08:11 +08:00
parent 9a9f676907
commit ef4b0e695c
2 changed files with 32 additions and 1 deletions

View File

@ -57,7 +57,6 @@ class WechatPayController extends Controller
];
$body = $request->all();
// $body = json_encode($body, JSON_UNESCAPED_UNICODE);
Log::info("请求体", ["body" => $request->getContent()]);
Log::info("请求头", ["headers" => $headers]);
Log::info("请求体", ["body" => $body]);
$res = WechatPayService::mchTransferCallback($headers, $body);

View File

@ -175,6 +175,38 @@ class WechatPayService
{
// $data = json_decode($rawBody, true);
$callbackData = `{
"id": "a696501c-e681-57d9-8340-1027264847d8",
"create_time": "2026-04-24T16:44:29+08:00",
"resource_type": "encrypt-resource",
"event_type": "MCHTRANSFER.BILL.FINISHED",
"summary": "商家转账单据终态通知",
"resource": {
"original_type": "mch_payment",
"algorithm": "AEAD_AES_256_GCM",
"ciphertext": "nzEqwUmtvgt7eV6zaT1HLLSaPeqN5X7h8SXJYUSpJ36piZmZpBWS9Qxef8po36Xp0Q0rY6vdHpALNivdJ9lYv8lwxc2nY8zeOZmNwJ0c2uHu3NKjpK1dTraMPTPKZB+jf4k4qyJnjMC7qvwRSL9mHuvzUNvwJ8qO9t9XQc+v1X+o9fOekZ++84LZ4SYryu8njOicJ+Y6wfG5w/UyoE8NIm1PyUrQXp8meRpebzEKs9RVmUny58fHn8uNtiKrYV+ErbX9uGjeL+PGw8uKNI2bs76y0QTgEFfukmALioK+m1jC3AVARmo1ucJp3opbul2Poc4HLRTqsA0DVEuZZQRElhAkEFHpwOAwaovUcVBHS3gt5/LnVDPx6YuOmf5DxovVHb2bjdyZlcGoTnvh1x+zvN2PqAgl/FBH",
"associated_data": "mch_payment",
"nonce": "1UnsfIH54DTm"
}
}`;
$data = json_decode($callbackData, true);
$resource = $data['resource'];
// 替换成你实际的 APIv3 密钥
$apiV3Key = "r4wu1Ms2bwApMXFwUJ7jgA5NmMJvhiyL"; // 👈 改成你的真实密钥
$decrypted = AesGcm::decrypt(
base64_decode($resource['ciphertext']),
$apiV3Key,
$resource['nonce'],
$resource['associated_data']
);
echo "✅ 解密成功!\n";
echo "解密后的数据:\n";
print_r(json_decode($decrypted, true));
dd($decrypted);
if (!isset($data['resource'])) {
Log::info("缺少参数 resource");
return null;