목차
가맹점 측 프로세스
결제 확인 비밀번호 규칙
테스트
위챗 애플릿 위챗 개발 신용카드 결제를 위한 WeChat 공개 계정 개발에 대한 예제 튜토리얼 공유

신용카드 결제를 위한 WeChat 공개 계정 개발에 대한 예제 튜토리얼 공유

May 19, 2017 pm 04:02 PM

메시지 남기고 전달 환영합니다

이 기사에서는 WeChat 카드 결제에 대해 구체적으로 설명합니다

장면 소개

  • 1단계: 사용자가 카드 결제를 선택하고 WeChat을 열고 "나"->"지갑"->"스와이프 카드" 바코드 인터페이스로 들어갑니다

  • 2단계: 계산원이 가맹점 시스템을 운영하여 결제 주문을 생성하고, 사용자는 결제 금액을 확인합니다.

  • 3단계: 가맹점의 계산원이 사용자의 바코드를 스캔합니다. /QR 코드를 스캐닝하여 판매자가 현금을 수집합니다. 시스템이 결제를 제출합니다

  • 4단계: WeChat 결제 백엔드 시스템이 결제 요청을 수신하고 사용자 결제 확인 여부를 결정합니다. 비밀번호 확인 규칙에 따라 비밀번호를 입력합니다. 비밀번호 확인이 필요하지 않은 거래의 경우 비밀번호 입력 상자가 나타납니다. 결제가 성공한 후 위챗에 성공 페이지가 뜹니다. 결제가 실패하면 오류 메시지가 뜹니다

가맹점 측 프로세스


자세한 문서 소개는 여기를 클릭하세요


카드 결제 액세스 모드는 가맹점 백엔드 액세스(유사한 제3자가 사용하도록 타인에게 제공)와 매장으로 나눌 수 있습니다. 액세스(자체 사용) 区别就是支付结果多分发一次.

사용자가 결제 비밀번호를 입력해야 하는지 여부에 따라 비밀번호 없는 모드와 비밀번호 확인 모드로 나눌 수 있습니다.

결제 확인 비밀번호 규칙

  • 결제 금액이 500위안을 초과하는 거래에는 사용자 결제 비밀번호 확인이 필요합니다

  • 사용자 계정마다 일 최대 5건의 거래가 비밀번호 없이 가능하며 이후에는 비밀번호 확인이 필요합니다

  • WeChat 결제 배경에서 사용자 결제 동작에 이상이 있다고 판단하고 비밀번호 없는 거래를 준수하는 거래 규칙에도 비밀번호 확인이 필요합니다

비밀번호 없는 모드와 비밀번호 확인 모드의 차이점은 나중에 논의하겠습니다

구체적인 사항에 대해 이야기해 보겠습니다. 구현

신용 카드 결제에 사용되는 결제 인터페이스는 다음과 같습니다. 신용 카드 결제 API를 제출하면 https 요청이 필요하지 않습니다.

구체적인 구현 코드는 다음과 같습니다.
com.javen.weixin.controller.WeixinPayControllermicropay()

public void micropay(){
  String url="https://api.mch.weixin.qq.com/pay/micropay";

  String total_fee="1";
  //授权码
  String auth_code = getPara("auth_code");

  Map<String, String> params = new HashMap<String, String>();
  params.put("appid", appid);
  params.put("mch_id", partner);
  params.put("device_info", "javen205");//终端设备号
  params.put("nonce_str", System.currentTimeMillis() / 1000 + "");
  params.put("body", "刷卡支付测试");
//  params.put("detail", "json字符串");//非必须
  params.put("attach", "javen205");//附加参数非必须
  String out_trade_no=System.currentTimeMillis()+"";
  params.put("out_trade_no", out_trade_no);
  params.put("total_fee", total_fee);

  String ip = IpKit.getRealIp(getRequest());
  if (StrKit.isBlank(ip)) {
   ip = "127.0.0.1";
  }

  params.put("spbill_create_ip", ip);
  params.put("auth_code", auth_code);

  String sign = PaymentKit.createSign(params, paternerKey);
  params.put("sign", sign);

  String xmlResult = HttpUtils.post(url, PaymentKit.toXml(params));
  //同步返回结果
  System.out.println("xmlResult:"+xmlResult);

  Map<String, String> result = PaymentKit.xmlToMap(xmlResult);
  String return_code = result.get("return_code");
  if (StrKit.isBlank(return_code) || !"SUCCESS".equals(return_code)) {
   //通讯失败 
   String err_code = result.get("err_code");
   //用户支付中,需要输入密码
   if (err_code.equals("USERPAYING")) {
    //等待5秒后调用【查询订单API】https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_2

   }
   renderText("通讯失败>>"+xmlResult);
   return;
  }

  String result_code = result.get("result_code");
  if (StrKit.isBlank(result_code) || !"SUCCESS".equals(result_code)) {
   //支付失败
   renderText("支付失败>>"+xmlResult);
   return;
  }

  //支付成功 

  renderText(xmlResult);
 }
