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

180 Posts

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 :)
1
0
1k
Nov ’24
Apple Pay Merchant Token Usage
Hi. I have a few questions about using Apple's MPAN tokens. Since Apple doesn't provide MPAN tokens in the sandbox environment, I'm having trouble understanding the differences between the MPAN and DPAN flows. I'm guessing they're the exact same, except when we detect the MPAN we save some information so we can use it in future transactions. If that's correct, my questions are: What information in the Apple Pay payment data indicates that it's an MPAN vs when it falls back to DPAN Like DPAN, the MPAN can be found in applicationPrimaryAccountNumber? Or is it found in the merchantTokenIdentifier? What is the bare minimum data needs to be stored in order for these merchant tokens be reused for future transactions?
0
1
501
Nov ’24
ApplePay how to create merchant tokens in sandbox
Hi, I'm trying to create merchant tokens in ApplePay sandbox environment, so then I can use them to invalidate token API call and lifecycle notifications testing. When processing test payment I use Apple Pay payment request taken directly from Apple's demo website (I skipped non important part of JSON) { ... "recurringPaymentRequest": { "paymentDescription": "A description of the recurring payment to display to the user in the payment sheet.", "regularBilling": { "label": "Recurring", "amount": "4.99", "paymentTiming": "recurring", "recurringPaymentStartDate": "2023-08-11T11:20:32.369Z" }, "trialBilling": { "label": "7 Day Trial", "amount": "0.00", "paymentTiming": "recurring", "recurringPaymentEndDate": "2023-08-11T11:20:32.369Z" }, "billingAgreement": "A localized billing agreement displayed to the user in the payment sheet prior to the payment authorization.", "managementURL": "https://applepaydemo.apple.com", "tokenNotificationURL": "https://applepaydemo.apple.com" }, ... } Payment is successful, but merchantTokenIdentifier in decrypted ApplePay token is always empty, regardless of test card used, I tried Visa, MasterCard, Amex. Anyone have an idea what I'm missing and how to get that merchant token? Is it even possible to test merchant tokens (lifecycle notifications) in sandbox?
3
3
1.3k
Nov ’24
Required support for Apple Pay multiple domain configuration
We have already completed the Apple Pay(App & Web) implementation according to the provided instructions. We have over 10,000 websites, each with a different domain. As per Apple’s documentation, we need to perform the domain verification process for each domain. Manually verifying all 10,000 domains is not feasible. For Google Pay, we have a streamlined process, and we would like to know if a similar solution exists for Apple Pay. Could you please provide us with any recommendations or solutions to facilitate this domain verification process efficiently?
1
0
495
Nov ’24
Changing the Apple Pay gateway without outage
Hi, I have a published app with Apple Pay integration working well. But, for business reasons, we need to change the gateway that process the payments. I thought that I could maintain the same Merchant ID just creating an additional certificate on it. But I figure out that I need to activate the new additional certificate to work on. When I try to activate the additional certificate I got a message that others certificates for the same merchant id will be revoked. So, I didn't yet. I am afraid that it will stop the published app to process Apple Pay payments if I activate the additional certificate. What is the correct approach ? Create a new Merchant ID for the new version of the app? Or am I missing something? Thanks
0
0
261
Nov ’24
Missing "add transaction" shortcut
I keep seeing that there's a shortcut called "Add transaction" where whenever a card was tapped from apple wallet, you can add some automation. https://support.apple.com/en-au/guide/shortcuts/apd65c67538a/7.0/ios/17.0 However, I cannot for the life of me find this option on my iphone 13 ios 17.6.1 All I can find when I go to the shortcuts app and search for transactions or apple wallet, I get 2 options to send/receive payments which isn't what I'm looking for. Did apple remove this shortcut??
1
0
661
Oct ’24
How can I manage multiple certificates?
I work on integrating online payment gateways. We are currently integrating Stripe and Adyen payment gateways. However, when integrating with Stripe, we use the certificate file provided by Stripe, and for Adyen, since there are not many payment transactions, we cannot create our own account, so we are using an account from a partner company. Therefore, we also have to use the Apple Pay certificate file from the partner company. In other words, the certificate files for Stripe and Adyen are different, but we want to get verification for the same domain. How can we set up to differentiate between Stripe and Adyen for the same domain with two different certificate files? The framework we are using is React.js for the frontend and Node.js for the backend.
1
0
884
Oct ’24
How to implement Dynamic QR Code passes for apple wallet?
I want to create passes with Dynamic QR Codes which changes based on T-OTP. Google wallet do have this feature called RotatingBarCode, while there is nothing like this in Apple wallet. Can we do this by updating the passes? If yes, how? If apple wallet pass are getting updates using webServiceURL, how can we create the endpoint and what the body of get request will look like?
2
1
1.4k
Oct ’24
apple pay session ECONNRESET
We were try to call Apple Pay startSession, but we are getting an following error, exception: Error: Error: socket hang up at SCAwsPay.validateSessiont (D:\projects\amazon_payment_nodejs\routes\controllers\secondaryControllers\SCAwsPay.js:158:19) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async D:\projects\amazon_payment_nodejs\routes\awsPay.js:56:18, const { merchantIdentifier, domainName, initiativeContext, initiative, displayName } = payload; const httpsAgent = new https.Agent({ rejectUnauthorized: false, cert: certificate, key: key, passphrase: 'team123' }); const headers = { 'Content-Type': 'application/json', }; let response = await axios.post("https://apple-pay-gateway.apple.com/paymentservices/startSession", { merchantIdentifier, domainName, displayName, }, { // headers, httpsAgent }); I kindly request your support in resolving this issue as soon as possible. Apple Pay is an essential feature for me, and I would greatly appreciate any guidance or solutions you can provide. Thank you for your attention to this matter. I look forward to your prompt response and assistance in resolving this issue.
1
0
962
Oct ’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
1.3k
Oct ’24
Sample ApplePayPaymentToken
Hi there. We're a large team integrating Apple Pay to a payment system. We'd like to start building the code that decrypts an ApplePayPaymentToken before the web client code that initiates the payment request is complete. Is there a way to obtain a sample ApplePayPaymentToken for our account to ensure that our decryption code / keys / certificates are configured properly? (Or the only way to obtain an ApplePayPaymentToken would be through completing of a payment request, i.e. step 29 of page 21 of this document: https://developer.apple.com/apple-pay/Apple-Pay-Merchant-Integration-Guide.pdf) Thank you
0
0
429
Oct ’24
Intermittent merchant validation
Hello, I've recently created a merchant ID and added two domains to it. I placed the verification .txt files in the right place (under the .well-known dir) and both verified successfully and show as such in the merchant id setup page. I am intermittently getting the following error: { "statusMessage": "Payment Services Exception merchantId=XXXXX not registered for domain=my.domain.com", "statusCode": "400" } (merchantId and domain have been masked in the above error) -- What's odd is that this is intermittent -- It'll work fine, and then stop and start giving the above error, and then start working fine again, with no intervention from me. Some context: This is a single server application, so it's not like we've got a server out of sync somewhere. Thoughts? Any thoughts?
4
2
1.3k
Oct ’24
Payment not completed error
I am using a sandbox account, and I set United States in the region column (Settings>General>Language & Region>Region to US). I added test cards like (American Express and Visa) and the cards added successfully. But I am trying to pay then I get an error like "Payment Not Completed". Note: I am trying from India. Please let me know what exactly i am doing mistake here Following code i am using. function onApplePayButtonClicked() { if (!ApplePaySession) { return; } // Define ApplePayPaymentRequest const request = { "countryCode": "US", "currencyCode": "USD", "merchantCapabilities": [ "supports3DS" ], "supportedNetworks": [ "visa", "masterCard", "amex", "discover" ], "total": { "label": "Demo (Card is not charged.)", "type": "final", "amount": "1.99" } }; // Create ApplePaySession const session = new ApplePaySession(3, request); session.onvalidatemerchant = event => { // Call your own server to request a new merchant session. var merchantSession = merchantValidation(event.validationURL); session.completeMerchantValidation(merchantSession); }; session.onpaymentmethodselected = event => { // Define ApplePayPaymentMethodUpdate based on the selected payment method. // No updates or errors are needed, pass an empty object. const update = {}; session.completePaymentMethodSelection(update); }; session.onshippingmethodselected = event => { // Define ApplePayShippingMethodUpdate based on the selected shipping method. // No updates or errors are needed, pass an empty object. const update = {}; session.completeShippingMethodSelection(update); }; session.onshippingcontactselected = event => { // Define ApplePayShippingContactUpdate based on the selected shipping contact. const update = {}; session.completeShippingContactSelection(update); }; session.onpaymentauthorized = event => { // Define ApplePayPaymentAuthorizationResult const result = { "status": ApplePaySession.STATUS_SUCCESS }; session.completePayment(result); }; session.oncouponcodechanged = event => { // Define ApplePayCouponCodeUpdate const newTotal = calculateNewTotal(event.couponCode); const newLineItems = calculateNewLineItems(event.couponCode); const newShippingMethods = calculateNewShippingMethods(event.couponCode); const errors = calculateErrors(event.couponCode); session.completeCouponCodeChange({ newTotal: newTotal, newLineItems: newLineItems, newShippingMethods: newShippingMethods, errors: errors, }); }; session.oncancel = event => { // Payment canceled by WebKit }; session.begin(); }
1
0
1k
Oct ’24
Is there a way to test apple pay recurring payment in sandbox?
Hello everyone Searching on the forums about the Mpan and the merchant Token Identifier I found there is no a good or clear way to get one of those, So I wonder if (without the risk to try it in production with a real payment) there is a way to test recurring payments by using an sandbox card or if the only solution is by on given from a bank or a card network for testing (but that solution is even more complex), it this last is the only way, what are the criteria to get the Mpan in the payment data? I know that the card network should support this feature is also a must, but how to know if the car network support Mpan? (is there a list?)
2
0
801
Oct ’24
Getting an MPAN, merchant token or merchantTokenIdentifier
We are trying to retrieve merchant tokens from ApplePay. We used the javascript codes from Apple Pay demo site to request for a recurring payment from the frontend. "recurringPaymentRequest": { "paymentDescription": "A description of the recurring payment to display to the user in the payment sheet.", "regularBilling": { "label": "Recurring", "amount": "4.99", "paymentTiming": "recurring", "recurringPaymentStartDate": "2023-08-11T11:20:32.369Z" }, "trialBilling": { "label": "7 Day Trial", "amount": "0.00", "paymentTiming": "recurring", "recurringPaymentEndDate": "2023-08-11T11:20:32.369Z" }, "billingAgreement": "A localized billing agreement displayed to the user in the payment sheet prior to the payment authorization.", "managementURL": "https://applepaydemo.apple.com", "tokenNotificationURL": "https://applepaydemo.apple.com" } Payment was successful, but merchantTokenIdentifier is not shown in the in decrypted ApplePay token, regardless of test card used. We tried Visa and MasterCard.
2
1
1.3k
Oct ’24
Apple Pay questions
Hi team, just a few general questions about Apple Pay: If user removes card from wallet, then re-adds it, will it preserve its Merchant Token (MPAN) or will a new one be generated? Is the DPAN the same as applicationPrimaryAccountNumber in this page: https://developer.apple.com/documentation/passkit_apple_pay_and_wallet/apple_pay/payment_token_format_reference Can a user have the same card active simultaneously in two devices? Thank you
3
0
916
Oct ’24
applePayCapabilities showing same result with/without apple Pay wallet and card
Hi, I was implementing Apple pay button by checking active wallet and at least one cards active. I am using applePayCapabilities as per DOCS but i am still getting the same type of response with apple pay wallet enabled and without apple pay wallet enabled on different devices as Loading the Apple Pay SDK: script.src = "https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js"; script.crossOrigin = "anonymous"; document.head.appendChild(script); script.onload = function() { console.log("Apple Pay SDK loaded successfully"); // Initialize Apple Pay or perform actions that require the SDK here }; script.onerror = function() { console.error("Error loading Apple Pay SDK"); }; Calling applePayCapabilities method: window.ApplePaySession.applePayCapabilities("merchant.com.example").then(r => console.log(r)) Output: {paymentCredentialStatus: "paymentCredentialsAvailable"} Image attachments of applePayCapabilities: Devices Config Used:- Chip - Apple M3 Pro macOs - Sequoia 15.0.1 memory - 36 GB Safari Version - 18.0.1
0
1
474
Oct ’24