>  기사  >  php教程  >  ThinkPHP5.0은 Alipay 모바일 결제 인터페이스 클래스를 통합합니다.

ThinkPHP5.0은 Alipay 모바일 결제 인터페이스 클래스를 통합합니다.

PHP中文网
PHP中文网원래의
2016-12-05 13:27:462077검색

thinkphp5.0은 Alipay 결제 통합, thinkphp5.0은 WeChat 결제, 모바일 앱 결제 통합
thinkphp5.0은 Alipay 모바일 결제 코드 기능 구현 통합

앱이 Alipay 결제에 연결될 때 사용자의 휴대폰 Alipay 클라이언트가 설치된 단말기가 없는 경우 Alipay의 모바일 결제 h5 페이지가 호출됩니다.
Alipay 결제가 설치되면 Alipay 클라이언트가 결제를 위해 깨어나게 되며, 사용자가 현금을 인출할 수 있는 가장 좋은 방법입니다.

Alipay 문서 주소:
https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7386797.0.0.Y4jDIe&treeId=59&articleId=103563&docType=1




모든 데이터는 서버 측에서 결합되고, 최종적으로 처리된 문자열이 클라이언트에 반환됩니다.
생성된 표준 문자열이 제공됩니다:

partner="2088101568358171"&seller_id="xxx@alipay.com"&out_trade_no="0819145412-6177"&subject="Test"&body="Test Test" &total_fee= "0.01"¬ify_url="http://notify.msp.hk/notify.htm"&service="mobile.securitypay.pay"&paid_type="1"&_input_charset="utf-8"&it_b_pay="30m"&sign =" lBBK%2F0w5LOajrMrji7DUgEqNjIhQbidR13GovA5r3TgIbNqv231yC1NksLdw%2Ba3JnfHXoXuet6XNNHtn7VE%2BeCoRO1O%2BR1KugLrQEZMtG5jmJIe2pbjm%2F3kb%2FuGkpG%2 YI51%2BhA3YBbvZHVQBYveBqK%2Bh8mUyb7GM1HxWs9k4%3D"&sign_type="RSA"

ThinkPHP5.0은 Alipay 모바일 결제 인터페이스 클래스를 통합합니다.ThinkPHP5.0은 Alipay 모바일 결제 인터페이스 클래스를 통합합니다.ThinkPHP5.0은 Alipay 모바일 결제 인터페이스 클래스를 통합합니다.ThinkPHP5.0은 Alipay 모바일 결제 인터페이스 클래스를 통합합니다.