로그인 후 복사

오픈소스 프로젝트 weixin-guide의 테스트 접속 주소는 http://域名[/项目名称]/pay/micropay?auth_code=xxxxx, 授权码auth_code은 WeChat입니다. 클라이언트 카드 스와이프 인터페이스의 바코드에 표시되는 숫자입니다.

(참고: 사용자 카드 스와이프 바코드 규칙: 10, 11, 12, 13, 14, 15로 시작하는 순수 18자리 숫자)

테스트

코드 스캐너를 사용하지 않고도 테스트할 수 있지만, 인증코드를 수동으로 입력하는 것이 조금 번거롭고(1분에 한 번씩 새로고침) 빠르게 인증코드를 입력해야 합니다. 코드 스캐너는 인증 코드만 읽고 다른 작업은 수행하지 않습니다.

로컬 포트 ​​매핑 테스트를 위한 주소는 다음과 같습니다.

여기서 auth_code 값은
http://域名/pay/micropay?auth_code=111 브라우저에서 액세스하는

누구든지 작성합니다.

반환 결과는 다음과 같습니다.

<xml><return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><![CDATA[您公众号的appid]]></appid>
<mch_id><![CDATA[您微信商户号]]></mch_id>
<device_info><![CDATA[javen205]]></device_info>
<nonce_str><![CDATA[eXgczazQq54pqcyH]]></nonce_str>
<sign><![CDATA[FF03DA0E58845CCE1FCC2166EC03FBE5]]></sign>
<result_code><![CDATA[FAIL]]></result_code>
<err_code><![CDATA[AUTH_CODE_INVALID]]></err_code>
<err_code_des><![CDATA[请扫描微信支付被扫条码/二维码]]></err_code_des>
</xml>
로그인 후 복사

5회 이상 카드를 긁어 결제하면 비밀번호를 입력하라는 메시지가 표시됩니다

반환된 err_codeUSERPAYING

이때 결제 결과는 필수입니다. 주문 인터페이스에 문의하여

을 받으세요. 이것이 비밀번호가 있는 경우와 없는 경우의 차이입니다. 비밀번호를 입력하려면 查询订单을 사용해야 합니다. 결과가 여전히 USERPAYING이면 두 번째 루프 查询订单API를 호출하여 사용자가 실제 지불 결과를 확인합니다. 결제를 취소하거나 사용자가 30초 동안 결제하지 않으면 판매자의 계산원 쿼리 프로세스를 종료하고 撤销订单API에 계속 전화하여 결제를 취소합니다.

올바른 auth_code을 입력하면 반환된 결과는 다음과 같습니다.

<xml><return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><![CDATA[您公众号的appid]]></appid>
<mch_id><![CDATA[您微信商户号]]></mch_id>
<device_info><![CDATA[javen205]]></device_info>
<nonce_str><![CDATA[Z9p14VPJ822ZTPXP]]></nonce_str>
<sign><![CDATA[03BD421A33A5079A1BE6030E2EBA8291]]></sign>
<result_code><![CDATA[SUCCESS]]></result_code>
<openid><![CDATA[o_pncsidC-pRRfCP4zj98h6slREw]]></openid>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<trade_type><![CDATA[MICROPAY]]></trade_type>
<bank_type><![CDATA[CFT]]></bank_type>
<total_fee>1</total_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<transaction_id><![CDATA[4009682001201610156761057959]]></transaction_id>
<out_trade_no><![CDATA[1476523316727]]></out_trade_no>
<attach><![CDATA[javen205]]></attach>
<time_end><![CDATA[20161015172058]]></time_end>
<cash_fee>1</cash_fee>
</xml>
로그인 후 복사

사용 시나리오 설명

