Post not yet marked as solved
I'm trying to get Apple Pay going on a Shopify site using Authorize.net. I have the text file I need to upload to /.well-known/apple-developer-merchantid-domain-association.txt. Shopify doesn't allow that sort of thing. I know Google will offer a meta tag to add to the header as an alternative when the text file isn't an option. I can't seem to find another method with Apple in this situation. Has anyone found a way around this?
Post not yet marked as solved
I'm facing an issue with some master sandbox testing cards, the DPAN value displayed on the “Wallet
& Apple Pay Setting” different from the value we got after decrypting the payment token. check the below sample values:
FPAN: 5204 2477 5000 1497
DPAN on device setting: **********5057
Decrypted DPAN: 520424****5996
The DPAN and the decrypted DPAN should be the same.
Must access to the domain-verification file for Apple-Pay at
https://[DOMAIN_NAME]/.well-known/apple-developer-merchantid-domain-association
be restricted to the Apple Pay IP addresses provided under the Allow Apple IP Addresses for Domain Verification heading of Setting Up Your Server | Apple Developer Documentation - https://developer.apple.com/documentation/apple_pay_on_the_web/setting_up_your_server#3172427 or can it be accessed publicly?
Asking because ".well-known" is usually meant to be public but, because the domain-verification file is used to validate a domain, should the file not be protected from public access so the file cannot be retrieved with the malicious intent to validate a spoofed domain?
Also, the fact the domain-verification file content is not trivial hints its access should be restricted.
Thank you!
Post not yet marked as solved
I have followed all the steps in here https://help.apple.com/developer-account/#/dev1731126fb
Only step that I am not sure is merchant identity certificate creation. I didn't use the keychain and I used IIS to create a CSR and installed the certificate in the windows server.
However according to my logs, execution doesn't even going to verify the merchant.
When I click the ApplePay button it brings the card details as follows, but the bottom button stays "Processing" as follows. May I know what could be the reason?
Thanks.
Post not yet marked as solved
I am adding ApplePay using Chase. Chase provided me with the certificate signing request and we created the certificate, but they say they cant provide us with the private key used to create the .csr, so every time I try to create the ApplePay Payment Session (https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/requesting_an_apple_pay_payment_session), I got an error as I am passing only the certificate.
If I create the .csr then I can sucessfully create the ApplePay Payment Session because I also have the private key, but as it wasnt created by Chase, it doesnt contain their info and they reject it.
So, It is possible to request the ApplePay Payment Session without the private key? I tried creating an p12 file, but I dont get that option as it doesnt find the private key in the pc and I tried to install the certificate in the store, but when I read it, it doesnt have the private key and it fails in Apple
Post not yet marked as solved
We have had this issue for nearly 1 year now - and any help would be greatly appreciated.
When a customer arrives at the cart they see the Apple pay option and various shipping methods.
Orders over £25 qualify for free 48 hrs delivery and orders over £50 its 24 hrs shipping option.
These are manual shipping methods we have in place and set up for all UK customers.
Our issue is that we also have calculated rates for UPS via Shipstation and easypost and for some reason these appear 1st (Due to the way the ecom platform core code functions) in the apple pay prompt and it auto selects the 1st option and it is a UPS at around £10.
As it is an express payment method our customers are maybe in a hurry and they do not notice this and the fact that the shipping method needs to be manually selected even if your order qualifies for free shipping.
We are aware that this causes frustration for our customers and a very time consuming process for us as we refund the difference many times a week.
Our developers are stuck and provided the following notes -
I have implemented this sorting using different approaches, but it looks like changing the order of the shipping options is causing an issue with apple pay.
I can't properly test the apple pay button. I can reorder the shipping options on the cart page, this seems to work for the regular checkout but it creates a problem with apple pay. I've tried multiple ways to reorder the list here, but it breaks apple pay.
Re the stripe code that the client mentioned - I could be wrong here - but I think shipping options never actually get passed to stripe - only the cart total and the cart items - that's it - null variable for shipping options. There is a changeShippingOptions function in the Stripe code, but i've tested updating the address and shipping options during the cart/checkout process but that part of the code doesn't get called.
Regarding the last point raised, all the shipping methods available do show in the apple pay prompt as they would in the regular checkout, so I am not sure what they mean by this.
This is in contrast to what stripe have advised -
Apologies for the delay in our response on this one, but the shipping options are sequential in the sense that they display in order of how they were passed with the code. Changing your code to include the "free" option first will then make that the default when a customer enters your payment form:
shippingOptions: [ // The first shipping option in this list appears as the default // option in the browser payment interface. {
^^ the code above is an example of this.
A huge show of appreciation to anyone that can provide any advice or suggestions on this.
https://www.waterstreetgallery.co.uk/
This is the stripe script that enables Apple pay
In particular the line - var firstShippingOption = shippingOptions[0]; - I think is what is pulling in the options, we just need to tell it to prioritise Some methods over others.
An alteration to the code below was written by our developers that showed the shipping methods in an array but when they replaced it the Apple pay would not complete and after about 25 seconds payment not complete.
Any suggestions would be much appreciated 😀
`
Post not yet marked as solved
How can I access Apple Pay sandbox transaction history?
Post not yet marked as solved
I'm wanting to implement and test Apple Pay on the Web using my localhost instance. I've managed to set everything up correctly and so I'm able to get a merchant session from the Apple Pay API, but the client code immediately calls oncancel after calling session.completeMerchantValidation.
After following this I'm seeing the following in the terminal:
com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitCore) [com.apple.passkit:Payment] Evaluating merchant session using PROD trust policy.
com.apple.PassKit.PaymentAuthorizationUIExtension: (PassKitCore) [com.apple.passkit:Payment] Application failed to provide a valid merchant session. We can't proceed to authorize the transaction.
From reading various online sources, including the documentation referenced above, it seems like this might be happening because localhost isn't a validated/verified domain under our merchant account which also means using localhost seems to be out of the question for local development. I was hoping that using the sandbox account would have been enough to maybe loosen up the domain requirement, but not so. Anything that can be set either on the account or in code to allow for the use of localhost with Sandbox accounts or is there some tool that I need to use for this or is this really only test-able under our sandbox domain?
Post not yet marked as solved
I'm getting "Apple pay is not available for this website" error on SB after the onpaymentmethodselected event (not getting error onvalidatemerchant event) and the onPaymentAuthorised doesn't get hit at all.
Here's my session data
{
"epochTimestamp":1652440219969,
"expiresAt":1652443819969,
"merchantSessionIdentifier":"SSH37EBB5A957294F0FBBD4F9C496317E1E_916523AAED1343F5BC5815E12BEE9250AFFDC1A17C46B0DE5A943F0F94927C24",
"nonce":"51b5b6b1",
"merchantIdentifier":"1B0FD6FCF62FBDA91A08BA2A18F4283AC1FFF6B69FC191B9F886482370BFC729",
"domainName":"d176lcemp34qxj.cloudfront.net",
"displayName":"Shamim",
"signature":"308006092a864886f70d010702a0803080020101310f300d06096086480165030402010500308006092a864886f70d0107010000a080308203e43082038ba003020102020859d8a1bcaaf4e3cd300a06082a8648ce3d040302307a312e302c06035504030c254170706c65204170706c69636174696f6e20496e746567726174696f6e204341202d20473331263024060355040b0c1d4170706c652043657274696669636174696f6e20417574686f7269747931133011060355040a0c0a4170706c6520496e632e310b3009060355040613025553301e170d3231303432303139333730305a170d3236303431393139333635395a30623128302606035504030c1f6563632d736d702d62726f6b65722d7369676e5f5543342d53414e44424f5831143012060355040b0c0b694f532053797374656d7331133011060355040a0c0a4170706c6520496e632e310b30090603550406130255533059301306072a8648ce3d020106082a8648ce3d030107034200048230fdabc39cf75e202c50d99b4512e637e2a901dd6cb3e0b1cd4b526798f8cf4ebde81a25a8c21e4c33ddce8e2a96c2f6afa1930345c4e87a4426ce951b1295a38202113082020d300c0603551d130101ff04023000301f0603551d2304183016801423f249c44f93e4ef27e6c4f6286c3fa2bbfd2e4b304506082b0601050507010104393037303506082b060105050730018629687474703a2f2f6f6373702e6170706c652e636f6d2f6f63737030342d6170706c65616963613330323082011d0603551d2004820114308201103082010c06092a864886f7636405013081fe3081c306082b060105050702023081b60c81b352656c69616e6365206f6e207468697320636572746966696361746520627920616e7920706172747920617373756d657320616363657074616e6365206f6620746865207468656e206170706c696361626c65207374616e64617264207465726d7320616e6420636f6e646974696f6e73206f66207573652c20636572746966696361746520706f6c69637920616e642063657274696669636174696f6e2070726163746963652073746174656d656e74732e303606082b06010505070201162a687474703a2f2f7777772e6170706c652e636f6d2f6365727469666963617465617574686f726974792f30340603551d1f042d302b3029a027a0258623687474703a2f2f63726c2e6170706c652e636f6d2f6170706c6561696361332e63726c301d0603551d0e041604140224300b9aeeed463197a4a65a299e4271821c45300e0603551d0f0101ff040403020780300f06092a864886f76364061d04020500300a06082a8648ce3d0403020347003044022074a1b324db4249430dd3274c5074c4808d9a1f480e3a85c5c1362566325fbca3022069369053abf50b5a52f9f6004dc58aad6c50a7d608683790e0a73ad01e4ad981308202ee30820275a0030201020208496d2fbf3a98da97300a06082a8648ce3d0403023067311b301906035504030c124170706c6520526f6f74204341202d20473331263024060355040b0c1d4170706c652043657274696669636174696f6e20417574686f7269747931133011060355040a0c0a4170706c6520496e632e310b3009060355040613025553301e170d3134303530363233343633305a170d3239303530363233343633305a307a312e302c06035504030c254170706c65204170706c69636174696f6e20496e746567726174696f6e204341202d20473331263024060355040b0c1d4170706c652043657274696669636174696f6e20417574686f7269747931133011060355040a0c0a4170706c6520496e632e310b30090603550406130255533059301306072a8648ce3d020106082a8648ce3d03010703420004f017118419d76485d51a5e25810776e880a2efde7bae4de08dfc4b93e13356d5665b35ae22d097760d224e7bba08fd7617ce88cb76bb6670bec8e82984ff5445a381f73081f4304606082b06010505070101043a3038303606082b06010505073001862a687474703a2f2f6f6373702e6170706c652e636f6d2f6f63737030342d6170706c65726f6f7463616733301d0603551d0e0416041423f249c44f93e4ef27e6c4f6286c3fa2bbfd2e4b300f0603551d130101ff040530030101ff301f0603551d23041830168014bbb0dea15833889aa48a99debebdebafdacb24ab30370603551d1f0430302e302ca02aa0288626687474703a2f2f63726c2e6170706c652e636f6d2f6170706c65726f6f74636167332e63726c300e0603551d0f0101ff0404030201063010060a2a864886f7636406020e04020500300a06082a8648ce3d040302036700306402303acf7283511699b186fb35c356ca62bff417edd90f754da28ebef19c815e42b789f898f79b599f98d5410d8f9de9c2fe0230322dd54421b0a305776c5df3383b9067fd177c2c216d964fc6726982126f54f87a7d1b99cb9b0989216106990f09921d00003182018d30820189020101308186307a312e302c06035504030c254170706c65204170706c69636174696f6e20496e746567726174696f6e204341202d20473331263024060355040b0c1d4170706c652043657274696669636174696f6e20417574686f7269747931133011060355040a0c0a4170706c6520496e632e310b3009060355040613025553020859d8a1bcaaf4e3cd300d06096086480165030402010500a08195301806092a864886f70d010903310b06092a864886f70d010701301c06092a864886f70d010905310f170d3232303531333131313031395a302a06092a864886f70d010934311d301b300d06096086480165030402010500a10a06082a8648ce3d040302302f06092a864886f70d01090431220420463e324ef2a67be4caad2196e90cd77e4a215ee2e2dee5ebb37bc5f18d4f0e76300a06082a8648ce3d04030204483046022100b1aef11ea8f5940eef195c13d0879528ff6ddd59a671aaede8bdb0a4a0aafc290221009257a1f32bfea292d8cd819682343d840b75a1d332c3154c33b701a3b8c0166b000000000000",
"operationalAnalyticsIdentifier":"Shamim:1B0FD6FCF62FBDA91A08BA2A18F4283AC1FFF6B69FC191B9F886482370BFC729",
"retries":0,
"pspId":"1D867D2918895F195CF99A0BCCA8B3E63C0AB3FC997F254501617482BBCF21F9"
}
and this is the url that i'm testing with
https://d176lcemp34qxj.cloudfront.net/MerchantSiteSB.html
Can somebody please assist to find the issue? or how should i get more details on the error?
Post not yet marked as solved
Hi
we have an online web shop and is worming on a mobile app.
Will I need to pay 30% commission to Apple for every sale that is done through the mobile IOS app ?
Thanks
Kind Regards
Steen
Post not yet marked as solved
Hi,
I am currently integrating Apple Pay into a subscription web app. Our payment processor is NMI. Everything is working for individual charges. However, I am unable to get recurring payments to work. I tried to re-charge the initial token but NMI returns "DO NOT HONOR". How do I get access to a rechargeable token?
The .onpaymentmethodselected event listener is only returning PaymentMethod: {type: "Credit"}. No token there.
I tried to utilize tokenNotificationURL but it seems like the webhook is never being triggered. I setup a custom endpoint on my node.js server and I utilzed Ngrok to tunnel to my localhost. I also tried webhook.site but none of these solutions received anything from apple pay. I also changed the recurring payment interval to "minute" to test if the token would become chargeable again after 60 seconds - which didn't work either.
How do I get access to a token that I can re-charge on a monthly basis?
Post not yet marked as solved
I'm currently implementing recurring donations for our Apple Pay on the Web integration and I'm trying to figure out what the x-request-id header is on the Get Details of a Merchant Token Event HTTP request. I'm not sure if that's an existing value I'm throwing in there or if it's a generic id I'm just putting in the header for Apple to use.
the documentation in question is:
Get Details of Merchant Token Event
Post not yet marked as solved
I need to add an Apple Pay button in my web reacts typescript App. I need to use checkout.com as the payment gateway. Can you please support with the needed steps:
This feature is already successfully implemented via iOS app, but I am having trouble finding detailed documentations on how to achieve this via web
Post not yet marked as solved
Want to enable Apple pay for web. I have a processing certificate and also verified my merchant domain . I not able create merchant identify certificate.
Under the below section :
Apple Pay Merchant Identity Certificate ->
Create an Apple Pay Merchant Identity Certificate for this Merchant ID.
button is greyed /disabled .
What am i missing.
Post not yet marked as solved
What is the List of supported Web Browsers for Apple Pay on the Web?
We were able to do a PoC that starting from IOS 16 the Apple Pay works on Google Chrome, but there is no official documentationt that states about that.
Is there any other official statements from apple regarding support of Apple Pay for other browsers than Safari.
Post not yet marked as solved
Hi - I am trying to create a Sandbox Tester to test an Apple Pay integration.
I completed all the fields, hit the blue CREATE button, get the loading icon - but then nothing happens. Window doesn't close. No error message. But no Sandbox Tester created either.
What am I doing wrong?
Thanks so much for your help!!
Best,
Oliver
Post not yet marked as solved
I am currently implementing Apple Pay and would like to display the terms/agreement for each recurring product in a list of many. I understand that there is support for one recurring product, but not more than one. Is this possible or are there plans to implement this? Our backend is handling the recurring payments so I just need to display multiple billing agreements. There is a very similar question posted recently here
Hi, i was integrating apple pay web. I have used my sandbox test id, generated processing certificate and merchant certificate, and finished session.onvalidatemerchant this step with return merchantSession successfully. The current situation is :
For the MacOS safari, it continuously throw Payment Not Completed and can't trigger session.onpaymentmethodselected .
and when check event returned from session.oncancel. => {"isTrusted":true}
Can somebody guid me through it?
Note :
I'm trying to check it on local machine and on staging server the same issue
Post not yet marked as solved
Hello, do you have sample implementation codes for a multi-merchant request for apple pay?
My scenario is I have 2 different merchant identifiers.
I tried the multiTokenContexts approach but I can't proceed on the onpaymentauthorized event. Seems like multiTokenContexts only works with the same merchantIdentifier.
Thanks.
Post not yet marked as solved
Hi.
When I pass the response from my merchant validation to completeMerchantValidation(merchantSession) nothing happens the payment sheet still just spins as processing.
I was ecpecting it to change to thumb print etc.. to move onto the next stage.
I'm getting no errors and get a unique session id returned everytime in a format like
SSH0D4F440DD640424BB09A9868BE0A0EC7_916523AAED1343F5BC5815E12BEE9250AFFDC1A17C46B0DE5A943F0F94927C24
I am including
merchantIdentifier
domainName
displayName
merchantIdentifier and domainName match exactly as per my account
displayName I just entered random
I have placed debug alert just before completeMerchantValidation(merchantSession)
and can see the session id
if the apple server responds with a session id like above can there be anything else going wrong?
I mean would it still return the session id if it doesn't verifiy the certificate etc?
Please advise
Jason