코드 부분: //Alipay 결제<br> function alipay_before(){<br> $mid = $this->is_login();<br> require_once EXTEND_PATH.'Alipay/alipaycore.php'; 🎜> require_once EXTEND_PATH.'Alipay/alipayrsa.php';<br> $order_id = input("request.order_id");<br> if($order_id == 0){<br> ajaxmsg ('불법 데이터' 0 ); 요청<br> $out_trade_no = $order_info['order_sn'];<br> $total_fee = $order_info['total_price'] + $order_info['trans_price'] //결제 금액<br> $body = ' 주문 결제 '; // 상품 상세 <br> $alipay_config = Config::get('alipay_config');<br> //요청할 매개변수 배열을 구성합니다. 변경이 필요하지 않습니다. <br> $parameter = array(<br> 'partner' = & gt; $ alipay_config ['partner'], // 협력자 ID id <br> 'seller_id' = & gt; $ alipay_config ['seller_id'], <br> 'Out_trad e_no'= & gt; $ OUT_TRADE_NO, // 가맹점 전용 주문번호 '제목' = & gt; '주문결제', // 상품명 <br> 'body' = & gt $ body, // 상품상세정보 <br> 'total_fee' = & gt; I> 'notify_url' = & gt; $ alipay_config ['notify_url'], // 서버 비동기 알림 페이지 경로 <br> 'service' = & gt; // 인터페이스 이름 ' Payment_type ' =>$alipay_config['결제_유형'],//결제 유형<br>          '_input_charset'=>$alipay_config['input_charset'],///매개변수 인코딩 문자 집합<br>                      ​​​​ //"매개변수 = 매개변수 값" 패턴에 따라 "&" 문자를 사용하여 우편으로 받은 배열의 모든 요소를 ​​문자열로 연결합니다. <br>          $data = createLinkstring($parameter); 프로젝트 디렉토리 아래의 log 폴더에 있는 log.txt. <br> logResult($data);<br><br> //서명할 문자열을 개인키로 서명하고 urlencode를 수행합니다. 참고: Alipay를 요청할 때 urlencode를 한 번만 수행하면 됩니다.<br> $rsa_sign = urlencode( rsaSign($data, $alipay_config['private_key']));<br><br> //서명할 문자열 뒤에 서명된 서명과 서명 유형 sign_type을 연결합니다. <br> $data = $data.'&sign='.'"'.$rsa_sign.'"'.'&sign_type='.'"'.$alipay_config['sign_type'].'"';<br><br>               //클라이언트로 돌아가서, 개인 키에 해당하는 공개 키를 사용하여 클라이언트에서 서명 확인을 수행하여 타인에게 전송되지 않았는지 확인하는 것이 좋습니다. <br>           //echo $data;<br>         $list['form'] = $data; <br> //Alipay 결제 알림<br> 공개 함수 alipay_notify_url()<br> {<br> $alipay_config = Config ::get('alipay_config'); //알림 확인 결과 계산 $alipayNotify = new Alipaynotify($alipay_config);<br> If($alipayNotify->getResponse($_POST['notify_id') ]))//성공적으로 판단한 후 getResponse 메소드를 사용하여 Alipay에서 보낸 비동기 알림인지 여부를 확인합니다. <br> {<f> if ($ alipaynotify-& gt; getSignveryFy ($ _ post, $ _post ['sign'])) {// Alipay 키 검사 사용 <br> <br> // — 귀하의 의견에 따라 주십시오 당신에 따르면 프로그램을 작성하는 비즈니스 로직 (다음 코드는 참고용입니다) - <br> // Alipay 알림을 받고 매개변수를 반환합니다. = $_POST['out_trade_no'];<br><br> //Alipay 거래 번호 Status <br> $trade_status = $ _Post ['trade_status']; <br> <br> if ($ _ post ['trade_status'] == 'trade_finished') {<br> // 여부 확인 가맹점 홈페이지에서 주문이 처리되었습니다 <br> // 아직 진행하지 않으셨다면, 주문번호(out_trade_no)에 따라 가맹점 홈페이지 주문시스템에서 주문내역을 확인 후 사업을 진행하실 수 있습니다. 판매자 프로그램 <br> // 업무 절차<br>                                                                                      // 참고:// 환불 날짜가 환불 기간을 초과한 후(예: 환불 환불) Alipay 시스템에서 거래 상태 알림을 보냅니다. <br> // 일관성을 위해 요청 시 Total_fee, Seller_ID 및 알림을 확인하세요. <br>                                                                                                          ~ > | ::name("주문")->where("id={$order_info['id']}")->저장(<br>                                                                   ~           t;2,<br>                               "pay_sn"=>$trade_no ,<br>                              'pay_time'=>time(),<br>                            'stauts'=>1<br>               > '성공' "; //수정하거나 삭제하지 마세요 <br>} <br> Else // 서명 실패 확인 <br> {<br> Echo "SIGN FAIL"; <br>} <br>} <br> Else / / Alipay의 알림 실패 여부 확인 {<br> Echo "Response Fail" <br>} <br>} <br> 주로 <br> 깨우기 위해 주문 프로세스에 대한 표준을 작성합니다. Alipay 클라이언트와 깨어나는 Alipay가 첫 번째 단계에서 프로토콜, 계좌 번호 및 핵심 방법이 모두 일치한다고 설명합니다. <br>두 번째 단계는 결제가 성공한 후 Alipay의 알림을 수락하고 서버의 데이터베이스에 대한 세부정보를 작성하는 것입니다. <br>주문 및 사용자 자금 계정이 반복적으로 업데이트되는 것을 방지합니다. <br><br>코드를 붙여넣었습니다. 확장 디렉터리에 직접 통합한 소스 코드 패키지를 넣고 컨트롤러에서 직접 호출하면 됩니다. <br>구성 파일을 올바르게 작성했는지, 특히 공개 키와 개인 키를 생성하는 방법을 반드시 작성하고 Alipay 플랫폼 센터에 업로드하세요. <br><br>기술교류단 : <strong>495654168</strong><br></f>

ThinkPHP5.0은 Alipay 모바일 결제 인터페이스 클래스를 통합합니다. Alipay.zip ( 140.02 KB 다운로드: 24회)

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