위 챗 퍼 블 릭 플랫폼 개발 강좌 ④ ThinkPHP 프레임 워 크 에서 위 챗 결제 기능 그림 설명

이 사례 는 ThinkPHP 프레임 워 크 에서 위 챗 결제 기능 을 다 루 고 있다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
성명:백 준 요 블 로그 ,일부 내용 은 개인 사례 에 대해 수정 되 었 으 며,주로 자신의 참고 로 사용 되 며,지적 을 환영 합 니 다.
메모:위 챗 공중 번호 결 제 는 외부 네트워크 에서 방문 할 수 있 는 링크 테스트 를 강력 히 권장 합 니 다.그렇지 않 으 면 코드 가 정확 하 더 라 도 결제 인터페이스 를 찾 을 수 없습니다.사료 QR 코드 를 사용 하여 스 캔 가능 한 그림 을 만 들 수도 있 고 위 챗 에 인터넷 주 소 를 직접 입력 할 수도 있 습 니 다.
사용 프레임 워 크:ThinkPHP 3.2.3
1.위 챗 공식 플랫폼 정보 설정
1).위 챗 공식 플랫폼 에 접속
왼쪽 에 있 는'위 챗 결제'에서 설정 인터페이스 에 들 어가 정확 한 결제 권한 수여 디 렉 터 리 를 추가 하거나 수정 합 니 다.이 디 렉 터 리 의 요 구 를 주의 하 시고 이전 디 렉 터 리 까지 정확 하고 사선/을 추가 하 는 것 을 권장 합 니 다.
2).권한 부여 도 메 인
[주의]:
    도 메 인 이름 의 확정 은 모두 공신 부가 등록 한 것 이다.처음 개발 한 것 은'www'을 빠 뜨리 기 쉽 지만 캡 처 에'www'을 추가 하지 않 은 것 은 우리 가 등록 한 이유 이 므 로'http:/'만 빼 는 것 을 기억 해 야 한다.

2.ThinkPHP 프레임 워 크,해당 코드 설정
    공중 번호 지불->장면 참조
1).Weixinpay.php 파일 처리
    "/ThinkpHP/Library/Vendor/Weixinpay/"디 렉 터 리 에 Weixinpay.php 파일 가 져 오기
    
    2).설정
    프로젝트 의 설정 파일 에 다음 과 같은 코드 를 추가 합 니 다.그 중의 값 은 실제 대중 번호 의 정보 에 따라 설정 해 야 합 니 다[주의].    많은 사람들 이 MCHID 를 잘못 알 아 불필요 한 시간 낭 비 를 초래 할 수 있 으 며,구체 적 인 개발 은 공식 문 서 를 참조 한다.
/Application/Common/Conf/config.php

    3).지불 함수 의 편집
     즉,결제 후 인 터 페 이 스 를 클릭 하면 위 챗 의 기본 결제 프레임 워 크 를 자동 으로 호출 합 니 다.
[주의]:
    결제 논리 적 처 리 를 하려 면 GET 방식 으로 이 페이지 를 요청 해 야 한 다 는 것 을 기억 해 야 합 니 다.즉,get 방식 으로 총 금액,주문 번 호 를 제출 하여 처리 해 야 합 니 다.$data 는 받 을 수 있 습 니 다.
    
4).getParameters 수정
    상기 파일 은 getParameters()방법 을 수정 해 야 합 니 다.그 중에서 표 시 된 위 치 는 실제 업무 상황 에 따라 데이터 베이스 에서 얻 은 것 입 니 다.구체 적 인 코드 뒤에 제 공 됩 니 다.

5).상기 함수,html 의 배합 이 필요 합 니 다:/M/View/Cart/pay.html
    
    6).리 셋 함수 의 편집
[주의]:
    이 경 로 는 설정 파일 의 리 셋 경로 와 일치 해 야 합 니 다.이 리 셋 함 수 는 위 챗 이 결제 후의 데이터 업 데 이 트 를 진정 으로 완 료 했 는 지 여부 에 따라 보통 주문 상 태 를 수정 합 니 다.예 를 들 어 제 가 여기 서 다른 단계 로 실행 하 는 것 은 주문 번호 의 지불 상태 파 라미 터 를 0 에서 1 로 설정 하 는 것 입 니 다.
    [개인 테스트 결과,이곳 session 과 쿠키 의 설정 이 모두 효력 을 잃 었 습 니 다.참고 만 하 십시오.]

