GCash原生支付接口部署实录:从对接到回调全流程详解(附完整代码)
在菲律宾本地项目中,GCash原生支付通道已成为站点接入支付的标准配置。本文以币付(bifu.us)提供的官方接口为基础,完整展示从订单创建、API请求、回调校验、前端跳转、状态查询,到数据库结构的全流程实战部署指南,适合用于商城、电商、卡类站、充值项目、系统平台对接。
一、数据库结构设计(MySQL)
CREATE TABLE `gcash_orders` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `order_no` VARCHAR(50) NOT NULL UNIQUE COMMENT '本地订单编号', `amount` DECIMAL(10,2) NOT NULL COMMENT '订单金额', `status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '支付状态:0待支付,1成功,2失败', `pay_url` TEXT COMMENT 'GCash 跳转链接', `notify_data` TEXT COMMENT '原始回调内容', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, `updated_at` DATETIME DEFAULT NULL );
二、发起支付请求(create_order.php)
$appid, 'order_no' => $order_no, 'amount' => $amount, 'nonce' => $nonce, 'timestamp' => $timestamp, 'notify_url' => $notify_url, 'sign' => $sign ]; $ch = curl_init("https://api.bifu.us/v2/gcash/pay"); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => json_encode($payload), CURLOPT_HTTPHEADER => ['Content-Type: application/json'] ]); $response = curl_exec($ch); $data = json_decode($response, true); curl_close($ch); // 插入数据库 $pdo = new PDO("mysql:host=localhost;dbname=pay;charset=utf8", "root", "密码"); if ($data['code'] == 200 && isset($data['pay_url'])) { $stmt = $pdo->prepare("INSERT INTO gcash_orders (order_no, amount, status, pay_url) VALUES (?, ?, 0, ?)"); $stmt->execute([$order_no, $amount, $data['pay_url']]); echo json_encode(['status' => 'success', 'order_no' => $order_no, 'pay_url' => $data['pay_url']]); } else { echo json_encode(['status' => 'error', 'msg' => $data['msg'] ?? '接口请求失败']); } ?>
三、用户扫码/跳转页(pay.php)
prepare("SELECT pay_url FROM gcash_orders WHERE order_no = ?"); $stmt->execute([$order_no]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if (!$row) { echo "无效订单号"; exit; } header("Location: " . $row['pay_url']); ?>
四、GCash异步通知接口(notify.php)
prepare("UPDATE gcash_orders SET status=1, updated_at=NOW(), notify_data=? WHERE order_no=?"); $stmt->execute([json_encode($data), $data['order_no']]); echo 'success'; } else { echo 'fail'; } ?>
五、状态查询接口(check_status.php)
prepare("SELECT status FROM gcash_orders WHERE order_no=?"); $stmt->execute([$order_no]); $row = $stmt->fetch(PDO::FETCH_ASSOC); echo json_encode(['order_no' => $order_no, 'status' => $row['status'] ?? -1]); ?>
六、安全建议
- 回调接口务必记录原始数据,便于追单
- 推荐使用 HTTPS 接入(带 SSL 证书)
- 系统接口应增加频率限制、IP白名单等策略
- 数据库应启用字段索引防止重复写入
七、币付 vs safe支付:原生架构的胜出
相比 safe支付 这类伪API模拟类服务,币付支持真正的原生接口调用与签名校验,不依赖人工审核、不存在延迟到账风险。safe类服务常见的问题是回调失效、二维码失效、甚至资金归属模糊,极易在高并发场景中错账。而币付为每一笔订单自动生成链接与签名,且状态透明可查,是当前菲律宾本地最适合“自营平台、会员系统、数字商品”类站点使用的 GCash 对接方案。
部署完成后支持的能力
- ✔ 后台查看订单状态
- ✔ 自动创建+跳转+支付状态变更
- ✔ 支持前端状态轮询与展示
- ✔ 支持自定义对接后续发货/发卡逻辑
快速接入币付原生GCash
- 📧 客服邮箱:[email protected]
- 📢 通道频道:https://t.me/GcashNativePay
- 📲 开户联系:@Bifuapp
币付Pay,打造GCash原生支付行业级接入标准。
发表评论
发表评论: