IOS WeChat 결제 개발 단계에 대한 자세한 설명
서문: 다음은 WeChat 결제 개발 과정을 사진과 텍스트로 자세히 소개합니다. 제 에세이 과정을 따라가면 코드를 살펴볼 수 있습니다. WeChat을 통해 결제하는 방법도 배웠습니다. 그리고 면접에서도 결제 관련 자주 묻는 질문이 있습니다.
텍스트:
1. 먼저 WeChat 결제를 사용하기 전에 개발자가 알아야 할 사항이 있습니다. 아래 링크를 엽니다. :
pay.weixin.qq.com/wiki/doc/api/app.php?chapter=3_1
위챗 결제 가맹점 개발 페이지는 다음과 같습니다. 플랫폼 문서를 참조하면 WeChat SDK 결제 기능을 개발하고 사용할 때 문제가 발생하면 여기에서 관련 정보를 찾을 수도 있습니다.
그런 다음 독자들에게 이 개발 문서에서 "결제 계정>결제 계정"을 클릭한 다음 현재 페이지를 맨 아래로 스크롤하여 APPID를 확인하라고 안내합니다:
참고: 이 APPID는 개발 중 WeChat 결제를 사용하는 데 필요하며, 이 APPID는 판매자가 WeChat 결제 플랫폼에 등록하고, 300위안을 지출하고, 많은 관련 중요 정보를 입력하고, APPID를 취득하기 위해서는 사업자등록증 업로드 및 기타 필요한 절차가 필요합니다.
상용 앱 애플리케이션의 경우, 고객이 WeChat 앱을 사용하여 구매를 하면 프로그램이 이 고유한 APPID를 기반으로 가맹점을 찾아 소비자의 금액을 가맹점의 계좌로 이체합니다.
개발자를 위한 이점: WeChat 결제 플랫폼은 개발자를 위해 테스트용 데모를 제공하고 데모 소스 코드에서도 유용한 기능을 제공합니다. 테스트 코드의. 이러한 방식으로 개발자는 APPID를 구매하기 위해 300위안을 지출할 필요가 없습니다.
2. 독자들이 본 위챗 SDK의 사용과정을 좀 더 편리하고 구체적으로 학습할 수 있도록 일반 프로젝트를 생성하고, 그 위에 직접 위챗 SDK를 사용해 위챗 결제를 완료하겠습니다.
pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1
SDK를 클릭하여 다운로드하고 데모도 다운로드할 수 있습니다. 소스 코드를 참조로 사용하는 방법을 배우거나 나중에 추가 탐색을 위해 저장할 수 있습니다.
새 프로젝트에서는 다운로드한 SDK를 드래그합니다. 다운로드한 SDK 파일에 5개의 파일이 있습니다. 원하는 대로 프로젝트에 read_me.txt를 보관할 필요는 없지만 내부의 프롬프트 정보를 열고 읽을 수 있습니다.
먼저 read_me.txt 파일을 열어보겠습니다. 실제로 최근 여러 버전의 업데이트에서 해결된 문제와 SDK 사용 시 주의사항에 대해 설명하고 있습니다. 따라서 이 read_me 파일은 매우 중요합니다.
3. 자, read_me.txt에 따라 필요한 과정을 진행하겠습니다.
Xcode 7 버전 이후에는 프레임워크와 링크 라이브러리를 가져와야 합니다. :
XCode 7 이전이라면 Foundation.framework, UIKit.framework 및 기타 프레임워크를 수동으로 가져와야 할 수도 있습니다.
그런 다음 read_me.txt의 프롬프트에 따라 plist 코드를 info.plist 파일에 복사합니다.
1 <key>LSApplicationQueriesSchemes</key>2 <array>3 <string>weixin</string>4 </array>5 <key>NSAppTransportSecurity</key>6 <dict>7 <key>NSAllowsArbitraryLoads</key>8 <true/>9 </dict>
그런 다음 info.plist를 추가합니다. 파일을 속성 목록 표시 보기로 전환하면 두 가지 항목이 더 표시됩니다.
iOS9에서는 제한이 있으므로 XCode7 이후 개발 중에 앱 전송 보안 설정을 수동으로 추가해야 합니다. 기본적으로 http 프로토콜에 액세스합니다.
LSApplicationQueriesSchemes는 현재 애플리케이션이 WeChat의 관련 기능(공유, 수집, 결제, 로그인 등)을 사용할 수 있도록 사용할 URL 체계를 화이트리스트에 추가할 수 있습니다.
WeChat 결제에 사용되는 APPID를 URL Schemes [English skiːm]으로 설정하는 마지막 작업이 있습니다.
4. 이제 코드 입력을 시작할 수 있습니다.
WeChat 결제 플랫폼에서 다운로드한 데모 프로그램을 열고 소스 코드를 찾을 수 있습니다. AppDelegate 테스트용 APPID 찾기:
然后回到自己建立的工程中,写下了微信支付的流程:
既然要注册微信,那么我们先到微信SDK的头文件中查看一下,发现只提供了两个注册方法,注释也写的很清楚:
然后我们导入这个头文件之后,直接根据已经有的APPID进行注册:
好,其实步骤:1、导入微信支付SDK,注册微信支付。然后2、设置微信APPID为URL Schemes前面已经做好了。
然后我们需要进行3、发起支付,调其微信支付,在这之前,我们直接看看微信官方提供给我们的Demo:
最后我们找到了Demo中完整的可以直接用的这部分发起微信支付的源码:
将这段直接拷贝到我的工程中,有那么一点经验的开发者就会注意到一些,比如Demo源码使用了MRC的autorelease,你可以手动去掉,类方法可以换成实例方法,根据你的实际项目开发需求:
1 - (NSString *)jumpToBizPay { 2 3 //============================================================ 4 // V3&V4支付流程实现 5 // 注意:参数配置请查看服务器端Demo 6 // 更新时间:2015年11月20日 7 //============================================================ 8 NSString *urlString = @"http://wxpay.weixin.qq.com/pub_v2/app/app_pay.php?plat=ios"; 9 //解析服务端返回json数据10 NSError *error;11 //加载一个NSURL对象12 NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];13 //将请求的url数据放到NSData对象中14 NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];15 if ( response != nil) {16 NSMutableDictionary *dict = NULL;17 //IOS5自带解析类NSJSONSerialization从response中解析出数据放到字典中18 dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];19 20 NSLog(@"url:%@",urlString);21 if(dict != nil){22 NSMutableString *retcode = [dict objectForKey:@"retcode"];23 if (retcode.intValue == 0){24 NSMutableString *stamp = [dict objectForKey:@"timestamp"];25 26 //调起微信支付27 PayReq* req = [[PayReq alloc] init];28 req.partnerId = [dict objectForKey:@"partnerid"];29 req.prepayId = [dict objectForKey:@"prepayid"];30 req.nonceStr = [dict objectForKey:@"noncestr"];31 req.timeStamp = stamp.intValue;32 req.package = [dict objectForKey:@"package"];33 req.sign = [dict objectForKey:@"sign"];34 [WXApi sendReq:req];35 //日志输出36 NSLog(@"appid=%@\npartid=%@\nprepayid=%@\nnoncestr=%@\ntimestamp=%ld\npackage=%@\nsign=%@",[dict objectForKey:@"appid"],req.partnerId,req.prepayId,req.nonceStr,(long)req.timeStamp,req.package,req.sign );37 return @"";38 }else{39 return [dict objectForKey:@"retmsg"];40 }41 }else{42 return @"服务器返回错误,未获取到json对象";43 }44 }else{45 return @"服务器返回错误";46 }47 }
哦,对了,还有一个很简单但很必要的操作忘记展示出来了:
进一步,我们在微信的SDK源码头文件中,可以找到两个很有用的方法,你也可以在微信支付平台打开开发者文档找到这两个方法的介绍:
然后我将其运用在我的工程中
好,就这样,步骤:3、发起微信支付,调起微信 到这里就完成了。
最后还需要做的就是,处理返回微信支付返回信息,使用了微信知否功能,不管是支付成功和失败,甚至还是用户自己取消支付,都会需要返回当前应用,并返回相关的信息。
这里就需要用到微信SDK的处理返回信息的代理协议和代理方法了:
在微信SDK的头文件中,我们可以找到protocol协议:
好,我们也官方Demo中看看它是如何使用的:
而我们只需要使用下面红色框框起来的部分代码,直接拷贝拿来使用:
回到我的简易工程中,直接粘贴在里面用:
那么这里面的返回信息中主要就有两个东西:resp.errCode错误码 和 resp.errStr错误原因,这两个东西在实际开发中经常遇到,所以也是面试会问到的一个细节。
接着你可以通过点进连接:pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_5 可以在官方开发文档中找到:
然后,根据实际开发需求,我们可能还需要回传微信app的相关信息:
在当前AppDelegate.m文件添加一个代理方法:
5. 이제 전체 WeChat 결제 사용 프로세스가 완료되었습니다. 시뮬레이터에서는 WeChat을 설치하기 어렵기 때문에 이제 실제 기기를 사용하여 테스트할 수 있습니다.
전재할 경우 출처를 명시하세요: www.cnblogs.com/goodboy-heyang/p/5255818.html, 노동.
마지막으로 마스터 github에도 WeChat 설명과 소스 코드가 있다는 것을 우연히 발견했습니다.
github.com/renzifeng/WXPay
하지만 여기서도 배울 수 있습니다. , 없으신 분들을 위해 99달러에 개발자 계정을 구입했습니다. GitHub에서 다운로드한 소스 코드는 실제 머신에서 직접 테스트할 수 없습니다. 그 이유는 그 당시 XCode가 비교적 일찍 생성되었기 때문입니다. 개발자 계정이 없으면 실제 머신을 지원하지 않습니다.
위 내용은 IOS WeChat 결제 개발 단계에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

단서를 제출해주신 네티즌 Ji Yinkesi, xxx_x, 튀긴 토마토, Terrence, 매운 치킨 드럼스틱에게 감사드립니다! 7월 27일 뉴스에 따르면 Apple은 오늘 개발자를 위한 iOS/iPadOS 18 베타 4 업데이트를 다시 출시했습니다. 내부 버전 번호가 22A5316j에서 22A5316k로 업그레이드되었습니다. 현재 두 베타 4 버전 업데이트의 차이점은 불분명합니다. 등록된 개발자는 "설정" 앱을 열고 "소프트웨어 업데이트" 섹션에 들어가서 "베타 업데이트" 옵션을 클릭한 다음 iOS18/iPadOS18 개발자 베타 설정을 전환하여 베타 버전을 선택할 수 있습니다. 베타 버전을 다운로드하고 설치하려면 개발자 계정과 연결된 Apple ID가 필요합니다. 7월 24일 iO에 보고됨

업데이트: Saunders Tech는 EU 외부의 iPad에 Fortnite 및 Epic Games Store를 설치하는 방법을 설명하는 튜토리얼을 YouTube 채널(아래에 포함된 동영상)에 업로드했습니다. 그러나 프로세스에는 특정 베타 버전의 iO가 필요할 뿐만 아니라

7월 31일 뉴스에 따르면, Apple은 어제(30일) 보도 자료를 통해 Swift 프로그래밍 언어에서 동형 암호화를 가능하게 하는 새로운 오픈 소스 Swift 패키지(swift-homomorphic-encryption)의 출시를 발표했습니다. 참고: HE(동형암호)는 암호문의 동형연산 특성을 만족하는 암호화 알고리즘을 의미합니다. 즉, 데이터를 동형암호화한 후 암호문에 대해 특정 계산을 수행하고, 얻은 암호문 계산 결과를 동시에 처리합니다. 상태 암호 해독 후의 일반 텍스트는 일반 텍스트 데이터에 대해 동일한 계산을 직접 수행하여 데이터의 "보이지 않음"을 달성하는 것과 같습니다. 동형암호 기술은 암호화되지 않은 기본 데이터를 연산 프로세스에 유출하지 않고 암호화된 데이터를 계산할 수 있습니다.

네티즌들 덕분에 매운 닭다리 버거, 소프트 미디어 새 친구 2092483, 필기 과거, DingHao, Xiaoxing_14, Wowotou Eat Big Kou, Feiying Q, 소프트 미디어 새 친구 2168428, Slades, Aaron212, Happy Little Hedgehog, Little Earl, Clues for the little 생선을 먹는 우유고양이! [업그레이드 튜토리얼로 바로 이동하려면 여기를 클릭하세요] 7월 24일 뉴스에 따르면 Apple은 오늘 iOS/iPadOS18 개발자 프리뷰 버전 Beta4 업데이트(내부 버전 번호: 22A5316j)를 iPhone 및 iPad 사용자에게 푸시했습니다. 마지막 릴리스. Carplay 배경화면 Apple은 밝은 모드와 어두운 모드를 포함하는 배경화면을 CarPlay에 추가했습니다. 배경화면 스타일은 iPhone과 유사합니다.

Apple의 최신 iOS18, iPadOS18 및 macOS Sequoia 시스템 릴리스에는 사진 애플리케이션에 중요한 기능이 추가되었습니다. 이 기능은 사용자가 다양한 이유로 손실되거나 손상된 사진과 비디오를 쉽게 복구할 수 있도록 설계되었습니다. 새로운 기능에는 사진 앱의 도구 섹션에 '복구됨'이라는 앨범이 도입되었습니다. 이 앨범은 사용자가 기기에 사진 라이브러리에 포함되지 않은 사진이나 비디오를 가지고 있을 때 자동으로 나타납니다. "복구된" 앨범의 출현은 데이터베이스 손상으로 인해 손실된 사진과 비디오, 사진 라이브러리에 올바르게 저장되지 않은 카메라 응용 프로그램 또는 사진 라이브러리를 관리하는 타사 응용 프로그램에 대한 솔루션을 제공합니다. 사용자는 몇 가지 간단한 단계만 거치면 됩니다.

방금 끝난 유러피언컵 결승전에서 응원하는 팀을 열렬히 응원하셨나요? 다가오는 파리올림픽에서도 각 종목의 하이라이트 순간을 완벽하게 포착할 수 있기를 기대하고 계시나요? 그 중에서도 고품질의 시청 장비를 갖추는 것이 중요합니다. Haqu K2 프로젝터는 높은 가성비와 탁월한 성능으로 인해 게임을 시청할 때 좋은 선택이 될 자격이 있습니다. 높은 밝기와 선명한 화질을 제공할 뿐만 아니라 몰입도 높은 시청 경험을 제공하여 게임의 모든 흥미진진한 순간을 마치 눈앞에 있는 것처럼 느끼게 합니다. 이미 그런 장치에 매력을 느끼셨나요? 올림픽의 열정과 꿈을 집에서도 즐길 수 있을 것입니다. Haqu K2의 가장 친밀한 하이라이트는 210° 슈퍼 각도 조정으로, 천장이나 벽에서 영화를 편리하게 볼 수 있습니다.

단서를 제출해주신 네티즌 Mo 6_, Uh-huh-huh-huh, 고양이 먹는 젓갈, Yaochi Qinglian, Spicy Chicken Leg Burger, Siyan, Tim Apple에게 감사드립니다! 30일 뉴스에 따르면, 애플은 오늘 지난 퍼블릭 베타 버전 이후 2주 만에 아이폰과 아이패드 사용자를 위한 iOS18과 아이패드OS18 퍼블릭 베타 버전 베타2 버전 업데이트를 출시했다. 이번 공개 베타 버전의 업데이트 내용은 새로운 CarPlay 배경화면, 결합 설정 옵션, 향상된 카메라 제어, 다크/라이트 모드 아이콘 등이 포함된 개발자 프리뷰 버전 Beta4와 유사합니다. 자세한 내용은 이전 세부 보고서를 참조하세요. ##iOS/iPadOS/watchOS/macOS 개발 버전과 공개 베타 버전은 어떻게 업그레이드하나요? iOS/iPadOS 업그레이드 iOS/iPa

힌트를 제출해주신 네티즌 Ji Yinkesi님께 감사드립니다! [업그레이드 튜토리얼로 바로 이동하려면 여기를 클릭하세요] 7월 17일 소식에 따르면 Apple은 오늘 iOS/iPadOS17.6 개발자 프리뷰 버전 Beta4 업데이트(내부 버전 번호: 21G5075a)를 iPhone 및 iPad 사용자에게 푸시했습니다. 지난 7일. iOS 테스트 주기 및 업데이트 Apple은 일반적으로 매년 여름 두 번의 별도 테스트 주기를 실행합니다. 주요 가을 업데이트: 가을에 출시되는 주요 iOS 업데이트입니다. 전년도 업데이트 개정판: 일반적으로 전년도 업데이트의 마지막 개정판입니다. iOS18 및 iOS17.6 베타 iPhone 사용자는 현재 다음 중에서 선택할 수 있습니다. iOS18 개발자 베타 iOS17.6 개발자 베타 iOS1
