test_webhook_api.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. require_once __DIR__ . '/vendor/autoload.php';
  3. // 设置Laravel环境
  4. $app = require_once __DIR__ . '/bootstrap/app.php';
  5. $app->make(\Illuminate\Contracts\Console\Kernel::class)->bootstrap();
  6. echo "=== URS Webhook API 测试 ===\n\n";
  7. // 测试URL
  8. $url = 'http://kku_laravel.local.gd/thirdParty/webhook/urs/check';
  9. // 测试数据
  10. $testData = [
  11. 'user_id' => 68993679,
  12. 'amount' => '1'
  13. ];
  14. echo "测试URL: {$url}\n";
  15. echo "测试数据: " . json_encode($testData, JSON_UNESCAPED_UNICODE) . "\n\n";
  16. // 发送POST请求
  17. $ch = curl_init();
  18. curl_setopt($ch, CURLOPT_URL, $url);
  19. curl_setopt($ch, CURLOPT_POST, true);
  20. curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($testData));
  21. curl_setopt($ch, CURLOPT_HTTPHEADER, [
  22. 'Content-Type: application/json',
  23. 'Accept: application/json'
  24. ]);
  25. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  26. curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  27. $response = curl_exec($ch);
  28. $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  29. $error = curl_error($ch);
  30. curl_close($ch);
  31. if ($error) {
  32. echo "CURL错误: {$error}\n";
  33. exit(1);
  34. }
  35. echo "HTTP状态码: {$httpCode}\n";
  36. echo "响应内容:\n";
  37. if ($response) {
  38. $responseData = json_decode($response, true);
  39. if ($responseData) {
  40. echo json_encode($responseData, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "\n\n";
  41. // 验证修复结果
  42. echo "=== 修复验证 ===\n";
  43. if (isset($responseData['principal_total'])) {
  44. $principalTotal = $responseData['principal_total'];
  45. echo "本金总额: {$principalTotal}\n";
  46. // 检查是否是内部金额(应该是300,不是1)
  47. if ($principalTotal === '300.0000') {
  48. echo "✓ 修复成功:本金已正确转换为内部金额\n";
  49. } elseif ($principalTotal === '1') {
  50. echo "✗ 修复失败:本金仍然是外部金额\n";
  51. } else {
  52. echo "? 本金金额异常:{$principalTotal}\n";
  53. }
  54. }
  55. if (isset($responseData['fee_total'])) {
  56. $feeTotal = $responseData['fee_total'];
  57. echo "手续费: {$feeTotal}\n";
  58. // 检查手续费是否合理(基于内部金额300计算)
  59. if (floatval($feeTotal) >= 3.0) {
  60. echo "✓ 手续费计算正确:基于内部金额计算\n";
  61. } else {
  62. echo "✗ 手续费计算可能有误\n";
  63. }
  64. }
  65. if (isset($responseData['required_total'])) {
  66. $requiredTotal = $responseData['required_total'];
  67. echo "所需总额: {$requiredTotal}\n";
  68. // 检查总额是否合理(应该是300+手续费)
  69. if (floatval($requiredTotal) >= 300.0) {
  70. echo "✓ 总额计算正确:基于内部金额\n";
  71. } else {
  72. echo "✗ 总额计算可能有误\n";
  73. }
  74. }
  75. } else {
  76. echo "响应不是有效的JSON格式\n";
  77. echo $response . "\n";
  78. }
  79. } else {
  80. echo "无响应内容\n";
  81. }
  82. echo "\n=== 测试完成 ===\n";