苹果玩游戏买东西除了自带支付宝怎么买东西可以用其他方式么

用苹果玩游戏买东西为什么非得在id下购买_百度知道[苹果不允许iOS应用内置购买(IAP)使用第三方支付方式,那么? - 爱问知识人
(window.slotbydup=window.slotbydup || []).push({
id: '2491531',
container: s,
size: '150,90',
display: 'inlay-fix'
不允许 iOS 应用内置购买(IAP)使用第三方支付方式,那么跨平台的电子书阅读器怎么解决这个问题?]
,上传下载好的电子书。如果对您有帮助,请点击左下角“对我有用” ,谢谢
您的举报已经提交成功,我们将尽快处理,谢谢!
只要是他支持支付宝的话那就可以用的。。。。用支付宝后你会觉得很安心的。。。。
大家还关注玩转苹果自带支付
当你决定在线买一些东西的时候,可能会有一种现代特有的焦虑感涌上心头。虽然没有精确的单词来表达这种焦虑,但如果只想简单的描述的话,可以是:&我的信用卡在哪里?它的号码是多少?我真的需要买这个东西吗?&
当你在一个iOS设备上购物时,这种令人抓狂的感觉会放大:你很有可能没有随身携带你的信用卡,而且手里拿着信用卡还要在手机上输入信息这种操作相当有难度,我觉得应该留给体操选手和宇航员用来展示他们高超的技艺(当然,我是在开玩笑,但是我也愿意打赌苹果公司已经在某个实验室做过这个测试)。
如果你是一位开发者,并且你的App里接受信用卡付款,这个不利的因素将直接影响你的收入。
Apple Pay改变了这一切。尽管很多线下商店把它们的大部分注意力集中在实体付款(如客户可以使用他们的iPhone在支持NFC的终端付款),但除此之外,iOS开发者同样获得了一个极好的机会去提高他们App里的支付体验。
提醒:如果你在你的APP中销售的是电子产品或者虚拟货币,你应该使用内购方式而不是App Pay去销售你的东西(见的App Store Review Guidelines 11.2节)。你可以使用Apple Pay销售你的实体商品和服务。
获取苹果商户ID(Merchant ID)
在做任何测试之前,你必须先注册一个苹果商户ID。而在你做这件事之前,你还需要选择一个支付提供商用来处理你的信用卡流程。苹果公司在他们的Apple Pay开发者页面提供了一份推荐的公司名单(注:我在Stripe公司工作,这个公司是推荐名单中的一个,但本文中的代码不依赖于你选择的任何特定供应商)。你的供应商应该有一个详细的指导,用来告诉你在他们的平台如何设置和使用Apple Pay,整个流程将是这样的:
1.前往苹果开发者中心的Certificates, Identifiers, and Profiles部分并且创建一个新的商家ID。
2.接下来,前往选择证书菜单,并创建一个新的苹果支付证书。这需要向苹果公司上传证书签名请求(CSR)。当你注册一个支付处理,他们通常会为你提供一个CSR使用。你可以使用CSR通过这个指导生成自己私有的证书,但你的付款处理程序将无法解密它,你需要在以后重新生成。
3.在Xcode中,打开你的项目设置中的&Capabilities&部分,然后将&Apple Pay&选项打开。你可能需要从提供的列表中选择之前创建的商家ID。
创建第一次交易
Apple Pay只支持可以使用Apple Pay的iOS设备(如iPhone6/6+,iPad Mini 3,iPad Air 2)。此外,你需要先添加苹果支付授权,才能在你的应用程序中进行测试(在&获取苹果商家ID&中所述)。如果你想在模拟器上模拟它的行为,你可以在Github上找到一个模仿它的功能(测试信用卡的详细消息)的。
一旦你准备好了商家帐户,那么开始使用Apple Pay将会非常简单。当你的验证超时时,你首先需要先看你正在运行的设备是否支持Apple Pay,接着看你的客户是否已经将信用卡添加在Passbook:
let paymentNetworks = [PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa]
if PKPaymentAuthorizationViewController.canMakePaymentsUsingNetworks(paymentNetworks) {
// ?Pay is available!
// Show your own credit card form.
假设Apple Pay是可用的,下一个步骤将是调用PKPaymentRequest。它是描述你从客户那里要求收取的费用。如果你的付款请求发生在美国,这里你需要设置一些默认选项,以后也无需改变:
let request = PKPaymentRequest()
request.supportedNetworks = [PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa]
request.countryCode = &US&
request.currencyCode = &USD&
request.merchantIdentifier = &#Replace me with your Apple Merchant ID#&
request.merchantCapabilities = .Capability3DS
接下来,使用paymentSummaryItem属性来描述用户真正买的商品。这需要包含一系列的PKPaymentSummaryItem所组成的数组,这个数组包括标签和数量。他们类似于收据上的行项目(这个是我们立刻就可以看到)。
let wax = PKPaymentSummaryItem(label: &Mustache Wax&, amount: NSDecimalNumber(string: &10.00&))
let discount = PKPaymentSummaryItem(label: &Discount&, amount: NSDecimalNumber(string: &-1.00&))
let totalAmount = wax.amount.decimalNumberByAdding(discount.amount)
.decimalNumberByAdding(shipping.amount)
let total = PKPaymentSummaryItem(label: &NSHipster&, amount: totalAmount)
request.paymentSummaryItems = [wax, discount, shipping, total]
请注意,这里您可以指定零或负数价格,用做优惠券的使用或其它信息。然而,总量的要求是必须大于零的。你将会注意到,我们使用PKShippingMethod这个方法(从PKPaymentSummaryItem继承)来描述我们的送货方式。下面我们会更详细的讲解。
接下来,我们结合 PKPaymentRequest创建PKPaymentAuthorizationViewController的示例来向客户展示支付清单 (在这个例子中,所有这些代码都位于隐藏在支付背后的UIViewController里面)。
let viewController = PKPaymentAuthorizationViewController(paymentRequest: request)
viewController.delegate = self
presentViewController(viewController, animated: true, completion: nil)
一些需要注意的地方:
1.视图控制器不完全占据屏幕(在这种情况下,蓝色的背景是我们应用程序的一部分)。你可以通过更新后台视图控制器让PKPaymentAuthorizationViewController可见。
2.所有的文本自动大写。
3.把最后一行从剩余部分分离出来的目的是显示你的总收入。标签将自动在前面加上&PAY&,所以这里通常使用公司名称。
4.整个UI是通过Remote View Controller来展现的。这意味着,在你给的PKPaymentRequest之外,以其他的方式展现或修改这个视图的内容是不可能的。
PKPaymentAuthorizationViewControllerDelegate
实际上为了处理由PKPaymentAuthorizationViewController返回的付款信息,您需要实现PKPaymentAuthorizationViewControllerDelegate这个协议。它有两个必须实现的方法,分别如下:
-(void)paymentAuthorizationViewController:didAuthorizePayment:completion:
-(void)paymentAuthorizationViewControllerDidFinish:
要了解这些方法的工作原理,我们需要看看一个Apple Pay交易具体是如何工作的:
1.写一个如上所述的PKPaymentAuthorizationViewController。
2.客户同意使用Touch ID购买(或者在失败了3次之后通过输入自己的密码购买)。
3.指纹图标变成一个带有&Processing&的旋转标签
4.你的代理将接收paymentAuthorizationViewController:didAuthorizePayment:completion: callback回调。
5.你的应用程序与付款进程进行异步通信,网站后台实际上是对这些付款细节的代办。一旦付款结束,你根据返回的结果调用PKPaymentAuthorizationStatus.Success或PKPaymentAuthorizationStatus.Failure以完成处理。
6.把PKPaymentAuthorizationViewController旋转动画到成功或失败图标。如果成功的话,用户将会收到一个从PassBook发出的表明从用户信用卡消费的通知。
7.你的代理会接收paymentAuthorizationViewControllerDidFinish:方法的回调。它是负责调用用来切换支付页面的dismissViewControllerAnimated:这个方法的。
// MARK: - PKPaymentAuthorizationViewControllerDelegate
func paymentAuthorizationViewController(controller: PKPaymentAuthorizationViewController!, didAuthorizePayment payment: PKPayment!, completion: ((PKPaymentAuthorizationStatus) -& Void)!) {
// Use your payment processor's SDK to finish charging your customer.
// When this is done, call completion(PKPaymentAuthorizationStatus.Success)
func paymentAuthorizationViewControllerDidFinish(controller: PKPaymentAuthorizationViewController!) {
dismissViewControllerAnimated(true, completion: nil)
在这里, processPayment:payment completion: 这个方法是你自己的代码,并会利用你的支付处理程序中的SDK来完成交易。
动态的送货方式和价格
如果你的客户使用Apple Pay购买实体商品,你可能要为他们提供不同送货选项。你可以在PKPaymentRequest这个方法设置shippingMethods选项做到这一点。然后,你可以执行PKPaymentAuthorizationViewControllerDelegate代理中的可选方法paymentAuthorizationViewController:didSelectShippingMethod:completion:给用户的选择作出响应。这个方法遵循类似上述didAuthorizePayment方法描述的模式,在这里你可以通过这个异步回调更新PKPaymentSummaryItem数组,这个数组中包含客户所需的送货方式。 (还记得继承自PKPaymentSummaryItem的PKShippingMethod方法吗?在这里是非常有用的!)
下面是我们之前示例的修改版本,作为视图控制器和辅助函数的计算属性实现:
var paymentRequest: PKPaymentRequest {
let request = ... // initialize as before
let freeShipping = PKShippingMethod(label: &Free Shipping&, amount: NSDecimalNumber(string: &0&))
freeShipping.identifier = &freeshipping&
freeShipping.detail = &Arrives in 6-8 weeks&
let expressShipping = PKShippingMethod(label: &Express Shipping&, amount: NSDecimalNumber(string: &10.00&))
expressShipping.identifier = &expressshipping&
expressShipping.detail = &Arrives in 2-3 days&
request.shippingMethods = [freeShipping, expressShipping]
request.paymentSummaryItems = paymentSummaryItemsForShippingMethod(freeShipping)
return request
func paymentSummaryItemsForShippingMethod(shipping: PKShippingMethod) -& ([PKPaymentSummaryItem]) {
let wax = PKPaymentSummaryItem(label: &Mustache Wax&, amount: NSDecimalNumber(string: &10.00&))
let discount = PKPaymentSummaryItem(label: &Discount&, amount: NSDecimalNumber(string: &-1.00&))
let totalAmount = wax.amount.decimalNumberByAdding(discount.amount)
.decimalNumberByAdding(shipping.amount)
let total = PKPaymentSummaryItem(label: &NSHipster&, amount: totalAmount)
return [wax, discount, shipping, total]
// MARK: - PKPaymentAuthorizationViewControllerDelegate
func paymentAuthorizationViewController(controller: PKPaymentAuthorizationViewController!, didSelectShippingMethod shippingMethod: PKShippingMethod!, completion: ((PKPaymentAuthorizationStatus, [AnyObject]!) -& Void)!) {
completion(PKPaymentAuthorizationStatus.Success, paymentSummaryItemsForShippingMethod(shippingMethod))
在这个例子中,客户会选择免费配送或快递,随着他们选择的改变,价格也会相应的调整。
别急,后面还有更多!
与其提供一些固定费率的配送选项,你可以让用户自行选择送货地址,并在其基础上动态的计算运费。为了达到目的,首先你需要在你的PKPaymentRequest方法中设定要求的requiredShippingAddressFields属性。这可以是电子邮件,电话号码和地址的任意组合。
另外,如果你不需要用户的详细通讯地址而是需要收集一些联系方式(如发送收据的email地址),这样做是一个很好的方法。
当设置了送货地址这个字段,将在支付用户界面出现一个新的&送货地址&,以便允许客户选择之前保存的地址。每次用户选择时,paymentAuthorizationViewController:didSelectShippingAddress:completion:将消息发送到你的PKPaymentAuthorizationViewControllerDelegate代理。
在这里,你应该为选择的地址计算相应的费用,然后调用带有3个参数的completion回调:
回调的结果
1.如果成功调用PKPaymentAuthorizationStatus.Success
2.如果出现连接错误调用PKPaymentAuthorizationStatus.Failure
3.如果API返回一个空的数组调用InvalidShippingPostalAddress (即该收货地址是不可用的)
4.数组PKShippingMethods代表用户可用的收货地址。
5.新数组PKPaymentSummaryItems包含一个送货方法。
我已经搭建了一个非常简单的用来查询给定地址运费的EasyPost API的Web后台。 获得。
这里则是一个查询此API的函数,用了:
import AddressBook
import PassKit
import Alamofire
func addressesForRecord(record: ABRecord) -& [[String: String]] {
var addresses: [[String: String]] = []
let values: ABMultiValue = ABRecordCopyValue(record, kABPersonAddressProperty).takeRetainedValue()
for index in 0.. Void) {
let parameters = [
&street&: address[kABPersonAddressStreetKey] ?? &&,
&city&: address[kABPersonAddressCityKey] ?? &&,
&state&: address[kABPersonAddressStateKey] ?? &&,
&zip&: address[kABPersonAddressZIPKey] ?? &&,
&country&: address[kABPersonAddressCountryKey] ?? &&
Alamofire.request(.GET, &&, parameters: parameters)
.responseJSON { (_, _, JSON, _) in
if let rates = JSON as? [[String: String]] {
let shippingMethods = map(rates) { (rate) -& PKShippingMethod in
let identifier = rate[&id&]
let carrier = rate[&carrier&] ?? &Unknown Carrier&
let service = rate[&service&] ?? &Unknown Service&
let amount = NSDecimalNumber(string: rate[&amount&])
let arrival = rate[&formatted_arrival_date&] ?? &Unknown Arrival&
let shippingMethod = PKShippingMethod(label: &\(carrier) \(service)&, amount: amount)
shippingMethod.identifier = identifier
shippingMethod.detail = arrival
return shippingMethod
有了这个,就可以简单的实现PKPaymentAuthorizationViewControllerDelegate这个代理:
func paymentAuthorizationViewController(controller: PKPaymentAuthorizationViewController!, didSelectShippingAddress record: ABRecord!, completion: ((PKPaymentAuthorizationStatus, [AnyObject]!, [AnyObject]!) -& Void)!) {
if let address = addressesForRecord(record).first {
fetchShippingMethodsForAddress(address) { (shippingMethods) in
switch shippingMethods?.count {
case .None:
completion(PKPaymentAuthorizationStatus.Failure, nil, nil)
case .Some(0):
completion(PKPaymentAuthorizationStatus.InvalidShippingPostalAddress, nil, nil)
completion(PKPaymentAuthorizationStatus.Success, shippingMethods, self.paymentSummaryItemsForShippingMethod(shippingMethods!.first!))
completion(PKPaymentAuthorizationStatus.Failure, nil, nil)
vcq9oaPL+8PH1+7W1dGh1PG1xHNoaXBwaW5nQWRkcmVzc7rNc2hpcHBpbmdNZXRob2S9q9TacGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcjpkaWRBdXRob3JpemVQYXltZW50OmNvbXBsZXRpb246t723qNbQ1/fOqlBLUGF5bWVudLXEyvTQ1KGjPC9wPg0KPHA+1eLGqs7E1cLW0LXEy/nT0NS0wuu5q7K81NogPGEgaHJlZj0="/jflinter/ApplePayExample">/jflinter/ApplePayExample 。
尽管Apple Pay只公开了少量的API,但是它的可用范围十分广泛,你可以在你的App中自定义适当的结账流程。它甚至允许你建立新的流程,如让用户不需要创建账号就能买东西。
随着越来越多的应用开始使用Apple Pay(并且越来越多的用户拥有了支持它的设备),我相信它将成为iOS应用中一种很普遍的支付方式。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'后使用快捷导航没有帐号?
只需一步,快速开始
查看: 2130|回复: 8
最后登录阅读权限50注册时间积分7279精华0帖子威望1212 PP豆22 活跃度6639
, 积分 7279, 距离下一级还需 -4279 积分
TA的每日心情开心 08:31签到天数: 589 天连续签到: 2 天[LV.9]以坛为家II帖子威望1212 PP豆22 活跃度6639
要在 Apple Online Store 买东西,向来都需要一个东西: 信用卡。不过由今天开始,Apple 终于加入另一种付款方法,方便更多用户。
14:01 上传
这个新付款方式就是 PayPal,其实 App Store /
Store 等早已支持 PayPal 付款,今天 Apple Online Store 也首次加入。Apple 还特意推广 PayPal 付款,如果购买价值超过 $250 美元就可以有 18 个月免息分期付款。
14:01 上传
14:01 上传
现时 PayPal 付款已登陆美国和英国区 Apple Store,相信之后会陆续扩展至其他地区。
PP有您更精彩!
总评分:&威望 + 3&
活跃度 + 9&
最后登录阅读权限10注册时间积分459精华0帖子威望17 PP豆-1 活跃度596
, 积分 459, 距离下一级还需 341 积分
TA的每日心情慵懒 11:56签到天数: 22 天连续签到: 1 天[LV.4]偶尔看看III帖子威望17 PP豆-1 活跃度596
免息 这个好啊
最后登录阅读权限20注册时间积分1070精华0帖子威望6 PP豆0 活跃度1541
, 积分 1070, 距离下一级还需 130 积分
TA的每日心情擦汗 13:28签到天数: 35 天连续签到: 1 天[LV.5]常住居民I帖子威望6 PP豆0 活跃度1541
又方便了很多
最后登录阅读权限150注册时间积分16147精华0帖子威望1008 PP豆2465 活跃度26224
TA的每日心情开心7&天前签到天数: 764 天连续签到: 5 天[LV.10]以坛为家III帖子威望1008 PP豆2465 活跃度26224
好服务哦啊
最后登录阅读权限50注册时间积分6168精华1帖子威望835 PP豆-12 活跃度6184
, 积分 6168, 距离下一级还需 -3168 积分
TA的每日心情开心 08:48签到天数: 590 天连续签到: 3 天[LV.9]以坛为家II帖子威望835 PP豆-12 活跃度6184
买不起了啊
最后登录阅读权限150注册时间积分14324精华0帖子威望2915 PP豆6007 活跃度15835
●—●我是恶魔,不是撒旦
TA的每日心情怒 10:29签到天数: 342 天连续签到: 3 天[LV.8]以坛为家I帖子威望2915 PP豆6007 活跃度15835 设备iPhone 6
我到现在还没弄懂怎么玩
最后登录阅读权限90注册时间积分12266精华1帖子威望609 PP豆-3 活跃度16753
TA的每日心情怒 12:00签到天数: 584 天连续签到: 23 天[LV.9]以坛为家II帖子威望609 PP豆-3 活跃度16753
最后登录阅读权限150注册时间积分23314精华0帖子威望1074 PP豆5301 活跃度37386
人生如江湖。
TA的每日心情奋斗昨天&07:37签到天数: 809 天连续签到: 1 天[LV.10]以坛为家III帖子威望1074 PP豆5301 活跃度37386
最后登录阅读权限20注册时间积分1044精华0帖子威望0 PP豆957 活跃度1004
, 积分 1044, 距离下一级还需 156 积分
TA的每日心情无聊 19:28签到天数: 11 天连续签到: 1 天[LV.3]偶尔看看II帖子威望0 PP豆957 活跃度1004
{:15_607:}{:15_607:}{:15_607:}为了楼主的劳动成果支持你,楼主继续发好帖!
超级版主勋章
论坛超级版主专用
授予在论坛发布大量资源,300个资源贴以上的会员
论坛雷锋好模范
论坛回帖之王
热心分享资源超过500个的会员
发表1000篇以上文章会员
发表1000篇以上文章会员
Powered by
Copyright&
Aihe Internet Technology Co.,Ltd. All Rights Reserved.广州爱禾网络技术有限公司 版权所有&&苹果Pay出现了问题 商家没有普及以及没有其他支付方式便利还有设备不能用是主要问题
您当前的位置: &
& 苹果Pay出现了问题 商家没有普及以及没有其他支付方式便利还有设备不能用是主要问题
苹果Pay出现了问题 商家没有普及以及没有其他支付方式便利还有设备不能用是主要问题
苹果Pay出现了问题 商家没有普及以及没有其他支付方式便利还有设备不能用是主要问题 陈小姐:
发商机网 8月8日报道
根据和InfoScout的最新&Apple Pay普及率追踪&报告,从今年第一季度至第二季度,Apple Pay在美国iPhone 6和iPhone 6 Plus用户之中的渗透率出现滑坡。今年3月,有15.1%的受访者表示曾用过Apple Pay,而到今年6月这一比例下降至13.1%。
这表明,Apple Pay的发展仍面临障碍。其中主要原因包括以下3个方面:
1.相对于其他支付方式,用户并没有看到使用Apple Pay带来的便利。在没有使用Apple Pay的iPhone 6和iPhone 6 Plus用户中,有32%表示,他们对当前的支付方式感到满意,有34%表示,他们并不清楚这一软件如何使用。
2.零售商尚未普及Apple Pay。截至今年3月,美国有70万家零售场所接受Apple Pay支付,但其中的美国主流零售商很少。许多大型零售商正在开发自主的移动钱包服务CurrentC。除非Apple Pay能在零售商中进一步普及,否则用户不会全面转向这一支付方式。不过,2014年,美国出货的75%终端都集成了NFC(近场通信)功能,这意味着能接受Apple Pay支付的商户数将快速增长。
3.并不是所有iPhone用户都使用了支持Apple Pay的设备。截至3月,美国有40%的活跃iPhone用户升级至iPhone 6或iPhone 6 Plus。因此尽管可能有更多用户对Apple Pay感兴趣,但他们缺乏使用Apple Pay的硬件设备。
&转载请注明出自发商机网

我要回帖

更多关于 淘宝买东西支付方式 的文章

 

随机推荐