[주의]:    
이전에 발 견 된 바 와 같이 위 챗 서비스의 디자인 으로 인해 notify()를 여러 번 리 셋 하여 실제 결제 성공 여 부 를 판단 할 수 있 으 며 간단 한 update 작업 은 검 측 할 수 없습니다.자신의 플랫폼 과 관련 되 기 위해 서 는 상태 판단 이 필요 합 니 다.그렇지 않 으 면 notify 를 여러 번 수행 할 수 밖 에 없습니다.wx()의 논리 적 처리
    7).자신의 프로젝트 에 통합 된다 면
        자신의 공공 함수 에 curl 을 추가 해 야 합 니 다.get_contents
    8).보충:
    (1).알림:제 공 된 소스 코드 는 위 챗 결제 의 핵심 에서 벗 어 났 습 니 다.html 페이지 에서 jquery.js 에 대한 정확 한 인용 에 주의 하 십시오.pay.html 는 기본적으로 위 챗 공식 홈 페이지 에서 직접 다운로드 한 demo 페이지 입 니 다.코드 를 사용 하기 전에 위 챗 결제 url 을 설정 하고 외부 네트워크 테스트 를 하 십시오.
(2).이 기능 개발 에서 만난 각종 구덩이!참고,비판 을 강력 히 건의 합 니 다.[중요]
위 챗 스 캔 결제
1)장면 분석
> 장면 참조
>일반적인 사이트 개발 에서 핸드폰 단말기 라면 위 에서 언급 한 공중전화 결제 방식 을 많이 사용 하 는데 스 캔 결 제 는 대부분이 PC 단말기 에 나타난다.물론 일부 핸드폰 사이트 에서 QR 코드 를 생 성 하 는 수요 도 있 지만 위 챗 브 라 우 저의 식별 제한 으로 인해 위 챗 에서 직접 조회 하 는 쇼핑 사 이 트 는 QR 코드 를 길 게 누 르 면 식별 할 수 있다.또 다른 상황 은 바 이 두,톱기사 등 다른 모 바 일 브 라 우 저 에 있 습 니 다.>이렇게 되면 다른 휴대 전화 로 스 캔 결 제 를 하거나 QR 코드 를 캡 처 해 저장 한 뒤 위 챗 에서 사진 을 찾 아 길 게 눌 러 인식 하지 않 는 다.분명히 후자 의 용법 이 너무 번 거 롭 기 때문에 처분 침 은 위 챗 브 라 우 저 개발 에 있어 서 그렇지 않 으 면 스 캔 결제 기능 을 사용 하 는 것 을 권장 하지 않 고 PC 에서 개발 하면 이 기능 을 사용 하기에 적합 하 다.
2)기능 개발
통용 윗글 에서 소개 한 기능 개발 절차 1)、2)、3)、6)、7)
3).보충 함수
common/function.php 에 함 수 를 추가 합 니 다. weixinpay()와 qrcode()
4).위 챗 스 캔 페이지 를 디자인 합 니 다.
    내 가 정 한 페이지 는 M/Order/mobile payment.html,즉 Order/wechatpayment 에 접근 하여 위 챗 을 호출 하여 QR 코드 를 생 성 합 니 다.이 페이지 의탭 에 표 시 됩 니 다.구체 적 인 코드 는 뒤의 부록을 참조 하 십시오.
5).wechatpaymenter 보충 방법.

6).주의:
    모드 2 에서 생 성 된 QR 코드 도 시간 제한 이 있 으 며 차단 할 수 있 는 권한 이 없 으 며 QR 코드 생 성 은 주문 번호 에 따라 유일 하 게 확 정 됩 니 다.한 번 생 성 되면 두 번 째 는 표시 되 지 않 을 수 있 으 므 로 테스트 대신 time()을 사용 하 는 것 을 권장 합 니 다.
스 캔 결제 모드 참조
7).실행 결과 캡 처
정보 설정 이 정확 한 상황 에서 기능 결 과 는 그림 과 같다.

부록
1. 소스 코드 참조>>
2.알림:
  위 챗 설정 의 정확성 에 주의 하 세 요.잘못 되면 위 챗 결제 가 잘못 되 고 QR 코드 는 생 성 되 지 않 습 니 다.공식 문 서 를 참고 하여 깊이 이해 하 는 것 도 좋 은 선택 입 니 다.
더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기