Apple Pay on the Web

RSS for tag

Apple Pay on the Web allows you to accept Apple Pay on your website using JavaScript-based APIs.

Posts under Apple Pay on the Web tag

122 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

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?
0
0
401
Mar ’24
Onvalidatemerchant giving error: " The underlying connection was cloased."
Case-ID: 6394971 Hi Apple Team, We are trying to implement “onvalidatemerchant” event, but we are facing below error. “System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host” below is the sample code what we trying. string validationUrl = https://apple-pay-gateway.apple.com/paymentservices/startSession; var sessionRequestBody = new ApplePaySessionRequest { merchantIdentifier = "merchant.com.onepay.onepaygo", displayName = "Apple Pay OnePay", Initiative = "web", initiativeContext = "portaldev.onepay.com" }; We are also added the merchant certificate. We have also tried other url: string validationUrl = https://apple-pay-gateway-cert.apple.com/paymentservices/startSession. Let me know if you need any other info.
0
0
288
Mar ’24
Apple Pay/Developer
Hello, so am trying to setup Apple Pay for my stripe and in the steps says: Select the merchant ID you want to add this certificate to, then click 'Create Certificate' in the Apple Pay Payment Processing Certificates section. When it prompts you to upload a certificate signing request, select the .certSigningRequest file you just downloaded. Check that your certificate details are correct. Download to save the certificate locally. And for the first step they gave this link (https://developer.apple.com/account/resources/identifiers/list/merchant) but when i enter it i cant access it and it says: Access Unavailable This resource is only for developers enrolled in a developer program or members of an organization’s team in a developer program.
1
0
372
Mar ’24
ApplePay Session 400: Bad Request
Suddenly I keep getting the following error: "HTTP Status 400 \u2013 Bad Requestbody {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}HTTP Status 400 \u2013 Bad Request" Apple Merchant Identifier certificate and Apple Payment Processing certificate are fine. Everything was working fine some days ago. The domain has been successfully registered as well.
0
0
221
Mar ’24
Is it mandetory to display coupon discount on Apple Pay
I am building a functionality where I am offering some discount to user based on some coupon code. The management of Coupon I am handling at my website and after applying coupon user can see the updated pricing. Now if the user proceed with the payment using ApplePay as per Apple docs https://developer.apple.com/design/human-interface-guidelines/apple-pay > Display the active coupon or promotional code, or give people a way to enter it. For example, if people can enter a code before the payment sheet appears, displaying it on the sheet can reassure them that the code works as they expect. Alternatively, allowing code entry on the payment sheet can be particularly beneficial in an express checkout flow. Looking into this it is not clear to me weather it is a good practice to follow or a strict guideline. What could be the consequences if I don't show any coupon discount related information on ApplePay payment page
0
0
421
Feb ’24
CyberSource Apple Pay Issue
Im integrating the cybersource Magento 2 Module for Apple pay https://commercemarketplace.adobe.com/cybersource-global-payment-management.html I have created all the certificates and domain registration etc as mention in the document below https://commercemarketplace.adobe.com/media/catalog/product/cybersource-global-payment-management-3-5-6-ece/user_guides.pdf On frontend we can see the apple pay button, By pressing, we get the payment popup. It validate the merchant and provide us the apple pay session. we pass the session to completeMerchantValidation Session data is below { "session": { "epochTimestamp": 1708324489053, "expiresAt": 1708328089053, "merchantSessionIdentifier": "SSH544DA4D256BE4F6488E8EFC2A5A1E4A0_916523AAED1343F5BC5815E12BEE9250AFFDC1A17C46B0DE5A943F0F94927C24", "nonce": "b27da5ca", "merchantIdentifier": "730A9A8614BF57A050E2111C3579925ADCA174167207862B85F122AD2BFB73EF", "domainName": "https://m2dev-tm.tm8.co.uk/", "displayName": "ApplePayTM", "signature": "308006092a864886f70d010702a0803080020101310d300b0609608648016503040201308006092a864886f70d0107010000a080308203e330820388a00302010202084c304149519d5436300a06082a8648ce3d040302307a312e302c06035504030c254170706c65204170706c69636174696f6e20496e746567726174696f6e204341202d20473331263024060355040b0c1d4170706c652043657274696669636174696f6e20417574686f7269747931133011060355040a0c0a4170706c6520496e632e310b3009060355040613025553301e170d3139303531383031333235375a170d3234303531363031333235375a305f3125302306035504030c1c6563632d736d702d62726f6b65722d7369676e5f5543342d50524f4431143012060355040b0c0b694f532053797374656d7331133011060355040a0c0a4170706c6520496e632e310b30090603550406130255533059301306072a8648ce3d020106082a8648ce3d03010703420004c21577edebd6c7b2218f68dd7090a1218dc7b0bd6f2c283d846095d94af4a5411b83420ed811f3407e83331f1c54c3f7eb3220d6bad5d4eff49289893e7c0f13a38202113082020d300c0603551d130101ff04023000301f0603551d2304183016801423f249c44f93e4ef27e6c4f6286c3fa2bbfd2e4b304506082b0601050507010104393037303506082b060105050730018629687474703a2f2f6f6373702e6170706c652e636f6d2f6f63737030342d6170706c65616963613330323082011d0603551d2004820114308201103082010c06092a864886f7636405013081fe3081c306082b060105050702023081b60c81b352656c69616e6365206f6e207468697320636572746966696361746520627920616e7920706172747920617373756d657320616363657074616e6365206f6620746865207468656e206170706c696361626c65207374616e64617264207465726d7320616e6420636f6e646974696f6e73206f66207573652c20636572746966696361746520706f6c69637920616e642063657274696669636174696f6e2070726163746963652073746174656d656e74732e303606082b06010505070201162a687474703a2f2f7777772e6170706c652e636f6d2f6365727469666963617465617574686f726974792f30340603551d1f042d302b3029a027a0258623687474703a2f2f63726c2e6170706c652e636f6d2f6170706c6561696361332e63726c301d0603551d0e041604149457db6fd57481868989762f7e578507e79b5824300e0603551d0f0101ff040403020780300f06092a864886f76364061d04020500300a06082a8648ce3d0403020349003046022100be09571fe71e1e735b55e5afacb4c72feb445f30185222c7251002b61ebd6f55022100d18b350a5dd6dd6eb1746035b11eb2ce87cfa3e6af6cbd8380890dc82cddaa63308202ee30820275a0030201020208496d2fbf3a98da97300a06082a8648ce3d0403023067311b301906035504030c124170706c6520526f6f74204341202d20473331263024060355040b0c1d4170706c652043657274696669636174696f6e20417574686f7269747931133011060355040a0c0a4170706c6520496e632e310b3009060355040613025553301e170d3134303530363233343633305a170d3239303530363233343633305a307a312e302c06035504030c254170706c65204170706c69636174696f6e20496e746567726174696f6e204341202d20473331263024060355040b0c1d4170706c652043657274696669636174696f6e20417574686f7269747931133011060355040a0c0a4170706c6520496e632e310b30090603550406130255533059301306072a8648ce3d020106082a8648ce3d03010703420004f017118419d76485d51a5e25810776e880a2efde7bae4de08dfc4b93e13356d5665b35ae22d097760d224e7bba08fd7617ce88cb76bb6670bec8e82984ff5445a381f73081f4304606082b06010505070101043a3038303606082b06010505073001862a687474703a2f2f6f6373702e6170706c652e636f6d2f6f63737030342d6170706c65726f6f7463616733301d0603551d0e0416041423f249c44f93e4ef27e6c4f6286c3fa2bbfd2e4b300f0603551d130101ff040530030101ff301f0603551d23041830168014bbb0dea15833889aa48a99debebdebafdacb24ab30370603551d1f0430302e302ca02aa0288626687474703a2f2f63726c2e6170706c652e636f6d2f6170706c65726f6f74636167332e63726c300e0603551d0f0101ff0404030201063010060a2a864886f7636406020e04020500300a06082a8648ce3d040302036700306402303acf7283511699b186fb35c356ca62bff417edd90f754da28ebef19c815e42b789f898f79b599f98d5410d8f9de9c2fe0230322dd54421b0a305776c5df3383b9067fd177c2c216d964fc6726982126f54f87a7d1b99cb9b0989216106990f09921d00003182018730820183020101308186307a312e302c06035504030c254170706c65204170706c69636174696f6e20496e746567726174696f6e204341202d20473331263024060355040b0c1d4170706c652043657274696669636174696f6e20417574686f7269747931133011060355040a0c0a4170706c6520496e632e310b300906035504061302555302084c304149519d5436300b0609608648016503040201a08193301806092a864886f70d010903310b06092a864886f70d010701301c06092a864886f70d010905310f170d3234303231393036333434395a302806092a864886f70d010934311b3019300b0609608648016503040201a10a06082a8648ce3d040302302f06092a864886f70d010904312204200ec2a0bbeaa1791676d1e55dfa5508f1804078c30819015aa5cf0dff581dbbb7300a06082a8648ce3d040302044630440220583b5904fe628bcf5b717915e71fbe4042bdf2173e7bcfb8528e5c451790b9a702203bd50451d8aa9b426f60b647137294cacff5f43f591503e8c0b61700fb124bab000000000000", "operationalAnalyticsIdentifier": "ApplePayTM:730A9A8614BF57A050E2111C3579925ADCA174167207862B85F122AD2BFB73EF", "retries": 0, "pspId": "730A9A8614BF57A050E2111C3579925ADCA174167207862B85F122AD2BFB73EF" } } but it goes directly to appleSession.oncancel after passing it to completeMerchantValidation Is anyone face the same issue ?
0
0
296
Feb ’24
Apple Pay and Diners Club
I'm using Apple Pay JS api to enable Apple Pay on the web. Does Apple Pay on the web support Diners Club cards? The apple doc doesn't have a network entry for Diners Club: supportedNetworks But on the DinersClub website indicates a customer can use their Diners card for Apple Pay: https://www.dinersclubus.com/home/consumer-cards/conscards-l2/apple-pay What network name needs to be used when initializing ApplePayPaymentRequest/supportedNetworks array on the payment sheet to indicate that Diners Club is supported?
0
0
461
Feb ’24
ApplePay with Visa- test card for ECI=7 needed
Hi, We would like to test the processing of ApplePay transaction with Visa card for which the Acquirer doesn`t get the liability shift, meaning we get the ECI=7 in the payment token data. In theory, this should be for all cards outside of Europe, but we have noticed that all test cards listed for Visa result in ECI=5, regardless of the Issuer country. Can you please provide us a test card for Visa with ECI=7? Thanks, Dijana
1
0
434
Feb ’24
issue with Merchant validation from web ASP.NET core behind load balancer
Getting issue while doing merchant validation from windows server behind load balancer. "System.IO.IOException: The decryption operation failed, see inner exception.\r\n ---> System.ComponentModel.Win32Exception (0x80090326): The message received was unexpected or badly formatted.\r\n --- End of inner exception stack trace ---\r\n at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](TIOAdapter adapter, Memory`1 buffer)\r\n at System.Net.Http.HttpConnection.InitialFillAsync(Boolean async)\r\n at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)" Please anyone can help here code snippet : // POST the data to create a valid Apple Pay merchant session. string json = JsonSerializer.Serialize(request); string path = "apple-pay-cert.pem"; string jsonfilepath = _configuration.GetSection("ApplePay").GetValue<string>("MerchantCertificateFileName"); if (!string.IsNullOrEmpty(jsonfilepath)) { path = _hostingEnvironment.ContentRootFileProvider.GetFileInfo(jsonfilepath)?.PhysicalPath; } var cert = new X509Certificate2(path, "", X509KeyStorageFlags.UserKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable); var sslOptions = new SslClientAuthenticationOptions(); var shHandler = new SocketsHttpHandler { MaxConnectionsPerServer = 100, AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate, PooledConnectionLifetime = TimeSpan.FromMinutes(3), ConnectTimeout = TimeSpan.FromSeconds(100), PooledConnectionIdleTimeout = TimeSpan.FromSeconds(60), ResponseDrainTimeout = TimeSpan.FromSeconds(60), }; if (cert != null) { shHandler.SslOptions = new SslClientAuthenticationOptions() { ClientCertificates = new X509CertificateCollection(), }; shHandler.SslOptions.ClientCertificates.Add(cert); shHandler.SslOptions.LocalCertificateSelectionCallback = (object sender, string targetHost, X509CertificateCollection localCertificates, X509Certificate remoteCertificate, string[] acceptableIssuers) => cert; } ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; var httpClient = new HttpClient(shHandler); using var content = new StringContent(json, Encoding.UTF8, MediaTypeNames.Application.Json); using var response = await httpClient.PostAsync(requestUri, content, cancellationToken); response.EnsureSuccessStatusCode(); // Read the opaque merchant session JSON from the response body. using var stream = await response.Content.ReadAsStreamAsync(); return await JsonDocument.ParseAsync(stream, cancellationToken: cancellationToken);
0
0
485
Feb ’24
Shopware 6 Apple Pay just "Domain verification failed."
Hello, we're using Shopware 6.5.7.3 and would like to offer our customers Apple Pay. The Domain verification has succeeded once already. Because of our Payment Provider the Identfifiers and certificates have to be grenerated a certain way, which we did not know at the time. Alas the domain has to be verified again. The problem is that the verification will not succeed anymore. A new Merchant ID, Merchant ID Certificate & Payment Processing Certificate have been generated. Previously there had been error messages (paraphrased) like "Domain verification failed. The file can't be reached", which have been fixed. This time the only error message is "Domain verification failed". No extra explanation, just these 3 words. The file "apple-developer-merchantid-domain-association.txt" can be reached inside the dir public/.well-know directory and the nginx acces.log documents a foreign Apple device accessing the file when the verification process is started in the Apple Dev backend: "172.20.0.2 - - [29/Jan/2024:14:35:08 +0000] "GET /.well-known/apple-developer-merchantid-domain-association.txt HTTP/1.1" 200 5744 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML%2C like Gecko) Version/9.1.2 Safari/601.7.7" "17.179.144.226" 0.000 - . -" Does anyone know what the exact error message "Domain verification failed." means? Which files are neccessary to verify the domain? Do files like merchant_id.cer/.pem/.key in %root%/config/apple-pay-cert play a role in this specific process? Thank you very much for any insight
0
0
474
Jan ’24
Apple Pay - Token Management API
I am trying to understand how to use the token notification API to deactivate a token when the user unsubscribes. The main issue I see is that I do not receive the merchantTokenIdentifier in my payload when initiating a new recurring transaction. I have not found any working examples showing end-to-end to integration here. The docs are a little confusing as well, I found this: merchantTokenIdentifier string For a merchant token request, the provisioned merchant token identifier from the payment network But I did not find anything about a "merchant token request"
1
0
487
Jan ’24
Security concern for public .well-known/apple-developer-merchantid-domain-association domain-verification file
As the document mentioned "Host your domain-verification file at the following path for each domain you’re registering: https://[DOMAIN_NAME]/.well-known/apple-developer-merchantid-domain-association" and that file contain "pspId" and "signature" so just want to know these are not sensitive it gets in the hands of an attacker ??
0
0
343
Jan ’24
Multiple apple developer merchantid domain association files
Hello, I'm not sure this is the right place to ask this question, but we've a scenario that I'd like to get some help on. We're integrated with Stripe, and have enabled Apple Pay for Stripe accounts. So, in order for the domain to be verified to enable apple pay, we're hosting the file apple-developer-merchantid-domain-association under ${domain}/.well-known/. And that's working great. Now, we also want to enable apple pay through another payment processor Cardknox, for which the integration is done. But for domain verification purposes, we've to host a different apple-developer-merchantid-domain-association in the same directory. So, if I update the file contents, domain verification through Stripe will fail, and vice-versa. I'm sure this must have come up before, and I'd like to know your opinion on how we can resolve this. Is there a way to configure different paths for verification? Thanks a lot.
0
0
484
Jan ’24
newDeferredPaymentRequest doesn't work
Hi all Im trying to update deferDeferredPaymentRequest on event completeShippingMethodSelection API ver 14 So Im using ApplePayShippingMethodUpdate object which contains newDeferredPaymentRequest But deferred payment cannot be updated. Here is my ApplePayDeferredPaymentRequest object for newDeferredPaymentRequest: "deferredBilling": { "label": "Pay for Later", "amount": 68, "paymentTiming": "deferred", "type": "final", "deferredPaymentDate": "2024-01-25" }, "managementURL": "https://siteURL.com", "paymentDescription": "A description of the deferred payment to display to the user in the payment sheet.", "freeCancellationDate": "2024-01-25", "freeCancellationDateTimeZone": "America/New_York" } Even I tried to put mistake for newDeferredPaymentRequest but ApplePay doesn't throw a JS error Can we update deferred ? for example, ApplePayRecurringPaymentRequest can't be updated according to documentation https://developer.apple.com/documentation/apple_pay_on_the_web/applepayrecurringpaymentrequest But I can't find same info for Deferred. Who can help me with it?
0
0
323
Jan ’24
Apple Pay - merchant identity certificate is it required to be on site?
Hi, I have a question about the merchant ID domain verification file. Do we need to store that file on our site permanently, or can we delete it after domain verification? I searched for this information in the documentation, but found nothing specific. https://developer.apple.com/documentation/applepaywebmerchantregistrationapi/preparing_merchant_domains_for_verification
0
0
391
Dec ’23