액세스 모드가 다음과 같은 경우 판매자 백엔드 액세스 를 입력하고 결제가 성공하면 WeChat 결제 시스템은 위의 xml 데이터를 판매자에게 반환하고, 판매자는 결제 결과를 매장 계산원에게 콜백하고 계산원은 계속해서 비즈니스 로직 처리

액세스 모드 - 매장 액세스 결제에 성공하면 WeChat 결제 시스템은 위의 xml 데이터를 계산원에게 반환하고 계산원은 계속해서 비즈니스 로직 처리

신용카드 결제를 위한 WeChat 공개 계정 개발에 대한 예제 튜토리얼 공유

스와이프 카드결제.png

이상으로 위챗카드 상세 소개가 완료되었습니다. 지불.

[관련 추천]

1. 위챗 공개계정 플랫폼 소스코드 다운로드

PigCms 마이크로 전자상거래 시스템 운영 버전 (독립 위챗 스토어 + 3단계 유통 시스템)

3. 위챗 투표 소스코드

위 내용은 신용카드 결제를 위한 WeChat 공개 계정 개발에 대한 예제 튜토리얼 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP WeChat 개발: 메시지 암호화 및 암호 해독 구현 방법 PHP WeChat 개발: 메시지 암호화 및 암호 해독 구현 방법 May 13, 2023 am 11:40 AM

PHP는 웹 개발 및 서버 측 프로그래밍, 특히 WeChat 개발에 널리 사용되는 오픈 소스 스크립팅 언어입니다. 오늘날 점점 더 많은 회사와 개발자가 WeChat 개발에 PHP를 사용하기 시작하고 있습니다. PHP는 배우기 쉽고 사용하기 쉬운 개발 언어이기 때문입니다. WeChat 개발에서 메시지 암호화 및 복호화는 데이터 보안과 관련되어 있기 때문에 매우 중요한 문제입니다. 암호화 및 복호화 방법이 없는 메시지의 경우 해커가 쉽게 데이터를 획득할 수 있어 사용자에게 위협이 될 수 있습니다.

PHP를 사용하여 WeChat 대량 메시징 도구 개발 PHP를 사용하여 WeChat 대량 메시징 도구 개발 May 13, 2023 pm 05:00 PM

WeChat의 인기로 인해 점점 더 많은 기업이 WeChat을 마케팅 도구로 사용하기 시작했습니다. WeChat 그룹 메시징 기능은 기업이 WeChat 마케팅을 수행하는 중요한 수단 중 하나입니다. 그러나 수동 전송에만 의존한다면 마케팅 담당자에게는 매우 시간이 많이 걸리고 힘든 작업입니다. 따라서 WeChat 대량 메시징 도구를 개발하는 것이 특히 중요합니다. 이 기사에서는 PHP를 사용하여 WeChat 대량 메시징 도구를 개발하는 방법을 소개합니다. 1. 준비 작업 WeChat 대량 메시징 도구를 개발하려면 다음 기술 사항을 숙지해야 합니다. PHP WeChat 공개 플랫폼 개발에 대한 기본 지식 개발 도구: Sub

PHP WeChat 개발: 사용자 태그 관리 구현 방법 PHP WeChat 개발: 사용자 태그 관리 구현 방법 May 13, 2023 pm 04:31 PM

WeChat 공개 계정 개발에서 사용자 태그 관리는 개발자가 사용자를 더 잘 이해하고 관리할 수 있도록 하는 매우 중요한 기능입니다. 이 기사에서는 PHP를 사용하여 WeChat 사용자 태그 관리 기능을 구현하는 방법을 소개합니다. 1. WeChat 사용자의 openid를 획득합니다. WeChat 사용자 태그 관리 기능을 사용하기 전에 먼저 사용자의 openid를 획득해야 합니다. WeChat 공개 계정을 개발할 때 사용자 인증을 통해 openid를 얻는 것이 일반적인 관행입니다. 사용자 인증이 완료되면 다음 코드를 통해 사용자를 얻을 수 있습니다.

PHP WeChat 개발: 그룹 메시지 전송 기록을 구현하는 방법 PHP WeChat 개발: 그룹 메시지 전송 기록을 구현하는 방법 May 13, 2023 pm 04:31 PM

