위 챗 결제 개발 IOS 튜 토리 얼 사례
11774 단어 위 챗 페 이 먼 트IOS
본문:
1.먼저 위 챗 결 제 를 시작 하기 전에 개발 자가 알 아야 할 것 이 있 습 니 다.아래 링크 를 엽 니 다.
https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=3_1
그 다음 에 아래 페이지 를 볼 수 있 습 니 다.이것 이 바로 위 챗 결제 업 체 플랫폼 의 개발 문서 입 니 다.많은 것 을 조회 하고 이해 할 수 있 습 니 다.위 챗 SDK 결제 기능 을 개발 할 때 문제 가 발생 하면 여기 서 관련 주의사항 정 보 를 찾 을 수 있 습 니 다.
그 다음 에 독자 에 게 이 개발 문서 에 있 는'결제 계 정>결제 계 정'을 클릭 한 다음 에 현재 페이지 를 맨 아래로 스크롤 하면 APPID 에 관 한 것 을 볼 수 있 습 니 다.
주의:이 APPID 는 개발 과정 에서 위 챗 결 제 를 사용 할 때 반드시 사용 해 야 하 는 물건 입 니 다.이 APPID 는 업 체 가 해당 위 챗 결제 플랫폼 에 등록 하고 300 위안 을 써 서 관련 중요 정 보 를 많이 작성 하고 영업 허가증 등 필요 한 절 차 를 밟 아야 만 얻 을 수 있 는 APPID 입 니 다.
한편,상업 앱 앱 은 고객 이 앱 위 챗 을 사용 하여 소비 할 때 프로그램 은 이 유일한 APPID 에 따라 업 체 를 찾 은 다음 에 소비자 의 금액 수 를 업 체 의 계좌 로 전달한다.
개발 자 에 대한 복지:개발 자 에 게 위 챗 결제 플랫폼 은 테스트 하 는 데 모 를 제 공 했 고 데모 소스 코드 에서 테스트 코드 에 유용 한 APPID 를 제공 했다.이렇게 해서 개발 자 는 300 위안 을 써 서 APPID 를 살 필요 성 을 제거 했다.
2.독자 가 더욱 편리 하고 목적 성 있 게 이 위 챗 SDK 의 사용 과정 을 학습 할 수 있 도록 저 는 일반적인 프로젝트 를 설립 하여 위 에서 위 챗 SDK 를 간단하게 사용 하고 위 챗 결 제 를 완성 합 니 다.
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1
클릭 한 후에 SDK 를 다운로드 해 야 합 니 다.또한 Demo 를 다운로드 해 야 합 니 다.원본 코드 의 사용 을 참고 할 수도 있 고 앞으로 더 많은 연 구 를 할 수도 있 습 니 다.
새 프로젝트 에서 우 리 는 다운로드 한 SDK 를 끌 어 들 였 습 니 다.다운로드 한 SDK 파일 에는 다섯 개의 파일 이 있 습 니 다.그 readme.txt 는 프로젝트 에 남 겨 두 지 않 아 도 됩 니 다.마음 에 드 시 는 대로 하 세 요.하지만 안에 있 는 힌트 정 보 를 읽 을 수 있 습 니 다.
우리 먼저 readme.txt 파일 은 사실 최근 몇 가지 버 전의 업데이트 에서 해 결 된 문제 와 이 SDK 를 사용 하 는 주의사항,빨간색 테두리 에 있 는 부분 은 제 가 뒤의 작업 에서 모두 사용 할 것 입 니 다.SO 라 는 read미 파일 중요 해.
3.좋아,우 리 는 read 에 따라me.txt 는 반드시 해 야 할 절 차 를 만들어 보 세 요.
Xcode 7 버 전 이후 프레임 워 크 와 링크 라 이브 러 리 를 가 져 와 야 합 니 다.
XCode 7 이전 이 라면 Foundation.framework,UIKit.framework 등 프레임 워 크 를 수 동 으로 가 져 와 야 할 것 으로 보인다.
이어서 readme.txt 의 힌트,우 리 는 그 plist 코드 를 info.plist 파일 에 복사 합 니 다.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>weixin</string>
</array>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
그리고 info.plist 파일 을 Property list 로 전환 하여 보 기 를 표시 하면 두 가지 가 더 보 입 니 다.App Transport Security Settings 는 XCode 7 이후 개발 중 수 동 으로 설정 을 추가 해 야 합 니 다.iOS 9 는 기본적으로 http 프로 토 콜 의 접근 을 제한 하기 때 문 입 니 다.
LSApplicationQueriesSchemes 는 사용 할 URL Schemes 를 화이트 리스트 로 지정 할 수 있 습 니 다.그러면 현재 응용 프로그램 은 위 챗 의 관련 능력(공유,수집,지불,로그 인 등)을 사용 할 수 있 습 니 다.
마지막 으로 또 하나의 조작 이 있 습 니 다.위 챗 결제 에 사용 할 APPID 를 URL Schemes[영 스키]로 설정 합 니 다.ːm]。
4.자,코드 를 두 드 려 도 됩 니 다.
저 희 는 위 챗 결제 플랫폼 에서 다운로드 한 데모 프로그램 을 열 수 있 습 니 다.AppDelegate 의 소스 코드 에서 테스트 용 APPID 를 찾 을 수 있 습 니 다.
그리고 자신 이 세운 공사 로 돌아 가 위 챗 결제 절 차 를 적 었 습 니 다.
위 챗 을 등록 하려 면 먼저 위 챗 SDK 의 헤더 파일 에서 확인 해 보 니 두 가지 등록 방법 만 제공 되 었 고 주석 도 잘 쓰 여 있 습 니 다.
그리고 우 리 는 이 헤더 파일 을 가 져 온 후에 이미 있 는 APPID 에 따라 직접 등록 합 니 다.
자,사실 절차:1.위 챗 결제 SDK 를 가 져 오고 위 챗 결 제 를 등록 합 니 다.그리고 2.위 챗 APPID 를 URL Schemes 앞 에 설 치 했 습 니 다.
그리고 우 리 는 3.지불 을 시작 하고 위 챗 결 제 를 조정 해 야 합 니 다.그 전에 우 리 는 위 챗 공식 이 우리 에 게 제공 한 Demo 를 직접 보 겠 습 니 다.
마지막 으로 우 리 는 데모 에서 직접 사용 할 수 있 는 이 부분 에서 위 챗 결 제 를 시작 하 는 소스 코드 를 찾 았 다.
이 부분 을 제 프로젝트 에 직접 복사 하면 경험 이 있 는 개발 자 들 이 알 게 될 것 입 니 다.예 를 들 어 Demo 소스 코드 는 MRC 의 autorelease 를 사 용 했 습 니 다.수 동 으로 제거 할 수 있 습 니 다.이런 방법 은 사례 방법 으로 바 꿀 수 있 고 실제 프로젝트 의 개발 수요 에 따라:
- (NSString *)jumpToBizPay {
//============================================================
// V3&V4
// : Demo
// :2015 11 20
//============================================================
NSString *urlString = @"http://wxpay.weixin.qq.com/pub_v2/app/app_pay.php?plat=ios";
// json
NSError *error;
// NSURL
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
// url NSData
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
if ( response != nil) {
NSMutableDictionary *dict = NULL;
//IOS5 NSJSONSerialization response
dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];
NSLog(@"url:%@",urlString);
if(dict != nil){
NSMutableString *retcode = [dict objectForKey:@"retcode"];
if (retcode.intValue == 0){
NSMutableString *stamp = [dict objectForKey:@"timestamp"];
//
PayReq* req = [[PayReq alloc] init];
req.partnerId = [dict objectForKey:@"partnerid"];
req.prepayId = [dict objectForKey:@"prepayid"];
req.nonceStr = [dict objectForKey:@"noncestr"];
req.timeStamp = stamp.intValue;
req.package = [dict objectForKey:@"package"];
req.sign = [dict objectForKey:@"sign"];
[WXApi sendReq:req];
//
NSLog(@"appid=%@
partid=%@
prepayid=%@
noncestr=%@
timestamp=%ld
package=%@
sign=%@",[dict objectForKey:@"appid"],req.partnerId,req.prepayId,req.nonceStr,(long)req.timeStamp,req.package,req.sign );
return @"";
}else{
return [dict objectForKey:@"retmsg"];
}
}else{
return @" , json ";
}
}else{
return @" ";
}
}
아,맞다.또 하나의 간단 하지만 필요 한 조작 이 보 여 주 는 것 을 잊 어 버 렸 다.더 나 아가 우 리 는 위 챗 의 SDK 소스 파일 에서 두 가지 유용 한 방법 을 찾 을 수 있 고 위 챗 결제 플랫폼 에서 개발 자 문 서 를 열 어 이 두 가지 방법 에 대한 소 개 를 찾 을 수 있 습 니 다.
그리고 나 서 나 는 그것 을 나의 공사 에 활용 했다.
자,이렇게 절차:3.위 챗 결 제 를 시작 하고 위 챗 을 여기 로 옮 기 면 됩 니 다.
마지막 으로 해 야 할 일 은 위 챗 결제 반환 정 보 를 처리 하고 위 챗 인지 기능 을 사용 하 는 것 이다.결제 성공 과 실패,심지어 사용자 가 스스로 결 제 를 취소 하 더 라 도 현재 응용 프로그램 으로 돌아 가 관련 정 보 를 되 돌려 야 한다.
위 챗 SDK 의 반환 정 보 를 처리 하 는 프 록 시 프로 토 콜 과 프 록 시 방법 이 필요 합 니 다.
위 챗 SDK 의 헤더 파일 에서 protocol 프로 토 콜 을 찾 을 수 있 습 니 다.
자,우리 도 공식 데모 에서 그것 이 어떻게 사용 되 는 지 봅 시다.
우 리 는 아래 의 빨간색 테두리 에 있 는 일부 코드 만 사용 하고 직접 복사 해서 사용 해 야 한다.
나의 간단 한 공사 로 돌아 가 직접 붙 여서 사용한다.
그러면 이 안의 반환 정보 에는 주로 두 가지 가 있 습 니 다.resp.errCode 오류 코드 와 resp.errStr 오류 원인 입 니 다.이 두 가 지 는 실제 개발 에서 자주 만 나 기 때문에 면접 에서 묻 는 세부 사항 입 니 다.
이 어 점 을 통 해 연결 할 수 있 습 니 다.https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_5 은 공식 개발 문서 에서 찾 을 수 있 습 니 다.
그 다음 에 실제 개발 수요 에 따라 저 희 는 위 챗 app 에 관 한 정 보 를 전달 해 야 할 수도 있 습 니 다.
현재 AppDelegate.m 파일 에 프 록 시 를 추가 합 니 다:
5.여기까지 하면 전체 위 챗 결제 의 사용 절 차 를 완 성 했 습 니 다.아래 는 실제 컴퓨터 로 테스트 할 수 있 습 니 다.시 뮬 레이 터 가 위 챗 을 설치 하기 어렵 기 때 문 입 니 다.
마지막 으로 무심코 발견 한 대신 github 에 도 위 챗 설명 과 소스 코드 가 있 으 니 여러분 도 배 울 수 있 습 니 다.
https://github.com/renzifeng/WXPay
다만,99 미 칼 을 사용 하지 않 고 개발 자 계 정 을 샀 습 니 다.이 github 에서 다운로드 한 소스 코드 는 실제 컴퓨터 로 테스트 할 수 없 을 것 입 니 다.그 이 유 는 위의 프로젝트 인 스 턴 스 가 만 든 시간 이 비교적 빠 르 기 때 문 입 니 다.그때 XCode 는 개발 자 계 정 이 없 을 때 실제 컴퓨터 테스트 를 지원 하지 않 았 기 때 문 입 니 다.
그리고 큰 소 가 쓴 위 챗 결제 블 로그 도 있 습 니 다.그리고 2016 년 1 월 20 일 에 썼 습 니 다.
http://www.cnblogs.com/jys509/p/5130990.html
이상 은 본문의 전체 내용 이 므 로 여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
위 챗 애플 릿 서비스 업 체 자바 버 전 결제WeixinUtil.java Pay.Util...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.