저는 최근 WeChat 결제 문제를 해결하기 위해 개인 결제 인터페이스에 대해 배우고 있습니다. 여러 플랫폼을 비교해보니 [payjq](https://payjq.cn)가 더 전문적인 것 같아요. Alipay와 WeChat을 모두 지원합니다. 아직 Alipay를 활성화하지 않았으므로(활성화하려면 일정량의 트래픽이 필요함) 이 기사에서는 WeChat 출납원 모드 통합에 중점을 둡니다. 녹음하세요.
캐셔 모드의 도킹은 실제로 직접 사용할 수 있는 공식 개발 키트가 있거나 직접 개발하는 것이 비교적 간단합니다.
1. 코드를 통해 구현하는 방법
1. 판매자 번호 및 통신 키 구성
$mchid = '**************'; // PAYJQ 商户号 $key = '**************'; // 通信密钥
3. 서명 알고리즘
// 构造订单参数 $data = [ 'mchid' => $mchid, 'body' => '我是一个测试订单标题', 'total_fee' => 1, 'out_trade_no' => 'payjq_jspay_demo_' . time(), ];
4. 5. 브라우저 점프
// 获取签名 function sign($data, $key) { array_filter($data); ksort($data); return strtoupper(md5(urldecode(http_build_query($data) . '&key=' . $key))); }
6. 모든 단계가 완료되었습니다. 정상적으로 결제가 시작될 수 있습니다
7. 브라우저 점프의 마지막 단계는 브라우저를 통해 시작되어야 하며 백엔드 코드를 얻은 후에는 시작할 수 없다는 점을 상기하는 것이 중요합니다.
2. 비동기 알림 처리 예를 들어 내 도메인 이름은 http://www.xxx.cn이고 비동기 알림을 수신하기 위한 URL은 http://www.xxx.cn/payjq/notify.php입니다. 주문을 구성할 때 다음 필드를 추가하세요. // 添加数据签名
$data['sign'] = sign($data, $key);
이러한 방식으로 내 서버는 사용자의 결제가 완료된 후 비동기 알림을 받을 수 있습니다. 테스트 후 비동기 알림 도착 시간은 일반적으로 1초 이내에 수신되며 지연이 느껴지지 않습니다. 단지 프런트 엔드에서 폴링하는 경우 3초에 한 번씩 폴링하는 빈도가 상대적으로 낮을 수 있다는 점입니다. 궁금한 점이 있으면 언제든지 질문할 수 있습니다.
다음 글에서는 jsapi 모드 결제를 소개하겠습니다. 이 모드는 개발 능력이 있는 학생에게 더 적합하고 사용하기에 적합합니다