WeChat이 사람들의 삶에서 점점 더 중요한 커뮤니케이션 도구가 되면서, WeChat의 민첩한 메시징 기능은 많은 기업과 개인의 선호를 빠르게 받고 있습니다. 기업의 경우 WeChat을 마케팅 플랫폼으로 개발하는 것이 하나의 추세가 되었으며 WeChat 개발의 중요성은 점차 더욱 부각되고 있습니다. 그 중 그룹 전송 기능이 더욱 널리 사용됩니다. 그렇다면 PHP 프로그래머로서 그룹 메시지 전송 기록을 어떻게 구현해야 할까요? 다음은 간략한 소개입니다. 1. WeChat 공개 계정과 관련된 개발 지식을 이해합니다. 그룹 메시지 전송 기록을 구현하는 방법을 이해합니다.

PHP WeChat 개발: 고객 서비스 채팅 창 관리 구현 방법 PHP WeChat 개발: 고객 서비스 채팅 창 관리 구현 방법 May 13, 2023 pm 05:51 PM

WeChat은 현재 세계에서 가장 큰 사용자 기반을 보유한 소셜 플랫폼 중 하나입니다. 모바일 인터넷의 인기로 인해 점점 더 많은 기업들이 WeChat 마케팅의 중요성을 깨닫기 시작했습니다. WeChat 마케팅을 수행할 때 고객 서비스는 중요한 부분입니다. 고객 서비스 채팅 창을 더 잘 관리하기 위해 WeChat 개발에 PHP 언어를 사용할 수 있습니다. 1. PHP 소개 WeChat 개발 PHP는 웹 개발 분야에서 널리 사용되는 오픈 소스 서버 측 스크립팅 언어입니다. WeChat 공개 플랫폼에서 제공하는 개발 인터페이스와 결합하여 PHP 언어를 사용하여 WeChat을 수행할 수 있습니다.

PHP WeChat 개발: 투표 기능 구현 방법 PHP WeChat 개발: 투표 기능 구현 방법 May 14, 2023 am 11:21 AM

WeChat 공개 계정을 개발할 때 투표 기능이 자주 사용됩니다. 투표 기능은 사용자들이 상호 작용에 빠르게 참여할 수 있는 좋은 방법이며, 이벤트 개최 및 의견 조사를 위한 중요한 도구이기도 합니다. 이 기사에서는 PHP를 사용하여 WeChat 투표 기능을 구현하는 방법을 소개합니다. WeChat 공식 계정 승인을 받으려면 먼저 WeChat 공식 계정 승인을 받아야 합니다. WeChat 공개 플랫폼에서는 WeChat 공개 계정, 공식 계정 및 공개 계정에 해당하는 토큰의 API 주소를 구성해야 합니다. PHP 언어를 사용하여 개발하는 과정에서 WeChat에서 공식적으로 제공하는 PH를 사용해야 합니다.

WeChat 개발에 PHP를 사용하는 방법은 무엇입니까? WeChat 개발에 PHP를 사용하는 방법은 무엇입니까? May 21, 2023 am 08:37 AM

인터넷과 모바일 스마트 기기의 발전으로 WeChat은 소셜 및 마케팅 분야에서 없어서는 안될 부분이 되었습니다. 점점 더 디지털화되는 시대에 WeChat 개발에 PHP를 사용하는 방법은 많은 개발자의 초점이 되었습니다. 이 기사에서는 주로 WeChat 개발에 PHP를 사용하는 방법에 대한 관련 지식 포인트와 일부 팁 및 주의 사항을 소개합니다. 1. 개발 환경 준비 WeChat을 개발하기 전에 먼저 해당 개발 환경을 준비해야 합니다. 특히, PHP 운영 환경과 WeChat 공개 플랫폼을 설치해야 합니다.

PHP WeChat 개발: 음성 인식 구현 방법 PHP WeChat 개발: 음성 인식 구현 방법 May 13, 2023 pm 09:31 PM

모바일 인터넷의 인기로 인해 점점 더 많은 사람들이 WeChat을 소셜 소프트웨어로 사용하고 있으며 WeChat 개방형 플랫폼은 개발자에게도 많은 기회를 제공합니다. 최근 인공지능 기술의 발전과 함께 음성인식 기술은 점차 모바일 단말기 개발에 있어서 대중적인 기술 중 하나로 자리잡고 있다. WeChat 개발에서 음성 인식을 구현하는 방법은 많은 개발자의 관심사가 되었습니다. 이 기사에서는 PHP를 사용하여 음성 인식 기능을 구현하는 WeChat 애플리케이션을 개발하는 방법을 소개합니다. 1. 음성인식의 원리 음성인식 구현 방법을 소개하기 전에 먼저 언어에 대한 이해를 해보자.

See all articles