php 는 은 련 비 즈 니스 공중 번호+서비스 창 결제 의 예제 코드 를 실현 합 니 다.
5591 단어 php은 련 상무 공중 번호서비스 창 결제
1:인터페이스 주소:
테스트 인터페이스 주소:https://qr-test2.chinaums.com/netpay-portal/qmf/webPay.do?
정식 인터페이스 주소:https://qr.chinaums.com/netpay-portal/qmf/webPay.do?
2.주요 매개 변수 설명:
인 터 페 이 스 는 get 매개 변 수 를 인터페이스 주소 에 직접 넣 은 후 이 인 터 페 이 스 는 브 라 우 저 에서 인터페이스 로 직접 이동 합 니 다.
1:instMid
업무 유형,직접 입력:YEDANDEFULT
2:merOrderId
상점 주문 번호
3:mid
은 련 비 즈 니스 의 공중 번호+서비스 창 결제 제품 의 상점 번호
4:msgSrc
뉴스 출처:WWW.TEST.COM
5:msg Type(이 매개 변수 가 중요 한 지,주로 무엇 을 사용 하여 지불 하 는 지 구분 합 니 다)
메시지 유형:위 챗 결제 사용:WXPay.jsPay,알 리 페 이 결제 사용:trade.jsPay,은 련 결제 사용:qmf.jspay 또는 qmf.webPay
6:orderDesc
주문 설명
7:requestTimestamp
메시지 요청 시간:yyy-MM-dd HH:mm:ss,예 를 들 어 2019-10-01 12:12:12
8:tid
은 련 비 즈 니스 의 공중 번호+서비스 창 결제 제품 의 단말기 번호
9:totalAmount
총 금액 을 지불 하고 단 위 는 나 누 어 진다.
10:notifyUrl
지불 결과 알림 주소
11:returnUrl
웹 페이지 이동 주소
12:sign
서명,위의 매개 변 수 를 a-z 순서에 따라 정렬 하고 정렬 이 끝 난 후에&문자 로 연결 합 니 다.연결 한 후에 전의 문자 가 존재 하면 전의 문 자 를 제거 하고 md5 암호 화 를 통 해 서명 을 가 져 옵 니 다.
3.은 련 비 즈 니스 의 공중 번호+서비스 창 결제 인 스 턴 스:
//
$mdKey = 'fcAmtnx7MwismjWNhNKdHC44mNXtnEQeJkRrhKJwyrW2ysRR';
$mid = '898340149000005';
$tid = '88880001';
$time = time();
$requestTimestamp = date('Y-m-d H:i:s',$time);
$merOrderId = date('YmdHis') . mt_rand(100000, 999999);
$msgType = 'qmf.jspay';// :WXPay.jsPay, :trade.jsPay, :qmf.jspay(qmf.webPay)
$data = [
'instMid' => 'YUEDANDEFAULT',//
'merOrderId' => $merOrderId,//
'mid' => $mid,//
'msgSrc' => 'WWW.TEST.COM',//
'msgType' => $msgType,//
'orderDesc' => ' ',//
'requestTimestamp' => $requestTimestamp,//
'tid' => $tid,//
'totalAmount' => '1',//
'notifyUrl' => 'http://d9vhs4.natappfree.cc',// , post 。 status
'returnUrl' => 'http://d9vhs4.natappfree.cc',// , get 。 status
];
ksort($data);
reset($data);
$options = '';
foreach ($data as $key => $value) {
$options .= $key . '=' . $value .'&';
}
$options = rtrim($options, '&');
// ,
if(get_magic_quotes_gpc()){
$options = stripslashes($options);
}
$sign = md5($options . $mdKey);
$options .= '&sign=' . $sign;
$url = 'https://qr-test2.chinaums.com/netpay-portal/webpay/pay.do?'.$options;
// url
지불 이 끝 난 후 돌아 오 는 status 매개 변수 값:환불
지불 이 있 는 이상 환불 이 있 습 니 다.환불 은 어떻게 진행 합 니까?
1:환불 인터페이스
테스트 인터페이스:https://qr-test2.chinaums.com/netpay-route-server/api/
정식 인터페이스:https://qr.chinaums.com/netpay-route-server/api/
2:주요 매개 변수 설명
(1)msgSrc
메시지 출처,예:WWW.TEST.COM
(2)msgType
메시지 출처,직접 입력:refund
(3)requestTimestamp
메시지 요청 시간,형식 yyy-MM-dd HH:mm:ss,예:2019-10-01 12:12:12
(4)merOrderId
상점 주문 번호
(5)instMid
비 즈 니스 유형,YUEDANDEFULT 직접 입력
(6)mid
은 련 비 즈 니스 의 공중 번호+서비스 창 결제 제품 의 상점 번호
(7)tid
은 련 비 즈 니스 의 공중 번호+서비스 창 결제 제품 의 단말기 번호
(8)refundAmount
환불 금액
(9)refundDesc
환불 설명
(10)sign
서명 하 다.
실현 방식 은 지불 중 서명 과 같 습 니 다.
5.환불 사례 지불
//
$mdKey = 'fcAmtnx7MwismjWNhNKdHC44mNXtnEQeJkRrhKJwyrW2ysRR';
$mid = '898340149000005';
$tid = '88880001';
$requestTimestamp = date('Y-m-d H:i:s',time());
$data = [
'msgSrc' => 'WWW.TEST.COM',//
'msgType' => 'refund',//
'requestTimestamp' => $requestTimestamp,//
'merOrderId' => $merOrderId,//
'instMid' => $params['instMid'],//
'mid' => $mid,//
'tid' => $tid,//
'refundAmount' => 1,//
'refundDesc' => ' ',//
];
ksort($data);
reset($data);
$options = '';
foreach ($data as $key => $value) {
$options .= $key . '=' . $value .'&';
}
$options = rtrim($options, '&');
// ,
if(get_magic_quotes_gpc()){
$options = stripslashes($options);
}
//
$sign = md5($options . $mdKey);
$data['sign'] = $sign;
$client = new Client();
$response = $client->createRequest()
->setMethod('POST')
->setUrl('https://qr-test2.chinaums.com/netpay-route-server/api/')
->setData($data)
->setHeaders([
'Content-Type'=>'application/json'
])
->setFormat(Client::FORMAT_JSON) //
->send();
if ($response->isOk) {
$data = $response->data;
if ($data['refundStatus'] == 'SUCCESS') {
//
return true;
}
}
return false;
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.