Apple Pay

RSS for tag

Discuss how to integrate Apple Pay into your app for secure and convenient payments.

Apple Pay Documentation

Post

Replies

Boosts

Views

Activity

How to react to card network on onpaymentmethodselected?
We're currently evaluating Apple Pay as a payment method on our site. For Amex US credit card payments, we charge a payment fee. For other credit cards, there is no such fee. However, for Apple Pay it seems we cannot configure this. What we currently tried is to implement onpaymentmethodselected. However, only the card type is part of the event, not the card network. Example code: session.onpaymentmethodselected = event => { /* event.paymentMethod only contains {type: "credit"} */ console.log('onpaymentmethodselected', event.paymentMethod); /* event.paymentMethod.network is therefore undefined, if we could have here 'amex', 'mastercard' etc, we could implement the payment fee we currently have*/ console.log('onpaymentmethodselected', event.paymentMethod.network); session.completePaymentMethodSelection({}); }; Is there a way to access the network in this callback? Or is there another way to implement payment fees with certain networks used via Apple Pay?
1
0
437
Apr ’24
Why do I need to whitelist Apple IP addresses on server
Hi all, I'm in the process of configuring Apple Pay for payments on an ecommerce site and I've come across the following documentation: Setting Up Your Server | Apple Developer Documentation It mentions the following in a yellow highlighted note Use a strict allow list for Apple IP addresses and domains provided in Listing 1. Do not allow your server to access any other IP addresses or domains. My first question is why does my server need to set a strict allowed list when the domain name apple-pay-gateway.apple.com is publicly accessible? My second question is that my web server is hosted on Vercel and I assume that there are no IP restrictions on any outbound requests. If there were restrictions where would I apply this whitelisting? Thanks for your help.
1
0
151
2w
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
0
113
2w
Using ApplePay to generate QR code
For instore payment, we are building payment app that would accept Applepay as method of payment and our payment gateway integration support Applepay. We are building this app for a Merchant based in Netherlands and wanted to check if there is any restriction in generating QR code that include apple pay payload and ask instore Cashier to scan the mobile QR using the barcode scanner to initial the transaction. Let me know if there is a restriction or limitation in generating the QR code to include Applepay payment details.
0
0
105
2w
Unable to decrypt encrypted_payment_data [cybersource]
Below is the case ID which we created at apple pay support portal for the issue which we are facing and we are posting same on the forum also as it is suggested by Apple pay team. Case-ID: 9834005 We are facing this error in payment gateway - Unable to decrypt encrypted_payment_data. below is the log from payment gateway [cybersource]- ---REQUEST DATA--- async_mode7296849007886963503009=XXXXX bill_address1=sd bill_city=new york bill_country=US bill_state=NY bill_zip=10258 card_type=004 client_application=SOAP Toolkit API client_environment=Win32NT10.0.20348.0 client_lib_version=NTA/XML/1.186 client_library=.NET WCF client_library_version=4.0.30319.42000 client_request_id=7296849007886963503009 currency=USD mailto:customer_email=[customer email address] customer_firstname=test customer_ipaddress=49.206.7.185 customer_lastname=t decision_manager_enabled=no encrypted_payment_data=XXXXXXXXXXXXXXXXXXXXXXXXX encrypted_payment_descriptor=RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U encrypted_payment_encoding=Base64 grand_total_amount=765.0 header_x_sproxy_start_time=XXXXXXXXXXXXX ics_applications=ics_auth, ics_bill ics_applications_from_merchant_request=ics_auth, ics_bill merchant_expiration_date=2026-04-13 03:42:00.000 merchant_id=mozu_estore merchant_key_type=XXXX merchant_ref_number=2298 merchant_serial_number=c50e8e161a011e0b58604e49d9f93cd652a9ae5b offer0=amount:765.0 payment_network_token_transaction_type=1 payment_solution=001 request_id=7296849007886963503009 Please us know the cause of this issue, we tired several times reconfigure with correct merchant identifier certificate and payment processing certificate. Please let me know for more details. Regards, Purva
0
0
68
2w
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
731
Aug ’23
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
138
2w
Types Payment
I have a project, and it basically works by posting real estate. And users can pay to upload their real estate ads. My question is this: my client wants to use the Pagseguro api to make these payments. Can I use this payment method with you too? Or do I need to integrate your own payment?
0
0
66
2w
The request was aborted: Could not create SSL/TLS secure channel
While submitting post request for Apple Pay Session in Sandbox enviornment, we are getting "The request was aborted: Could not create SSL/TLS secure channel" . The site is deployed in IIS and has TLS1.2 enabled , with Application using .NET 4.8 framework. All the setup required for Apple Pay as mentioned in the apple pay site are verified e.g. Ciphers, TLS , IPs whitesliting etc and they look good. We are able to connect thro Postman and same code works when tested from a sample console application in the server hosting the applicaiton However issue happens only when the session is initiated from the Application. Any pointers to the above is appreciated.....
1
0
86
2w
Multi Apple Pay MID // CyberSource
Hello everyone, Please need your advise if i can use a single Apple Pay MID for multiple CyberSource merchant IDs while creating the SCR or each merchant ID at CyberSource need a separate apple pay MID? or if i can create more than single apple pay MID on the same apple account?
0
0
54
2w
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
89
3w
Unable to Add AMEX Card to Sandbox Account
I’m trying to test an AMEX card in the sandbox environment, but it’s not getting added. I have followed and verified the checks below to add the card to Wallet: Sandbox account is active. Sandbox user region is set to the US. Device region is also set to the US. AMEX card from the provided list is being added. Tested on iOS version 17.6.1 Devices tested include iPhone 13 and others. Steps followed to add the card to Wallet: Open Wallet and tap on "Add Card." Entered the required test data. Tapped "Agree" and waited. Received error: "Issuer does not support this card." Please let me know if you have any solutions.
0
0
83
3w
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
549
Mar ’24
SSL issue with Apple pay web integration
I am seeking an assistance with an issue we've encountered during our efforts to integrate Apple Pay into our web application. We're using Angular on our client side. and our server side is powered by AEM(Adobe Experience Manager), which is based on Java. As part of our integration process, we're following the Apple Pay documentation. However, we've encountered a challenge during the merchant validation step. Our server-side implementation, responsible for validating the merchant identity and generating a session object for payment requests, is encountering an SSL handshake error. Here's the error message we're encountering: javax.net.ssl|FINE|01|main|2024-03-20 05:19:52.812 IST|SSLCipher.java:1817|KeyLimit read side: algorithm = AES/GCM/NOPADDING:KEYUPDATE countdown value = 137438953472 javax.net.ssl|FINE|01|main|2024-03-20 05:19:52.813 IST|SSLCipher.java:1971|KeyLimit write side: algorithm = AES/GCM/NOPADDING:KEYUPDATE countdown value = 137438953472 javax.net.ssl|FINE|01|main|2024-03-20 05:19:52.849 IST|SSLCipher.java:1817|KeyLimit read side: algorithm = AES/GCM/NOPADDING:KEYUPDATE countdown value = 137438953472 javax.net.ssl|FINE|01|main|2024-03-20 05:19:52.850 IST|SSLCipher.java:1971|KeyLimit write side: algorithm = AES/GCM/NOPADDING:KEYUPDATE countdown value = 137438953472 javax.net.ssl|FINE|01|main|2024-03-20 05:19:54.082 IST|Utilities.java:73|the previous server name in SNI (type=host_name (0), value=apple-pay-gateway-cert.apple.com) was replaced with (type=host_name (0), value=apple-pay-gateway-cert.apple.com) javax.net.ssl|FINE|01|main|2024-03-20 05:19:54.448 IST|SSLCipher.java:1817|KeyLimit read side: algorithm = AES/GCM/NOPADDING:KEYUPDATE countdown value = 137438953472 javax.net.ssl|FINE|01|main|2024-03-20 05:19:54.448 IST|SSLCipher.java:1971|KeyLimit write side: algorithm = AES/GCM/NOPADDING:KEYUPDATE countdown value = 137438953472 javax.net.ssl|SEVERE|01|main|2024-03-20 05:19:54.453 IST|TransportContext.java:369|Fatal (CERTIFICATE_UNKNOWN): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target ( "throwable" : { sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439) at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306) at sun.security.validator.Validator.validate(Validator.java:271) at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:312) at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:221) at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:128) at sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1339) at sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1230) at sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1173) at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:376) at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:479) at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:457) at sun.security.ssl.TransportContext.dispatch(TransportContext.java:200) at sun.security.ssl.SSLTransport.decode(SSLTransport.java:155) at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434) ... 24 more} } We've reviewed our server configuration and checked that the SSL/TLS settings are correctly configured. Additionally, we've ensured that the server's SSL certificate is valid and up-to-date.
1
0
482
Mar ’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
645
Mar ’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
787
Apr ’24
how to use APPLE WALLET API?
Hello there, i'm new in trying to use the apple wallet API. we want to create passes to add identification credentials in the costumer's apple wallet. but we have doubts, for example: is it mandatory to pay the apple developer memebership to use the examples of apple wallet api? also, is there a way or an example of using this API in node.js? Thanks for your attention, i will be waiting for your answers.
1
0
544
Apr ’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
140
3w