Apple Pay

RSS for tag

Provide a fast, easy, and secure way for users to buy goods and services in your app or on your website using Apple Pay.

Posts under Apple Pay tag

171 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Apple Pay guidelines clarification
Hello there, I have a couple of question about Apple Pay guidelines: • if we offer Apple Pay payment method in our app, can we disable the selection (I mean the method selection NOT the Payment button!) IF certain condition happens? E.g. the user cannot select apple pay payment method because our basket is not ready yet. • Are we forced to move the apple pay payment method on the top of our selection? E.g. Cards, Cash On Delivery, Coupon, Apple Pay --> Apple Pay, Cards, Cash On Delivery, Coupon One last technical question: • when we start the payment process we are gonna create the request and present the sheet BUT we have to call our backend for pre-authorization, is it allowed? @objc private func applePayButtonTapped(sender: UIButton) { // TODO: Is it allowed? // We need to ask to our backend a pre-authorization and THEN procced with Apple Pay flow // but this could be done ONLY after the user TAP on BUY with APPLE PAY and BEFORE // paymentAuthorizationViewController is called. // Are we compliant to do that? if PKPaymentAuthorizationViewController.canMakePayments(usingNetworks: FakeData.paymentInfo()) { let request = PKPaymentRequest() request.blablabla = blabla let authorizationViewController = PKPaymentAuthorizationViewController(paymentRequest: request) if let viewController = authorizationViewController { viewController.delegate = self present(viewController, animated: true, completion: nil) } } } Thanks in advance :)
0
0
33
9h
Restrict In-app purchase offering based on location
I'm developing an application where user can access contents based on In-app purchase subscription.As per the app requirement I want to restrict user from accessing the content when they try to access from a different country. Example: Being a user I brought subscription while I was in India by paying lets say 10$ instead of actual 20$ (50% discount for India users). Lets say I am travelling to other country and in order to use the content user now has to pay the remaining 10$. As per apple's policy is this allowed? , if yes, then how to achieve this.
1
0
54
1d
How to Setup For Apple Pay Later for testers testing my code?
Hello! For Apple Pay, I'd like to disable the option for a customer selecting Apple Pay Later (tab). In Swift, very easily modify the PKPaymentRequest with: if #available(iOS 17.0, *) { paymentRequest.applePayLaterAvailability = .unavailable(.itemIneligible) } However, how can this be setup to test that it works? Very easily add sandbox account, and test cards, but not so easy to enable Apple Pay Later, or documented so the end user (tester) can test it. Anyone know how to go about setting this up? Thanks!!
0
0
73
2d
Clarification on App Store Policy Regarding Payments Through Telegram Bots/MiniApps
Subject: Clarification on App Store Policy Regarding Payments Through Telegram Bots Dear Apple Team, My name is Fedor Skuratov, and I am a CEO at Combot.org. We have received a notification from Telegram (Telegram.org) regarding the necessity to switch to a new payment mechanism—Telegram Stars — for all bots that accept payments for digital goods and services. This is the text of their announcement: URGENT Action Required Dear Bot Developer, Apple has informed Telegram that @combot is in violation of App Review Guidelines 4.7 and 3.1.1, because it accepts payments for digital goods and services directly from customers without relying on Apple's in-app purchase mechanism. To ensure that Telegram bots/mini apps such as yours continue operating without interruption on all platforms, we have developed a way for third-party developers on Telegram to accept payments from their customers that is compliant with the App Store and Play Store policies. To this end, we are rolling out a new in-app currency, Telegram Stars, which users will be able to acquire from Telegram using standard Apple and Google in-app purchases and then use to buy digital goods and services from you. Developers will be able to review their Telegram Stars balance and withdraw them at any time using the TON blockchain. Starting on June 12, all payments for digital goods and services in bots and mini apps will have to be carried out exclusively in Telegram Stars. Since Telegram has to follow the Guidelines imposed on us by the app stores, failure to comply with these changes will result in the suspension of @combot for most of your customers. We will publish the full updated API documentation within the next few days, but you can already prepare your bots and mini-apps for the upcoming changes. To accept payments for digital goods and services, you will need to use the sendInvoice or createInvoiceLink methods with the currency field set to "XTR" and the provider_token field left empty. We expect these changes to positively impact the conversion rate for payments from customers in most markets. Payments for physical goods and services remain unchanged. More details will be published on @botnews soon. The Telegram Team These changes have raised several questions and concerns as they directly impact our business. We would like to seek clarification on the following points: **Apple's Requirements: ** What specific requirements has Apple set for Telegram and bot developers regarding payments for digital goods and services? Is this requirement initiated by Apple or is it solely a decision by Telegram? **Apple's Commission: ** According to the new rules, Telegram proposes using in-app currency (Telegram Stars) for all payments for digital goods and services, which adheres to the Apple/Google commission (~30%). These changes can negatively affect existing business models. Are there any plans to ease the conditions or provide additional time for adaptation to the new requirements? Jurisdictional Issues: In most jurisdictions, receiving payments for digital goods in cryptocurrency (including TON/Telegram Stars) is illegal. How does Apple plan to address this issue in your relations with Telegram and businesses which uses the bot functionality in Telegram app? Application of Rules: Do these requirements apply only to those developers using in-app Telegram Payments 2.0, or to all who sell any services and have links to these services in its bots? Payments on Third-Party Websites: Our service (Combot.org) which is a moderation an community management tool for communities including Telegram chats, uses Stripe to accept payments on our website, and the bot acts as an agent in chats and does not handle payments. How do Apple's new requirements relate to such business models? We appreciate your assistance and understanding in this matter. Thank you in advance for your clarification. Sincerely, Fedor Skuratov CEO Combot.org
0
0
237
1w
adding ApplePayDeferredPaymentRequest request is cancelled
Hi, I'm adding deferredPaymentRequest container to get MPan, but payment is now cancelled by Webkit, no other explanation What is the next step to get mpan ? Regards, Louis "deferredPaymentRequest": { "deferredBilling": { "label": "Deferred Payment", "amount": "1.99", "type": "final", "paymentTiming": "deferred", "deferredPaymentDate": "2024-06-1", }, "managementURL": 'https://.../apmsim/pay/appleManagement', "paymentDescription": "this is a paymentDescription", }
0
0
107
1w
Purchasing is not currently available on this device visionos
I am developing a VisionOS application with IAP which has not yet been submitted for review. In the process of development, while using the payment feature under the sandbox environment, the store returns the following error: explanation = "Purchasing is not currently available on this device in your country or region. Purchases you make on an iPhone, iPad or Mac can still be accessed here.\n\n[Environment: Sandbox]" How should I handle this? change another country or region ? thanks
0
0
110
1w
Apple Pay Registration Error
We are getting this error when processing our registration. Payment Services Exception Domain check failed with the following errors. No domains were registered.\nDomain verification failed for pspId=1A014B2EC09DB380EE1D51FE4D116C801F62F29D74F2D93269FE554CA2E34656 domain=patient.moolah.cc url=/.well-known/apple-developer-merchantid-domain-association errorMessage=com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 4559 path $", "statusCode": "400"}
0
0
228
Apr ’24
Apple Pay Sandbox with Payment Not Completed
Team, When I try using Apple pay for Japan, we are getting Payment Not Completed error for a merchant with Japanese character as the displayName at completeMerchantValidation. The same works well if the merchant has name in English. log from com.apple.passkit as explained in Apple Pay on the Web Debugging Guide 2024-04-30 12:12:21.441231+0530 0xb6bd16 Default 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitCore) [com.apple.passkit:Payment] Received <private> status: PKPaymentAuthorizationStatusSuccess 2024-04-30 12:12:21.441336+0530 0xb6bd16 Default 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitCore) [com.apple.passkit:Payment] Evaluating merchant session using PROD trust policy. 2024-04-30 12:12:21.448371+0530 0xb6bd16 Default 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitCore) [com.apple.passkit:Payment] State machine change state from PKPaymentAuthorizationStateClientCallback to PKPaymentAuthorizationStatePrepareTransactionDetails with param: <private> 2024-04-30 12:12:21.448393+0530 0xb6bd16 Default 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitMacHelper) [com.apple.passkit:PaymentUI] State change: PKPaymentAuthorizationStatePrepareTransactionDetails 2024-04-30 12:12:21.448444+0530 0xb6bd16 Error 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitMacHelper) [com.apple.passkit:PaymentUI] State change not implemented: PKPaymentAuthorizationStatePrepareTransactionDetails 2024-04-30 12:12:21.450878+0530 0xb6bd16 Default 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitCore) [com.apple.passkit:Payment] Performing request: POST <private> { 7 <private> fields } 500 bytes 2024-04-30 12:12:22.642216+0530 0xbaa237 Default 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitCore) [com.apple.passkit:Payment] Task Completed: <private> 2024-04-30 12:12:22.642348+0530 0xbaa237 Default 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitCore) [com.apple.passkit:Payment] Response: <private> 400 Time profile: 1.19145 seconds { 6 <private> fields } 232 bytes 2024-04-30 12:12:22.642571+0530 0xb6bd16 Default 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitCore) [com.apple.passkit:Payment] State machine change state from PKPaymentAuthorizationStatePrepareTransactionDetails to PKPaymentAuthorizationStateFatalError with param: <private> 2024-04-30 12:12:22.642617+0530 0xb6bd16 Default 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitMacHelper) [com.apple.passkit:PaymentUI] State change: PKPaymentAuthorizationStateFatalError 2024-04-30 12:12:22.642757+0530 0xb6bd16 Error 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitMacHelper) [com.apple.passkit:PaymentUI] Payment failed with fatal error <private> 2024-04-30 12:12:22.643288+0530 0xb6bd16 Default 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitCore) [com.apple.passkit:Analytics] subject: inApp event: <private> 2024-04-30 12:12:22.659154+0530 0xb6bd16 Default 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitMacHelper) [com.apple.passkit:PaymentUI] glyphView - revealedErrorAction() 2024-04-30 12:12:24.633308+0530 0xb6bad7 Default 0x0 55529 0 Safari: (PassKitMacHelperTemp) [com.apple.passkit:Payment] Invalidate extension <private> identifier <private> 2024-04-30 12:12:24.653014+0530 0xb6bd16 Info 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitCore) [com.apple.passkit:Connections] PKInAppPaymentService:0x12bf1b660 (0x1290e2a80): Tearing down existing connection 2024-04-30 12:12:24.653173+0530 0xbaaa12 Info 0x0 68603 0 passd: [com.apple.passkit:Connections] PDXPCServiceListener 2 (0x127705150:55547): connection invalidated 2024-04-30 12:12:24.654891+0530 0xb6bd16 Default 0x0 55547 0 com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitCore) [com.apple.passkit:Analytics] subject: inApp event: <private> As we can see, com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitMacHelper) [com.apple.passkit:PaymentUI] Payment failed with fatal error <private>, how do we debug this further?
2
0
230
Apr ’24
ApplePay Recurring Payment Request
We couldn't find a descriptive reply for the following and we wanted to get additional feedback. We've received a notification about using ApplePayRecurringPaymentRequest in Apple Pay JavaScript for recurring, installment and unscheduled payments. On the page (https://developer.apple.com/documentation/apple_pay_on_the_web/applepayrecurringpaymentrequest) we found a new object (see whole object below) and there are some questions about using and filling the parameters. I hope you will help us for making understanding. The ApplePayRecurringPaymentRequest should be sent only in initial operation? A phrase "required" is meant the parameter is mandatory? Where can we take the lenth for each field? Parameter regularBilling is applied for recurring, installment and unscheduled payments? Parameter trialBilling is applied only for recurring payments? If we sent the regularBilling or trialBilling Apple Pay will authorize a payment automatically without merchant's actions? In which cases do we have to fill ApplePayLineItemType with value “pending”? Parameter amount is whole sum of all payments or current only? Parameter paymentTiming with value: 9.1 "immediate" - when does payment occur when the transaction is complete and sequent payments will occur only after merchant's actions? 9.2. "recurring" - what the different with "immediate"? 9.3. "deferred" - who and how will provide these payments in the future? 9.4. "automaticReload" - when should we use this value? (in description it's not clear) If merchant can't provide recurringPaymentStartDate and recurringPaymentEndDate can we leave them blank or not send? If merchant can't provide recurringPaymentIntervalCount can we leave them blank or not send? Could you describe the usecase with using deferredPaymentDate? Could you describe the usecase with using automaticReloadPaymentThresholdAmount? Is billingAgreement mandatory parameter? Can billingAgreement contain URL on agreement? Is managementURL mandatory parameter? What actions can user make on page via managementURL? And which cases are mandatory? Is tokenNotificationURL mandatory parameter? In which cases will we receive a request via tokenNotificationURL? What kind of params specification should be in tokenNotificationURL (names, lenth, type, mandatory)? dictionary ApplePayRecurringPaymentRequest {required DOMString paymentDescription; required ApplePayLineItem regularBilling; dictionary ApplePayLineItem Unknown macro: { ApplePayLineItemType type; DOMString label; DOMString amount; ApplePayPaymentTiming paymentTiming; Date recurringPaymentStartDate; ApplePayRecurringPaymentDateUnit recurringPaymentIntervalUnit; unsigned long recurringPaymentIntervalCount; Date recurringPaymentEndDate; Date deferredPaymentDate; DOMString automaticReloadPaymentThresholdAmount; }; ApplePayLineItem trialBilling; dictionary ApplePayLineItem; DOMString billingAgreement; required DOMString managementURL; DOMString tokenNotificationURL;};
0
0
207
Apr ’24
ios 17.4 - no option to make contactless app as default payment app in Setting for EEA region
Received required entitlements from apple and as per the below link ios should allow us make third party app as default contactless app in EEA region. But, Settings app only shows the toggle button to enable/disable Contactless capability. But, not an option to make an app as default contactless app. com.apple.developer.nfc.hce.default-contactless-app | Apple Developer Documentation Anyone has faced similar issue? Is above feature released or not, how can we confirm ?
1
0
312
Apr ’24
In-App Provisioning Entitlement
Hello, Can anybody help me with some info about the following situation? We have an app that is published in the store and it is used by the users. We want implement in the app the In App Provisioning flow and we are analyzing all the steps the we need to check. One of the steps is the request for a special entitlement from apple. Let's say that we've checked the following: Request In App Provisioning entitlement Receive the entitlement Create a new provisioning profile with the received entitlement Start the development of In App Provisioning flow in the app At some point a bug is identified in production and we need the develop a hotfix that needs to be published before finishing the In App Provisioning feature. Wil it be possible to publish a new version of the app that doesn't contain the In App Provisioning functionality even though we have received the entitlement from apple? Should we create a new provisioning profile without the entitlement for this new release? Please let me know if you need more info.
1
0
312
Apr ’24
Questions Regarding Apple Pay Integration in Our App
We are in the process of integrating Apple Pay into our app and have some specific questions regarding the behavior of the payment sheet and token validity: PKPaymentToken Validity: How long is the PKPaymentToken valid? Does it expire if not used within a certain timeframe? Payment Sheet Behavior During Backend Processing: We are concerned about the potential for the Apple Pay payment sheet to time out while our backend is still processing the payment. How long will the payment sheet remain open before timing out? Is there a way to ensure it stays active until our processing is complete? Thank you in advance for any insights you can provide!
0
0
214
Apr ’24
Third-party payment system for a parking app.
Hello everyone, I am developing a parking app where users can find and pay for parking. Instead of directly paying with real money, users can reload their points or stars balance and then pay with that virtual money. Would using Apple's IAP be compulsory or can I integrate my third-party payment system within the app? If not, what if I direct the user to a website? Thank you!
0
0
265
Apr ’24
Shopify iOS SDK Apple Pay CSR Error: CSR algorithm/size incorrect. Expected: RSA(2048)
Integrating Apple Pay for a Shopify Store via headless ecomm. Shopify on the backend/iOS + visionOS app on the front end. Shopify won't admit that they're at the wrong here BUT they are. The available CSR file from Shopify that you download is not using the encryption method Apple accepts, therefore you have to work some OpenSSL magic on your Mac terminal to create the correct encryption Apple Developer requires. Open Chat GPT 4.0 or later and type in the below, your issue is solved on that front. "I'm trying to upload a certificate signing request file to create a merchant identity certificate for Apple Pay. I'm getting the following error message from Apple, "CSR algorithm/size incorrect. Expected: RSA(2048)". What does this mean and how do I fix the CSR file? I've uploaded the CSR file for reference." My issue now is that Shopify gives me an error when attempting to upload the Merchant ID certificate from Apple Developer. Simply stating, "An error occurred while trying to save the certificate." Anyone else get this far and run into this issue? Thanks
0
0
283
Apr ’24
In App Provisioning/Verification Issues
We are having issues with the In App Provisioning process, in particular during the last phase of the process, when the activationData, encryptedPassData, ephemeralPublicKey are passed to the PKAddPaymentPassRequest. We double-checked with our Issuer Host that activationData was required as plain string not encoded in Base64 in the previous version of PassKit, while now, as stated in the current Getting Started docs (9.5), all of the three objects are required in a Base64 format. Currently, even after encoding the activationData in Base64, we are still receiving an error after calling handler’s method with an PKPassKitError with code equals 2 and a localizedDescription of: “The operation couldn’t be completed”. To double check that there wasn't issues within our code, we also tried to add the same Card by manually add it through Apple Wallet application, but the same Alert error appear. Thanks for your support. Regards
0
0
235
Apr ’24
Merchant Validation Failure
I currently have two merchant id's configured in our production environment which are tied to separate certificates. The one below was recently created for our OlO integration which uses Spreedly. The other integration is with Worldpay directly. When attempting to validate the new merchant id for OlO, we get the following response. Request Body { "merchantIdentifier":"merchant.com.cbolo.prod", "displayName":"Cracker Barrel", "initiative":"web", "initiativeContext":"stage.crackerbarrel.com" } Response Body { "statusMessage": "Payment Services Exception merchantId=745C2D1BC1B86B0E3FF898001666D44AADE6EC457F128075A723DA511D0BA0B4 unauthorized to process transactions on behalf of merchantId=D276804A1BF06DADBAE2DC291266FB87C15C8E6702959025D56CF4694FAB56C4 reason=D276804A1BF06DADBAE2DC291266FB87C15C8E6702959025D56CF4694FAB56C4 never authorized mass enablement transactions to occur via 745C2D1BC1B86B0E3FF898001666D44AADE6EC457F128075A723DA511D0BA0B4", "statusCode": "400" } We have followed all the steps documented around verifying our domains and still we get this error. Has anyone had this issue and been able to resolve? We opened an Apple Support case 4 business days ago and have heard nothing back. Case: 102259384074.
1
0
369
Apr ’24