├── README.md
├── UML
├── WechatIMG10.jpeg
├── WechatIMG11.jpeg
├── WechatIMG12.jpeg
├── WechatIMG14.jpeg
├── WechatIMG15.jpeg
├── WechatIMG16.jpeg
├── WechatIMG18.jpeg
├── WechatIMG19.jpeg
├── iTools Screen Shot 2016-09-09 23.33.32.png
├── iTools Screen Shot 2016-09-09 23.33.59.png
└── iTools Screen Shot 2017-09-09 23.36.43.png
├── paySDKDemo.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ ├── jili.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
│ │ ├── niancheng.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
│ │ ├── qingshasu.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
│ │ └── tommy.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
└── xcuserdata
│ ├── jili.xcuserdatad
│ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ └── xcschemes
│ │ ├── paySDKDemo.xcscheme
│ │ └── xcschememanagement.plist
│ ├── niancheng.xcuserdatad
│ └── xcschemes
│ │ ├── AliSDKDemo.xcscheme
│ │ └── xcschememanagement.plist
│ └── qingshasu.xcuserdatad
│ └── xcschemes
│ ├── paySDKDemo.xcscheme
│ └── xcschememanagement.plist
└── paySDKDemo
├── APAppDelegate.h
├── APAppDelegate.m
├── APViewController.h
├── APViewController.m
├── Base.lproj
└── Main.storyboard
├── Images.xcassets
├── AppIcon.appiconset
│ └── Contents.json
└── LaunchImage.launchimage
│ ├── Contents.json
│ ├── Default-375w-667h@2x.png
│ ├── Default-414w-736h@3x.png
│ ├── Default-568h@2x.png
│ ├── Default-768w-1024h.png
│ ├── Default-768w-1024h@2x.png
│ └── Default@2x.png
├── en.lproj
├── InfoPlist.strings
└── Main.storyboard
├── main.m
├── pay
├── include
│ └── ppay
│ │ ├── data.h
│ │ └── ppay.h
└── libppay.a
├── paySDKDemo-Info.plist
└── paySDKDemo-Prefix.pch
/README.md:
--------------------------------------------------------------------------------
1 | # paySDKDemo
2 | 针对棋牌游戏、虚拟货币等第三方支付无法通过苹果审核而出的SDK demo
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | 工程项目注意事项:
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | 后台注意事项:
21 |
22 | 以网狐荣耀版为例,在App Store审核的时候关闭第三方支付,打开IAP内购,审核通过后再打开第三方支付开关。
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | 需要开通服务的请点以下链接:
31 | 微店地址:https://weidian.com/item.html?itemID=2164394489&ifr=itemdetail&wfr=c
32 | 邮箱:312098734@qq.com
33 |
--------------------------------------------------------------------------------
/UML/WechatIMG10.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/UML/WechatIMG10.jpeg
--------------------------------------------------------------------------------
/UML/WechatIMG11.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/UML/WechatIMG11.jpeg
--------------------------------------------------------------------------------
/UML/WechatIMG12.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/UML/WechatIMG12.jpeg
--------------------------------------------------------------------------------
/UML/WechatIMG14.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/UML/WechatIMG14.jpeg
--------------------------------------------------------------------------------
/UML/WechatIMG15.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/UML/WechatIMG15.jpeg
--------------------------------------------------------------------------------
/UML/WechatIMG16.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/UML/WechatIMG16.jpeg
--------------------------------------------------------------------------------
/UML/WechatIMG18.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/UML/WechatIMG18.jpeg
--------------------------------------------------------------------------------
/UML/WechatIMG19.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/UML/WechatIMG19.jpeg
--------------------------------------------------------------------------------
/UML/iTools Screen Shot 2016-09-09 23.33.32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/UML/iTools Screen Shot 2016-09-09 23.33.32.png
--------------------------------------------------------------------------------
/UML/iTools Screen Shot 2016-09-09 23.33.59.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/UML/iTools Screen Shot 2016-09-09 23.33.59.png
--------------------------------------------------------------------------------
/UML/iTools Screen Shot 2017-09-09 23.36.43.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/UML/iTools Screen Shot 2017-09-09 23.36.43.png
--------------------------------------------------------------------------------
/paySDKDemo.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 20902A591F615165007EBAD2 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 20902A581F615165007EBAD2 /* CoreLocation.framework */; };
11 | 20902A5B1F61516C007EBAD2 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 20902A5A1F61516C007EBAD2 /* Security.framework */; };
12 | 20902A5D1F61517C007EBAD2 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 20902A5C1F61517C007EBAD2 /* MobileCoreServices.framework */; };
13 | 20902A5F1F615191007EBAD2 /* libz.1.2.5.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 20902A5E1F615191007EBAD2 /* libz.1.2.5.tbd */; };
14 | 20902A611F61519A007EBAD2 /* libicucore.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 20902A601F61519A007EBAD2 /* libicucore.tbd */; };
15 | 20902A631F6151A2007EBAD2 /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 20902A621F6151A2007EBAD2 /* libsqlite3.tbd */; };
16 | 8D24E2041F61A88A003BDB08 /* libppay.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D24E2031F61A88A003BDB08 /* libppay.a */; };
17 | B6C74374184897ED00358DD3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6C74373184897ED00358DD3 /* Foundation.framework */; };
18 | B6C74376184897ED00358DD3 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6C74375184897ED00358DD3 /* CoreGraphics.framework */; };
19 | B6C74378184897ED00358DD3 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6C74377184897ED00358DD3 /* UIKit.framework */; settings = {ATTRIBUTES = (Required, ); }; };
20 | B6C7437E184897ED00358DD3 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = B6C7437C184897ED00358DD3 /* InfoPlist.strings */; };
21 | B6C74380184897ED00358DD3 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = B6C7437F184897ED00358DD3 /* main.m */; };
22 | B6C74384184897ED00358DD3 /* APAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B6C74383184897ED00358DD3 /* APAppDelegate.m */; };
23 | B6C74387184897ED00358DD3 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B6C74385184897ED00358DD3 /* Main.storyboard */; };
24 | B6C7438A184897ED00358DD3 /* APViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6C74389184897ED00358DD3 /* APViewController.m */; };
25 | B6C7438C184897ED00358DD3 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B6C7438B184897ED00358DD3 /* Images.xcassets */; };
26 | B6C7449A1848AD0A00358DD3 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6C744991848AD0A00358DD3 /* CoreTelephony.framework */; };
27 | B6C7449C1848AD1800358DD3 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6C7449B1848AD1800358DD3 /* CoreText.framework */; };
28 | B6C744A21848AD2F00358DD3 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6C744A11848AD2F00358DD3 /* QuartzCore.framework */; };
29 | B6C744A81848AE7200358DD3 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6C744A71848AE7200358DD3 /* SystemConfiguration.framework */; };
30 | F61927ED1BFC493B0079BECE /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = F61927EC1BFC493B0079BECE /* libc++.tbd */; };
31 | F61927EF1BFC494A0079BECE /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = F61927EE1BFC494A0079BECE /* libz.tbd */; };
32 | F6E425391BEB00BE009120C0 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F6E425381BEB00BE009120C0 /* CFNetwork.framework */; };
33 | F6E4253B1BEB00D3009120C0 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F6E4253A1BEB00D2009120C0 /* CoreMotion.framework */; };
34 | /* End PBXBuildFile section */
35 |
36 | /* Begin PBXFileReference section */
37 | 20902A581F615165007EBAD2 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
38 | 20902A5A1F61516C007EBAD2 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
39 | 20902A5C1F61517C007EBAD2 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
40 | 20902A5E1F615191007EBAD2 /* libz.1.2.5.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.1.2.5.tbd; path = usr/lib/libz.1.2.5.tbd; sourceTree = SDKROOT; };
41 | 20902A601F61519A007EBAD2 /* libicucore.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libicucore.tbd; path = usr/lib/libicucore.tbd; sourceTree = SDKROOT; };
42 | 20902A621F6151A2007EBAD2 /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; };
43 | 8D24E2021F61A88A003BDB08 /* ppay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ppay.h; sourceTree = ""; };
44 | 8D24E2031F61A88A003BDB08 /* libppay.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libppay.a; sourceTree = ""; };
45 | B6A400421849EA7C00CFBBA9 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/Main.storyboard; sourceTree = ""; };
46 | B6C74370184897ED00358DD3 /* paySDKDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = paySDKDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
47 | B6C74373184897ED00358DD3 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
48 | B6C74375184897ED00358DD3 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
49 | B6C74377184897ED00358DD3 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
50 | B6C7437B184897ED00358DD3 /* paySDKDemo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "paySDKDemo-Info.plist"; sourceTree = ""; };
51 | B6C7437D184897ED00358DD3 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
52 | B6C7437F184897ED00358DD3 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
53 | B6C74381184897ED00358DD3 /* paySDKDemo-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "paySDKDemo-Prefix.pch"; sourceTree = ""; };
54 | B6C74382184897ED00358DD3 /* APAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = APAppDelegate.h; sourceTree = ""; };
55 | B6C74383184897ED00358DD3 /* APAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = APAppDelegate.m; sourceTree = ""; };
56 | B6C74386184897ED00358DD3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
57 | B6C74388184897ED00358DD3 /* APViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = APViewController.h; sourceTree = ""; };
58 | B6C74389184897ED00358DD3 /* APViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = APViewController.m; sourceTree = ""; };
59 | B6C7438B184897ED00358DD3 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
60 | B6C744991848AD0A00358DD3 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
61 | B6C7449B1848AD1800358DD3 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
62 | B6C7449F1848AD2700358DD3 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
63 | B6C744A11848AD2F00358DD3 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
64 | B6C744A71848AE7200358DD3 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
65 | F61927EC1BFC493B0079BECE /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
66 | F61927EE1BFC494A0079BECE /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
67 | F6E425361BEB0005009120C0 /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; };
68 | F6E425381BEB00BE009120C0 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
69 | F6E4253A1BEB00D2009120C0 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
70 | /* End PBXFileReference section */
71 |
72 | /* Begin PBXFrameworksBuildPhase section */
73 | B6C7436D184897ED00358DD3 /* Frameworks */ = {
74 | isa = PBXFrameworksBuildPhase;
75 | buildActionMask = 2147483647;
76 | files = (
77 | F61927ED1BFC493B0079BECE /* libc++.tbd in Frameworks */,
78 | 20902A631F6151A2007EBAD2 /* libsqlite3.tbd in Frameworks */,
79 | 20902A611F61519A007EBAD2 /* libicucore.tbd in Frameworks */,
80 | 20902A5F1F615191007EBAD2 /* libz.1.2.5.tbd in Frameworks */,
81 | 20902A5D1F61517C007EBAD2 /* MobileCoreServices.framework in Frameworks */,
82 | B6C74376184897ED00358DD3 /* CoreGraphics.framework in Frameworks */,
83 | 20902A5B1F61516C007EBAD2 /* Security.framework in Frameworks */,
84 | 20902A591F615165007EBAD2 /* CoreLocation.framework in Frameworks */,
85 | F61927EF1BFC494A0079BECE /* libz.tbd in Frameworks */,
86 | F6E4253B1BEB00D3009120C0 /* CoreMotion.framework in Frameworks */,
87 | F6E425391BEB00BE009120C0 /* CFNetwork.framework in Frameworks */,
88 | 8D24E2041F61A88A003BDB08 /* libppay.a in Frameworks */,
89 | B6C744A81848AE7200358DD3 /* SystemConfiguration.framework in Frameworks */,
90 | B6C7449A1848AD0A00358DD3 /* CoreTelephony.framework in Frameworks */,
91 | B6C744A21848AD2F00358DD3 /* QuartzCore.framework in Frameworks */,
92 | B6C7449C1848AD1800358DD3 /* CoreText.framework in Frameworks */,
93 | B6C74378184897ED00358DD3 /* UIKit.framework in Frameworks */,
94 | B6C74374184897ED00358DD3 /* Foundation.framework in Frameworks */,
95 | );
96 | runOnlyForDeploymentPostprocessing = 0;
97 | };
98 | /* End PBXFrameworksBuildPhase section */
99 |
100 | /* Begin PBXGroup section */
101 | 8D24E1FF1F61A88A003BDB08 /* pay */ = {
102 | isa = PBXGroup;
103 | children = (
104 | 8D24E2001F61A88A003BDB08 /* include */,
105 | 8D24E2031F61A88A003BDB08 /* libppay.a */,
106 | );
107 | path = pay;
108 | sourceTree = "";
109 | };
110 | 8D24E2001F61A88A003BDB08 /* include */ = {
111 | isa = PBXGroup;
112 | children = (
113 | 8D24E2011F61A88A003BDB08 /* ppay */,
114 | );
115 | path = include;
116 | sourceTree = "";
117 | };
118 | 8D24E2011F61A88A003BDB08 /* ppay */ = {
119 | isa = PBXGroup;
120 | children = (
121 | 8D24E2021F61A88A003BDB08 /* ppay.h */,
122 | );
123 | path = ppay;
124 | sourceTree = "";
125 | };
126 | B6C74367184897ED00358DD3 = {
127 | isa = PBXGroup;
128 | children = (
129 | B6C74379184897ED00358DD3 /* paySDKDemo */,
130 | B6C74372184897ED00358DD3 /* Frameworks */,
131 | B6C74371184897ED00358DD3 /* Products */,
132 | );
133 | sourceTree = "";
134 | };
135 | B6C74371184897ED00358DD3 /* Products */ = {
136 | isa = PBXGroup;
137 | children = (
138 | B6C74370184897ED00358DD3 /* paySDKDemo.app */,
139 | );
140 | name = Products;
141 | sourceTree = "";
142 | };
143 | B6C74372184897ED00358DD3 /* Frameworks */ = {
144 | isa = PBXGroup;
145 | children = (
146 | 20902A621F6151A2007EBAD2 /* libsqlite3.tbd */,
147 | 20902A601F61519A007EBAD2 /* libicucore.tbd */,
148 | 20902A5E1F615191007EBAD2 /* libz.1.2.5.tbd */,
149 | 20902A5C1F61517C007EBAD2 /* MobileCoreServices.framework */,
150 | 20902A5A1F61516C007EBAD2 /* Security.framework */,
151 | 20902A581F615165007EBAD2 /* CoreLocation.framework */,
152 | F61927EE1BFC494A0079BECE /* libz.tbd */,
153 | F61927EC1BFC493B0079BECE /* libc++.tbd */,
154 | F6E4253A1BEB00D2009120C0 /* CoreMotion.framework */,
155 | F6E425381BEB00BE009120C0 /* CFNetwork.framework */,
156 | F6E425361BEB0005009120C0 /* libc++.dylib */,
157 | B6C744A71848AE7200358DD3 /* SystemConfiguration.framework */,
158 | B6C744A11848AD2F00358DD3 /* QuartzCore.framework */,
159 | B6C7449F1848AD2700358DD3 /* libz.dylib */,
160 | B6C7449B1848AD1800358DD3 /* CoreText.framework */,
161 | B6C744991848AD0A00358DD3 /* CoreTelephony.framework */,
162 | B6C74373184897ED00358DD3 /* Foundation.framework */,
163 | B6C74375184897ED00358DD3 /* CoreGraphics.framework */,
164 | B6C74377184897ED00358DD3 /* UIKit.framework */,
165 | );
166 | name = Frameworks;
167 | sourceTree = "";
168 | };
169 | B6C74379184897ED00358DD3 /* paySDKDemo */ = {
170 | isa = PBXGroup;
171 | children = (
172 | 8D24E1FF1F61A88A003BDB08 /* pay */,
173 | B6C74382184897ED00358DD3 /* APAppDelegate.h */,
174 | B6C74383184897ED00358DD3 /* APAppDelegate.m */,
175 | B6C74385184897ED00358DD3 /* Main.storyboard */,
176 | B6C74388184897ED00358DD3 /* APViewController.h */,
177 | B6C74389184897ED00358DD3 /* APViewController.m */,
178 | B6C7438B184897ED00358DD3 /* Images.xcassets */,
179 | B6C7437A184897ED00358DD3 /* Supporting Files */,
180 | );
181 | path = paySDKDemo;
182 | sourceTree = "";
183 | };
184 | B6C7437A184897ED00358DD3 /* Supporting Files */ = {
185 | isa = PBXGroup;
186 | children = (
187 | B6C7437B184897ED00358DD3 /* paySDKDemo-Info.plist */,
188 | B6C7437C184897ED00358DD3 /* InfoPlist.strings */,
189 | B6C7437F184897ED00358DD3 /* main.m */,
190 | B6C74381184897ED00358DD3 /* paySDKDemo-Prefix.pch */,
191 | );
192 | name = "Supporting Files";
193 | sourceTree = "";
194 | };
195 | /* End PBXGroup section */
196 |
197 | /* Begin PBXNativeTarget section */
198 | B6C7436F184897ED00358DD3 /* paySDKDemo */ = {
199 | isa = PBXNativeTarget;
200 | buildConfigurationList = B6C743A2184897ED00358DD3 /* Build configuration list for PBXNativeTarget "paySDKDemo" */;
201 | buildPhases = (
202 | B6C7436C184897ED00358DD3 /* Sources */,
203 | B6C7436D184897ED00358DD3 /* Frameworks */,
204 | B6C7436E184897ED00358DD3 /* Resources */,
205 | );
206 | buildRules = (
207 | );
208 | dependencies = (
209 | );
210 | name = paySDKDemo;
211 | productName = AliSDKDemo;
212 | productReference = B6C74370184897ED00358DD3 /* paySDKDemo.app */;
213 | productType = "com.apple.product-type.application";
214 | };
215 | /* End PBXNativeTarget section */
216 |
217 | /* Begin PBXProject section */
218 | B6C74368184897ED00358DD3 /* Project object */ = {
219 | isa = PBXProject;
220 | attributes = {
221 | CLASSPREFIX = AP;
222 | LastUpgradeCheck = 0600;
223 | ORGANIZATIONNAME = Alipay.com;
224 | TargetAttributes = {
225 | B6C7436F184897ED00358DD3 = {
226 | DevelopmentTeam = HBQKUC6DA7;
227 | ProvisioningStyle = Automatic;
228 | };
229 | };
230 | };
231 | buildConfigurationList = B6C7436B184897ED00358DD3 /* Build configuration list for PBXProject "paySDKDemo" */;
232 | compatibilityVersion = "Xcode 3.2";
233 | developmentRegion = English;
234 | hasScannedForEncodings = 0;
235 | knownRegions = (
236 | en,
237 | Base,
238 | );
239 | mainGroup = B6C74367184897ED00358DD3;
240 | productRefGroup = B6C74371184897ED00358DD3 /* Products */;
241 | projectDirPath = "";
242 | projectRoot = "";
243 | targets = (
244 | B6C7436F184897ED00358DD3 /* paySDKDemo */,
245 | );
246 | };
247 | /* End PBXProject section */
248 |
249 | /* Begin PBXResourcesBuildPhase section */
250 | B6C7436E184897ED00358DD3 /* Resources */ = {
251 | isa = PBXResourcesBuildPhase;
252 | buildActionMask = 2147483647;
253 | files = (
254 | B6C7438C184897ED00358DD3 /* Images.xcassets in Resources */,
255 | B6C7437E184897ED00358DD3 /* InfoPlist.strings in Resources */,
256 | B6C74387184897ED00358DD3 /* Main.storyboard in Resources */,
257 | );
258 | runOnlyForDeploymentPostprocessing = 0;
259 | };
260 | /* End PBXResourcesBuildPhase section */
261 |
262 | /* Begin PBXSourcesBuildPhase section */
263 | B6C7436C184897ED00358DD3 /* Sources */ = {
264 | isa = PBXSourcesBuildPhase;
265 | buildActionMask = 2147483647;
266 | files = (
267 | B6C74380184897ED00358DD3 /* main.m in Sources */,
268 | B6C7438A184897ED00358DD3 /* APViewController.m in Sources */,
269 | B6C74384184897ED00358DD3 /* APAppDelegate.m in Sources */,
270 | );
271 | runOnlyForDeploymentPostprocessing = 0;
272 | };
273 | /* End PBXSourcesBuildPhase section */
274 |
275 | /* Begin PBXVariantGroup section */
276 | B6C7437C184897ED00358DD3 /* InfoPlist.strings */ = {
277 | isa = PBXVariantGroup;
278 | children = (
279 | B6C7437D184897ED00358DD3 /* en */,
280 | );
281 | name = InfoPlist.strings;
282 | sourceTree = "";
283 | };
284 | B6C74385184897ED00358DD3 /* Main.storyboard */ = {
285 | isa = PBXVariantGroup;
286 | children = (
287 | B6C74386184897ED00358DD3 /* Base */,
288 | B6A400421849EA7C00CFBBA9 /* en */,
289 | );
290 | name = Main.storyboard;
291 | sourceTree = "";
292 | };
293 | /* End PBXVariantGroup section */
294 |
295 | /* Begin XCBuildConfiguration section */
296 | B6C743A0184897ED00358DD3 /* Debug */ = {
297 | isa = XCBuildConfiguration;
298 | buildSettings = {
299 | ALWAYS_SEARCH_USER_PATHS = NO;
300 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
301 | CLANG_CXX_LIBRARY = "libc++";
302 | CLANG_ENABLE_MODULES = YES;
303 | CLANG_ENABLE_OBJC_ARC = YES;
304 | CLANG_WARN_BOOL_CONVERSION = YES;
305 | CLANG_WARN_CONSTANT_CONVERSION = YES;
306 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
307 | CLANG_WARN_EMPTY_BODY = YES;
308 | CLANG_WARN_ENUM_CONVERSION = YES;
309 | CLANG_WARN_INT_CONVERSION = YES;
310 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
311 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
312 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
313 | COPY_PHASE_STRIP = NO;
314 | GCC_C_LANGUAGE_STANDARD = gnu99;
315 | GCC_DYNAMIC_NO_PIC = NO;
316 | GCC_OPTIMIZATION_LEVEL = 0;
317 | GCC_PREPROCESSOR_DEFINITIONS = (
318 | "DEBUG=1",
319 | "$(inherited)",
320 | );
321 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
322 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
323 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
324 | GCC_WARN_UNDECLARED_SELECTOR = YES;
325 | GCC_WARN_UNINITIALIZED_AUTOS = YES;
326 | GCC_WARN_UNUSED_FUNCTION = YES;
327 | GCC_WARN_UNUSED_VARIABLE = YES;
328 | IPHONEOS_DEPLOYMENT_TARGET = 5.0;
329 | ONLY_ACTIVE_ARCH = YES;
330 | SDKROOT = iphoneos;
331 | };
332 | name = Debug;
333 | };
334 | B6C743A1184897ED00358DD3 /* Release */ = {
335 | isa = XCBuildConfiguration;
336 | buildSettings = {
337 | ALWAYS_SEARCH_USER_PATHS = NO;
338 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
339 | CLANG_CXX_LIBRARY = "libc++";
340 | CLANG_ENABLE_MODULES = YES;
341 | CLANG_ENABLE_OBJC_ARC = YES;
342 | CLANG_WARN_BOOL_CONVERSION = YES;
343 | CLANG_WARN_CONSTANT_CONVERSION = YES;
344 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
345 | CLANG_WARN_EMPTY_BODY = YES;
346 | CLANG_WARN_ENUM_CONVERSION = YES;
347 | CLANG_WARN_INT_CONVERSION = YES;
348 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
349 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
350 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
351 | COPY_PHASE_STRIP = YES;
352 | ENABLE_NS_ASSERTIONS = NO;
353 | GCC_C_LANGUAGE_STANDARD = gnu99;
354 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
355 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
356 | GCC_WARN_UNDECLARED_SELECTOR = YES;
357 | GCC_WARN_UNINITIALIZED_AUTOS = YES;
358 | GCC_WARN_UNUSED_FUNCTION = YES;
359 | GCC_WARN_UNUSED_VARIABLE = YES;
360 | IPHONEOS_DEPLOYMENT_TARGET = 5.0;
361 | SDKROOT = iphoneos;
362 | VALIDATE_PRODUCT = YES;
363 | };
364 | name = Release;
365 | };
366 | B6C743A3184897ED00358DD3 /* Debug */ = {
367 | isa = XCBuildConfiguration;
368 | buildSettings = {
369 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
370 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
371 | CODE_SIGN_IDENTITY = "iPhone Developer";
372 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
373 | DEPLOYMENT_POSTPROCESSING = NO;
374 | DEVELOPMENT_TEAM = HBQKUC6DA7;
375 | ENABLE_BITCODE = NO;
376 | FRAMEWORK_SEARCH_PATHS = "$(inherited)";
377 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
378 | GCC_PREFIX_HEADER = "paySDKDemo/paySDKDemo-Prefix.pch";
379 | HEADER_SEARCH_PATHS = "";
380 | INFOPLIST_FILE = "paySDKDemo/paySDKDemo-Info.plist";
381 | IPHONEOS_DEPLOYMENT_TARGET = 6.0;
382 | LIBRARY_SEARCH_PATHS = (
383 | "$(inherited)",
384 | "$(PROJECT_DIR)/paySDKDemo/pay",
385 | );
386 | ONLY_ACTIVE_ARCH = NO;
387 | OTHER_LDFLAGS = "-ObjC";
388 | PRODUCT_BUNDLE_IDENTIFIER = com.pay.paySDKDemo;
389 | PRODUCT_NAME = "$(TARGET_NAME)";
390 | PROVISIONING_PROFILE = "";
391 | PROVISIONING_PROFILE_SPECIFIER = "";
392 | VALID_ARCHS = "arm64 armv7";
393 | WRAPPER_EXTENSION = app;
394 | };
395 | name = Debug;
396 | };
397 | B6C743A4184897ED00358DD3 /* Release */ = {
398 | isa = XCBuildConfiguration;
399 | buildSettings = {
400 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
401 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
402 | CODE_SIGN_IDENTITY = "iPhone Developer";
403 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
404 | DEPLOYMENT_POSTPROCESSING = NO;
405 | DEVELOPMENT_TEAM = HBQKUC6DA7;
406 | ENABLE_BITCODE = NO;
407 | FRAMEWORK_SEARCH_PATHS = "$(inherited)";
408 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
409 | GCC_PREFIX_HEADER = "paySDKDemo/paySDKDemo-Prefix.pch";
410 | HEADER_SEARCH_PATHS = "";
411 | INFOPLIST_FILE = "paySDKDemo/paySDKDemo-Info.plist";
412 | IPHONEOS_DEPLOYMENT_TARGET = 6.0;
413 | LIBRARY_SEARCH_PATHS = (
414 | "$(inherited)",
415 | "$(PROJECT_DIR)/paySDKDemo/pay",
416 | );
417 | ONLY_ACTIVE_ARCH = YES;
418 | OTHER_LDFLAGS = "-ObjC";
419 | PRODUCT_BUNDLE_IDENTIFIER = com.pay.paySDKDemo;
420 | PRODUCT_NAME = "$(TARGET_NAME)";
421 | PROVISIONING_PROFILE = "";
422 | PROVISIONING_PROFILE_SPECIFIER = "";
423 | VALID_ARCHS = "arm64 armv7";
424 | WRAPPER_EXTENSION = app;
425 | };
426 | name = Release;
427 | };
428 | /* End XCBuildConfiguration section */
429 |
430 | /* Begin XCConfigurationList section */
431 | B6C7436B184897ED00358DD3 /* Build configuration list for PBXProject "paySDKDemo" */ = {
432 | isa = XCConfigurationList;
433 | buildConfigurations = (
434 | B6C743A0184897ED00358DD3 /* Debug */,
435 | B6C743A1184897ED00358DD3 /* Release */,
436 | );
437 | defaultConfigurationIsVisible = 0;
438 | defaultConfigurationName = Release;
439 | };
440 | B6C743A2184897ED00358DD3 /* Build configuration list for PBXNativeTarget "paySDKDemo" */ = {
441 | isa = XCConfigurationList;
442 | buildConfigurations = (
443 | B6C743A3184897ED00358DD3 /* Debug */,
444 | B6C743A4184897ED00358DD3 /* Release */,
445 | );
446 | defaultConfigurationIsVisible = 0;
447 | defaultConfigurationName = Release;
448 | };
449 | /* End XCConfigurationList section */
450 | };
451 | rootObject = B6C74368184897ED00358DD3 /* Project object */;
452 | }
453 |
--------------------------------------------------------------------------------
/paySDKDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/paySDKDemo.xcodeproj/project.xcworkspace/xcuserdata/jili.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/paySDKDemo.xcodeproj/project.xcworkspace/xcuserdata/jili.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/paySDKDemo.xcodeproj/project.xcworkspace/xcuserdata/niancheng.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/paySDKDemo.xcodeproj/project.xcworkspace/xcuserdata/niancheng.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/paySDKDemo.xcodeproj/project.xcworkspace/xcuserdata/qingshasu.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/paySDKDemo.xcodeproj/project.xcworkspace/xcuserdata/qingshasu.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/paySDKDemo.xcodeproj/project.xcworkspace/xcuserdata/tommy.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/paySDKDemo.xcodeproj/project.xcworkspace/xcuserdata/tommy.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/paySDKDemo.xcodeproj/xcuserdata/jili.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
8 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/paySDKDemo.xcodeproj/xcuserdata/jili.xcuserdatad/xcschemes/paySDKDemo.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/paySDKDemo.xcodeproj/xcuserdata/jili.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | paySDKDemo.xcscheme
8 |
9 | orderHint
10 | 1
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | B6C7436F184897ED00358DD3
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/paySDKDemo.xcodeproj/xcuserdata/niancheng.xcuserdatad/xcschemes/AliSDKDemo.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/paySDKDemo.xcodeproj/xcuserdata/niancheng.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | AliSDKDemo.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | B6C7436F184897ED00358DD3
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/paySDKDemo.xcodeproj/xcuserdata/qingshasu.xcuserdatad/xcschemes/paySDKDemo.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/paySDKDemo.xcodeproj/xcuserdata/qingshasu.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | paySDKDemo.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | B6C7436F184897ED00358DD3
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/paySDKDemo/APAppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // APAppDelegate.h
3 | // AliSDKDemo
4 | //
5 | // Created by 方彬 on 11/29/13.
6 | // Copyright (c) 2013 Alipay.com. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface APAppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/paySDKDemo/APAppDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // APAppDelegate.m
3 | // AliSDKDemo
4 | //
5 | // Created by 方彬 on 11/29/13.
6 | // Copyright (c) 2013 Alipay.com. All rights reserved.
7 | //
8 |
9 | #import "APAppDelegate.h"
10 | #import "ppay.h"
11 |
12 | @implementation APAppDelegate{
13 |
14 | }
15 |
16 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
17 | {
18 | // Override point for customization after application launch.
19 | return YES;
20 | }
21 |
22 | - (void)applicationWillResignActive:(UIApplication *)application
23 | {
24 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
25 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
26 | }
27 |
28 | - (void)applicationDidEnterBackground:(UIApplication *)application
29 | {
30 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
31 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
32 | }
33 |
34 | - (void)applicationWillEnterForeground:(UIApplication *)application
35 | {
36 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
37 | }
38 |
39 | - (void)applicationDidBecomeActive:(UIApplication *)application
40 | {
41 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
42 | }
43 |
44 | - (void)applicationWillTerminate:(UIApplication *)application
45 | {
46 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
47 | }
48 |
49 | - (BOOL)application:(UIApplication *)application
50 | openURL:(NSURL *)url
51 | sourceApplication:(NSString *)sourceApplication
52 | annotation:(id)annotation {
53 | [[PPay getInstance] handleOpenURL:url];
54 |
55 | return YES;
56 | }
57 |
58 | // NOTE: 9.0以后使用新API接口
59 | - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options
60 | {
61 | [[PPay getInstance] handleOpenURL:url];
62 | return YES;
63 | }
64 |
65 | @end
66 |
--------------------------------------------------------------------------------
/paySDKDemo/APViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // APViewController.h
3 | // AliSDKDemo
4 | //
5 | // Created by 亦澄 on 16-8-12.
6 | // Copyright (c) 2016年 Alipay. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ppay.h"
11 | @interface APViewController : UIViewController
12 |
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/paySDKDemo/APViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // APViewController.m
3 | // AliSDKDemo
4 | //
5 | // Created by 亦澄 on 16-8-12.
6 | // Copyright (c) 2016年 Alipay. All rights reserved.
7 | //
8 |
9 | #import "APViewController.h"
10 |
11 |
12 |
13 | #define ALI_DEMO_BUTTON_WIDTH (([UIScreen mainScreen].bounds.size.width) - 40.0f)
14 | #define ALI_DEMO_BUTTON_HEIGHT (60.0f)
15 | #define ALI_DEMO_BUTTON_GAP (30.0f)
16 |
17 |
18 | #define ALI_DEMO_INFO_HEIGHT (200.0f)
19 |
20 |
21 |
22 | @implementation APViewController
23 | {
24 | PPay *_ppay ;
25 | }
26 |
27 | - (void)viewDidLoad
28 | {
29 | [super viewDidLoad];
30 | _ppay = [PPay getInstance];
31 | [self generateButtons];
32 | }
33 |
34 |
35 | #pragma mark -
36 | #pragma mark ==============产生随机订单号==============
37 |
38 | - (void)generateButtons
39 | {
40 | // NOTE: 支付按钮,模拟支付流程
41 | CGFloat originalPosX = 20.0f;
42 | CGFloat originalPosY = 100.0f;
43 | UIButton* payButton = [[UIButton alloc]initWithFrame:CGRectMake(originalPosX, originalPosY, ALI_DEMO_BUTTON_WIDTH, ALI_DEMO_BUTTON_HEIGHT)];
44 | payButton.backgroundColor = [UIColor colorWithRed:81.0f/255.0f green:141.0f/255.0f blue:229.0f/255.0f alpha:1.0f];
45 | payButton.layer.masksToBounds = YES;
46 | payButton.layer.cornerRadius = 4.0f;
47 | [payButton setTitle:@"微信支付Demo" forState:UIControlStateNormal];
48 | [payButton addTarget:self action:@selector(getwx) forControlEvents:UIControlEventTouchUpInside];
49 | [self.view addSubview:payButton];
50 |
51 | // NOTE: 授权按钮,模拟授权流程
52 | originalPosY += (ALI_DEMO_BUTTON_HEIGHT + ALI_DEMO_BUTTON_GAP);
53 | UIButton* authButton = [[UIButton alloc]initWithFrame:CGRectMake(originalPosX, originalPosY, ALI_DEMO_BUTTON_WIDTH, ALI_DEMO_BUTTON_HEIGHT)];
54 | authButton.backgroundColor = [UIColor colorWithRed:81.0f/255.0f green:141.0f/255.0f blue:229.0f/255.0f alpha:1.0f];
55 | authButton.layer.masksToBounds = YES;
56 | authButton.layer.cornerRadius = 4.0f;
57 | [authButton setTitle:@"支付宝支付Demo" forState:UIControlStateNormal];
58 | [authButton addTarget:self action:@selector(getzfb) forControlEvents:UIControlEventTouchUpInside];
59 | [self.view addSubview:authButton];
60 |
61 |
62 |
63 | }
64 |
65 | -(void)getwx{
66 | //1.确定请求路径
67 | NSURL *url = [NSURL URLWithString:@"http://game123.2ww.com/WS/MobileInterface.ashx?action=CreatPayOrderID&gameid=102199&amount=30&paytype=wx&appid=5"];
68 | //2.获得会话对象
69 | NSURLSession *session = [NSURLSession sharedSession];
70 |
71 | NSURLSessionDataTask *dataTask = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
72 | //5.解析数据
73 | NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
74 | NSLog(@"%@",dict);
75 | NSDictionary *da = [dict objectForKey:@"data"];
76 | NSString *OrderID = [da objectForKey:@"OrderID"];
77 | NSString *PayPackage = [da objectForKey:@"PayPackage"];
78 | NSData *nsdata = [PayPackage dataUsingEncoding:NSUTF8StringEncoding];
79 | id jsonObject = [NSJSONSerialization JSONObjectWithData:nsdata
80 | options:NSJSONReadingAllowFragments
81 | error:nil];
82 | NSDictionary *info = (NSDictionary*)jsonObject;
83 | BOOL bRes = FALSE;
84 | NSString *appid = [info objectForKey:@"appid"];
85 | bRes = (appid != nil);
86 | NSString *partnerId = [info objectForKey:@"partnerid"];
87 | bRes = (partnerId != nil);
88 | NSString *prepayId = [info objectForKey:@"prepayid"];
89 | bRes = (prepayId != nil);
90 | NSString *packageValue = [info objectForKey:@"package"];
91 | bRes = (packageValue != nil);
92 | NSString *nonceStr = [info objectForKey:@"noncestr"];
93 | bRes = (nonceStr != nil);
94 | NSString *timeStamp = [info objectForKey:@"timestamp"];
95 | bRes = (timeStamp != nil);
96 | NSString *sign = [info objectForKey:@"sign"];
97 | bRes = (sign != nil);
98 | if (FALSE == bRes)
99 | {
100 | NSLog(@"%@",@"订单数据解析失败");
101 | return;
102 | }
103 | WXOrder *wecatconfig = [WXOrder new];
104 | wecatconfig.openID = appid;
105 | wecatconfig.partnerId = partnerId;
106 | wecatconfig.prepayId = prepayId;
107 | wecatconfig.nonceStr = nonceStr;
108 | wecatconfig.timeStamp = timeStamp;
109 | wecatconfig.package = packageValue;
110 | wecatconfig.sign = sign;
111 | [_ppay wxPay:PPAY_WECHAT delegate:self payparam:wecatconfig];
112 | }];
113 | //4.执行任务
114 | [dataTask resume];
115 | }
116 |
117 | -(void)getzfb{
118 | //1.确定请求路径
119 | NSURL *url = [NSURL URLWithString:@"http://game123.2ww.com/WS/MobileInterface.ashx?action=CreatPayOrderID&gameid=102199&amount=30&paytype=zfb&appid=5"];
120 | //2.获得会话对象
121 | NSURLSession *session = [NSURLSession sharedSession];
122 |
123 | NSURLSessionDataTask *dataTask = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
124 | //5.解析数据
125 | NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
126 |
127 | NSLog(@"%@",dict);
128 | NSDictionary *da = [dict objectForKey:@"data"];
129 | NSString *OrderID = [da objectForKey:@"OrderID"];
130 | ZFBOrder *alpay = [ZFBOrder new];
131 | alpay.AlipayPartnerID = @"2017080708079550";
132 | // alpay.AlipaySeller = _alipay.AlipaySeller;
133 | alpay.AlipayPrivate=@"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCHncMtWXq17nnT4k6Q8pdr5TMTZqMZ3VuL3ifVQ6nSNTu++ADAogmvkHfST1XmpHeHaUWMKJHAhD5hZJwS7G8tIeSA2vbgDA3UEzWzcJjS1KrVd5RmdcJbJqSZTpeuJyGbXtx2lLdV5ajt77y0uDntdgvm1KaswP7AaxTGEp8A630dqMKp0XcrUgiy6sAVB/wOQz3lruuRSZlCCDJLXOAMgfjB+sEFw/YzSfH9SBMSfBmhSuWTg/BpxGvXBfFx4ABnUQsg7GeYeMI//poPE2Cs7HC+CfRkdHSGKWb1dj3dS2PnYBZJi2bp52JlGLAq7kFYmSOsmaPZZsyWrMQvBXxDAgMBAAECggEARGUQNiLWfEKVNoL/1KJEM6oYJESzJSw6K0QTGr9ROi6Wvy0cVApkkCJwC6TvUa7IiYZSCOm8+Da5ryyqefC78SsSrtm/gCcUIky93I2AxXNz5My2DyZ8qrPGd3rnjHE3xcAFt9gwziVRGQ67QPlYXaYXQockuCNtV2WpyGtDvZZKCf2dBj6QEwhUBCIcy74rj28M2Kqw6UhetyPSp4DaA3RI1emn6qoTTo6nx+QpvmyTlZo1R7fzrBZtpOE9L35X/Qp20Oj95FKPaBrw1upq7T4jcMeAEVEvMUHU34pZFExlnVznKQyYIcGCg8Vlw2n12COm17DMYmhd558EHxwA4QKBgQDD4qcvcu8pcNqP/Nx3GeR5EGSMGApnCUxzMGxSAeiC7iB9x49ESJNBFqHC8v+75Z86wjRv8cZQKZXNaaIWKhSZQgf1ZyoRopYK2JL774Mu+C5kGst0KhL1ofe3kgw/5KTwd1I8YZfHmQaKMZSZqHPZyezgRt2M8Vy2cgv8Lq78vwKBgQCxPC+m82DoMJCix8qtITkUh7+OVOlQuvl2QK5bsP+dH8HUnyEOOcBadIlG8CpmVgzYaRC8kIFnFu3ydFasZliO/hscBQutoL630SxIwULpfaYoSBLnRCFcLFePGFIpmoxJqTn2+4iqQ+JkOkVGzbQNIxf2ebh2zNzh0MEI8/mtfQKBgHDoILOBzQaW7PPXrP/dZcq+PyZc6QoQ2wb+H0F5phppxUKalyKlrnLy55Rl2i/kn84PiIgJ1OP5xEXdIDckVDEuVUYHC8GUdGWWBcq/eF7HYH4Ez8aKRdldXVprDTJ6yPNt43G4UvMSaimXgG69IOGkuStgzWzi5iynOe9GvUgjAoGBAIKlsSLKSWcfVZ8I09hnoyIFJymOYibGjVmkOGMSyHpUjJdlbgKEg8yqFv+Zzkd9qx5j5Jh7lUge2Oxe4f1XvHQ70FQJTCCDW9M4eAJxpBdmLfOHnZeo20aM0UaEURyl9j/eZQIxTP7l556mbabRv6XndqST+Wxpe3FiZslov2YpAoGAQl7xE6DyBBQ/WLFAx90FwcV+twOMqTEGb1eX6afczN2XHhotXXMZgrePbvlP9/2V2M4ATQyg7IWjGcndasOHKNxBhRWKskRSn6nAIcF6BZtyq2Vpwjq8SjkO9KsDrI3hYl6z7YfdMkpF3zU1p0bPXYeAr7vZeaahkZr6lb/VfcQ=";
134 | alpay.AlipayNotifyUrl = @"http://game123.2ww.com/Pay/ZFB/notify_url.aspx";
135 | alpay.sOrderId = OrderID;
136 | alpay.sProductName = @"31钻石";
137 | alpay.fPrice = 3.0;
138 | [_ppay zfbPay:PPAY_ALIPAY delegate:self payparam:alpay];
139 | }];
140 | //4.执行任务
141 | [dataTask resume];
142 | }
143 |
144 | #pragma mark - 回调
145 | -(void) onPPaySuccess:(PlatformType)plat backMsg:(NSString *)msg{
146 | NSLog(@"支付成功回调--%@",msg);
147 | }
148 | -(void) onPPayFail:(PlatformType)plat backMsg:(NSString *)msg{
149 | NSLog(@"支付失败回调--%@",msg);
150 | }
151 |
152 | @end
153 |
--------------------------------------------------------------------------------
/paySDKDemo/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/paySDKDemo/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "40x40",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "40x40",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "2x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "size" : "60x60",
41 | "scale" : "3x"
42 | }
43 | ],
44 | "info" : {
45 | "version" : 1,
46 | "author" : "xcode"
47 | }
48 | }
--------------------------------------------------------------------------------
/paySDKDemo/Images.xcassets/LaunchImage.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "extent" : "full-screen",
5 | "idiom" : "iphone",
6 | "subtype" : "736h",
7 | "filename" : "Default-414w-736h@3x.png",
8 | "minimum-system-version" : "8.0",
9 | "orientation" : "portrait",
10 | "scale" : "3x"
11 | },
12 | {
13 | "extent" : "full-screen",
14 | "idiom" : "iphone",
15 | "subtype" : "667h",
16 | "filename" : "Default-375w-667h@2x.png",
17 | "minimum-system-version" : "8.0",
18 | "orientation" : "portrait",
19 | "scale" : "2x"
20 | },
21 | {
22 | "orientation" : "portrait",
23 | "idiom" : "iphone",
24 | "extent" : "full-screen",
25 | "minimum-system-version" : "7.0",
26 | "filename" : "Default@2x.png",
27 | "scale" : "2x"
28 | },
29 | {
30 | "extent" : "full-screen",
31 | "idiom" : "iphone",
32 | "subtype" : "retina4",
33 | "filename" : "Default-568h@2x.png",
34 | "minimum-system-version" : "7.0",
35 | "orientation" : "portrait",
36 | "scale" : "2x"
37 | },
38 | {
39 | "orientation" : "portrait",
40 | "idiom" : "ipad",
41 | "extent" : "full-screen",
42 | "minimum-system-version" : "7.0",
43 | "filename" : "Default-768w-1024h.png",
44 | "scale" : "1x"
45 | },
46 | {
47 | "orientation" : "portrait",
48 | "idiom" : "ipad",
49 | "extent" : "full-screen",
50 | "minimum-system-version" : "7.0",
51 | "filename" : "Default-768w-1024h@2x.png",
52 | "scale" : "2x"
53 | }
54 | ],
55 | "info" : {
56 | "version" : 1,
57 | "author" : "xcode"
58 | }
59 | }
--------------------------------------------------------------------------------
/paySDKDemo/Images.xcassets/LaunchImage.launchimage/Default-375w-667h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/paySDKDemo/Images.xcassets/LaunchImage.launchimage/Default-375w-667h@2x.png
--------------------------------------------------------------------------------
/paySDKDemo/Images.xcassets/LaunchImage.launchimage/Default-414w-736h@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/paySDKDemo/Images.xcassets/LaunchImage.launchimage/Default-414w-736h@3x.png
--------------------------------------------------------------------------------
/paySDKDemo/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/paySDKDemo/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png
--------------------------------------------------------------------------------
/paySDKDemo/Images.xcassets/LaunchImage.launchimage/Default-768w-1024h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/paySDKDemo/Images.xcassets/LaunchImage.launchimage/Default-768w-1024h.png
--------------------------------------------------------------------------------
/paySDKDemo/Images.xcassets/LaunchImage.launchimage/Default-768w-1024h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/paySDKDemo/Images.xcassets/LaunchImage.launchimage/Default-768w-1024h@2x.png
--------------------------------------------------------------------------------
/paySDKDemo/Images.xcassets/LaunchImage.launchimage/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/paySDKDemo/Images.xcassets/LaunchImage.launchimage/Default@2x.png
--------------------------------------------------------------------------------
/paySDKDemo/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/paySDKDemo/en.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
--------------------------------------------------------------------------------
/paySDKDemo/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // AliSDKDemo
4 | //
5 | // Created by 方彬 on 11/29/13.
6 | // Copyright (c) 2013 Alipay.com. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #import "APAppDelegate.h"
12 |
13 | int main(int argc, char * argv[])
14 | {
15 | @autoreleasepool {
16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([APAppDelegate class]));
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/paySDKDemo/pay/include/ppay/data.h:
--------------------------------------------------------------------------------
1 | //
2 | // data.h
3 | // paySDKDemo
4 | //
5 | // Created by qingshasu on 17/9/8.
6 | // Copyright © 2017年 Alipay.com. All rights reserved.
7 | //
8 |
9 | #ifndef data_h
10 | #define data_h
11 | @interface WXOrder : NSObject
12 |
13 | /** 由用户微信号和AppID组成的唯一标识,发送请求时第三方程序必须填写,用于校验微信用户是否换号登录*/
14 | @property (nonatomic, copy) NSString* openID;
15 | /** 商家向财付通申请的商家id */
16 | @property (nonatomic, copy) NSString *partnerId;
17 | /** 预支付订单 */
18 | @property (nonatomic, copy) NSString *prepayId;
19 | /** 随机串,防重发 */
20 | @property (nonatomic, copy) NSString *nonceStr;
21 | /** 时间戳,防重发 */
22 | @property (nonatomic, copy) NSString *timeStamp;
23 | /** 商家根据财付通文档填写的数据和签名 */
24 | @property (nonatomic, copy) NSString *package;
25 | /** 商家根据微信开放平台文档对数据做的签名 */
26 | @property (nonatomic, copy) NSString *sign;
27 | @end
28 |
29 |
30 | //ZFB配置
31 | @interface ZFBOrder : NSObject
32 | //合作者身份id
33 | @property (nonatomic, copy) NSString* AlipayPartnerID;
34 | //收款ZFB账号
35 | @property (nonatomic, copy) NSString* AlipaySeller;
36 | //商户私钥
37 | @property (nonatomic, copy) NSString* AlipayPrivate;
38 | //验证地址
39 | @property (nonatomic, copy) NSString* AlipayNotifyUrl;
40 | //订单ID(由商家自行制定)
41 | @property (nonatomic, copy) NSString *sOrderId;
42 | //订单名称(由商家自行制定)
43 | @property (nonatomic, copy) NSString *sProductName;
44 | //订单价格(由商家自行制定)
45 | @property (nonatomic, assign) float fPrice;
46 | @end
47 |
48 |
49 | #endif /* data_h */
50 |
--------------------------------------------------------------------------------
/paySDKDemo/pay/include/ppay/ppay.h:
--------------------------------------------------------------------------------
1 | //
2 | // PPay.h
3 | // GloryProject
4 | //
5 | // Created by zhong on 16/9/8.
6 | //
7 | //
8 |
9 | #ifndef ppay_h
10 | #define ppay_h
11 |
12 | #import
13 |
14 |
15 |
16 |
17 | /////////////////////////////////////////////////////////////////////////////
18 | typedef NS_ENUM(NSUInteger,PlatformType)
19 | {
20 | PPAY_WECHAT = 0,// WX
21 | PPAY_ALIPAY = 1,// ZFB
22 |
23 | };
24 |
25 |
26 | //WX配置
27 | @interface WXOrder : NSObject
28 |
29 | /** 由用户微信号和AppID组成的唯一标识,发送请求时第三方程序必须填写,用于校验微信用户是否换号登录*/
30 | @property (nonatomic, copy) NSString* openID;
31 | /** 商家向财付通申请的商家id */
32 | @property (nonatomic, copy) NSString *partnerId;
33 | /** 预支付订单 */
34 | @property (nonatomic, copy) NSString *prepayId;
35 | /** 随机串,防重发 */
36 | @property (nonatomic, copy) NSString *nonceStr;
37 | /** 时间戳,防重发 */
38 | @property (nonatomic, copy) NSString *timeStamp;
39 | /** 商家根据财付通文档填写的数据和签名 */
40 | @property (nonatomic, copy) NSString *package;
41 | /** 商家根据微信开放平台文档对数据做的签名 */
42 | @property (nonatomic, copy) NSString *sign;
43 | @end
44 |
45 |
46 | //ZFB配置
47 | @interface ZFBOrder : NSObject
48 | //合作者身份id
49 | @property (nonatomic, copy) NSString* AlipayPartnerID;
50 | //收款ZFB账号
51 | @property (nonatomic, copy) NSString* AlipaySeller;
52 | //商户私钥
53 | @property (nonatomic, copy) NSString* AlipayPrivate;
54 | //验证地址
55 | @property (nonatomic, copy) NSString* AlipayNotifyUrl;
56 | //订单ID(由商家自行制定)
57 | @property (nonatomic, copy) NSString *sOrderId;
58 | //订单名称(由商家自行制定)
59 | @property (nonatomic, copy) NSString *sProductName;
60 | //订单价格(由商家自行制定)
61 | @property (nonatomic, assign) float fPrice;
62 | @end
63 |
64 |
65 | //ZF回调
66 | @protocol PPayDelegate
67 |
68 | - (void) onPPaySuccess:(PlatformType)plat backMsg:(NSString *)msg;
69 | - (void) onPPayFail:(PlatformType)plat backMsg:(NSString *)msg;
70 | - (void) onPPayNotify:(PlatformType)plat backMsg:(NSString *)msg;
71 |
72 | @end
73 |
74 | @interface PPay: NSObject
75 |
76 |
77 | /**
78 | * 创建ZF单例服务
79 | *
80 | * @return 返回单例对象
81 | */
82 |
83 | + (PPay*) getInstance;
84 |
85 |
86 |
87 | /**
88 |
89 | Deprecated API
90 |
91 | 处理app的URL方法
92 |
93 | @param url 传入的url
94 |
95 | */
96 |
97 | - (BOOL) handleOpenURL:(NSURL *)url;
98 |
99 |
100 | /**
101 |
102 | WXZF API
103 |
104 |
105 | @param delegate 传入的delegate
106 | @param payparam 传入的结构体
107 |
108 | */
109 | - (void) wxPay:(PlatformType)plat delegate:(id)delegate payparam:(WXOrder*) payparam;
110 |
111 | /**
112 |
113 | ZFB ZF API
114 |
115 |
116 | @param delegate 传入的delegate
117 | @param payparam 传入的结构体
118 |
119 | */
120 | - (void) zfbPay:(PlatformType)plat delegate:(id)delegate payparam:(ZFBOrder*) payparam;
121 |
122 | @end
123 | #endif /* PPay.h */
124 |
--------------------------------------------------------------------------------
/paySDKDemo/pay/libppay.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/serinder/paySDKDemo/2a86f858b6a26921928255cd404ce5f051a8cc06/paySDKDemo/pay/libppay.a
--------------------------------------------------------------------------------
/paySDKDemo/paySDKDemo-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | ${PRODUCT_NAME}
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | ${PRODUCT_NAME}
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleURLTypes
24 |
25 |
26 | CFBundleTypeRole
27 | Editor
28 | CFBundleURLName
29 | zfb
30 | CFBundleURLSchemes
31 |
32 | com.pay.paySDKDemo
33 |
34 |
35 |
36 | CFBundleTypeRole
37 | Editor
38 | CFBundleURLName
39 | wx
40 | CFBundleURLSchemes
41 |
42 | wx9fd40efd01687278
43 |
44 |
45 |
46 | CFBundleVersion
47 | 1.0
48 | LSApplicationQueriesSchemes
49 |
50 | JLZLAliPay
51 | wechat
52 | weixin
53 | alipay
54 | alipayshare
55 | alipayqr
56 | weixin
57 |
58 | LSRequiresIPhoneOS
59 |
60 | NSAppTransportSecurity
61 |
62 | NSAllowsArbitraryLoads
63 |
64 |
65 | UIMainStoryboardFile
66 | Main
67 | UIRequiredDeviceCapabilities
68 |
69 | armv7
70 |
71 | UISupportedInterfaceOrientations
72 |
73 | UIInterfaceOrientationPortrait
74 | UIInterfaceOrientationLandscapeLeft
75 | UIInterfaceOrientationLandscapeRight
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/paySDKDemo/paySDKDemo-Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header
3 | //
4 | // The contents of this file are implicitly included at the beginning of every source file.
5 | //
6 |
7 |
8 |
9 | #ifdef __OBJC__
10 | #import
11 | #import
12 | #endif
13 |
--------------------------------------------------------------------------------