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

166 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Apple pay merchant validation fails without key file
Last month our certificate key expired for Apple Pay, For generating new certificate Followed this document TN3103: Apple Pay on the Web troubleshooting guide | Apple Developer Documentation ) My payment service provider created certificate signing request (CSR).(Not provided key) Uploaded this CSR to the Merchant Configuration page to generate a Payment Processing Certificate Downloaded payment processing certificate Downloaded Merchant Identity Certificate Both certificated installed in key chain, But the key file is not found so can't create Certificate.key.pem ` public function apple_pay_session(Request $request) { $certificatePassphrase = ""; $merchantIdentifier = "merchant.name.com"; $displayName = "merchant name"; $initiative = "web"; $initiativeContext = "www.merchant.co.uk"; $certPass = ""; $certFile = public_path('merchant_id.pem'); $keyFile = public_path('Certificate.key.pem'); $data = '{"merchantIdentifier":"'.$merchantIdentifier.'","displayName":"'.$displayName.'","initiative":"'.$initiative.'","initiativeContext":"'.$initiativeContext.'"}'; try { $ch1 = curl_init(); Storage::put('computop_applpay_try_session_'.time().'.txt', "In session"); // Check if initialization had gone wrong* if ($ch1 === false) { throw new Exception('failed to initialize'); } curl_setopt($ch1, CURLOPT_URL, $request->validationUrl); curl_setopt($ch1, CURLOPT_SSLCERT, $certFile); curl_setopt($ch1, CURLOPT_SSLKEY, $keyFile); curl_setopt($ch1, CURLOPT_SSLKEYPASSWD, $certPass); curl_setopt($ch1, CURLOPT_POST, 1); curl_setopt($ch1, CURLOPT_POSTFIELDS,$data); curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1); $merchantSession = curl_exec($ch1); // Check the return value of curl_exec(), too if ($merchantSession === false) { throw new Exception(curl_error($ch1), curl_errno($ch1)); } return response()->json([ "merchantSession"=>$merchantSession, "certFile" => $certFile ]); } catch(Exception $e) { Storage::put('computop_applpay_catch_session_'.time().'.txt', $e->getMessage()); return response()->json([ "code"=>$e->getCode(), "msg" => $e->getMessage() ]); } }` We only have apple_pay.cer ,merchant_id.cer, certificate signing request (CSR) provide by the payment service provider." How to create merchant_id.pem,Certificate.key.pem from It..? Or is it possible to do payment validation in PHP without these files?
0
0
579
Aug ’23
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?
1
0
491
Aug ’23
Apple Pay integration
Hi, Im newly to Apple Pay and I have some questions: Backend Integration Documents: I can not find the backend documents :( Authorized Token Duration: When user authorize the pay request, the merchant'll provide a authorize token. So how long does it last for? Purchase Authorization and Delayed Processing: Our platform involves a scenario where users initiate a purchase, but the actual processing of the payment occurs at a later stage after an administrator approves the request. Is it possible to utilize Apple Pay in such a manner, where the user's authorization is retained by our backend system until the payment is approved and processed? Refund Functionality and Fee: Does Apple Pay offer a built-in refund function for transactions? If so, could you provide details regarding the refund process and any associated fees? Please help, Thank you
1
0
353
Aug ’23
sorta Multi-merchant Apple Pay transactions with multiTokenContexts
Hello, all. Development environment: xcode14.3 + iOS16.4 + iphone12 mini When I use multiTokenContexts to complete the multi-merchant payment function, it prompts "Try Different Payment Method". But if I just perform the payment function of a single order, the payment process can be completed normally. So I would like to ask, is there any limitation to use multiTokenContexts? Thank you, looking forward to your reply.
1
0
640
Aug ’23
Guidance on whether to use Apple Pay Merchant vs In-App Purchase (Capabilities)
We are trying to implement Apple pay support for our application and we're unsure of whether we should implement Apple Pay Merchant / In App Purchasing. (as an in app capability) Here is an executive summary of our use cases. -The app acts as a store front that matches popular content creators and users. -Members can pay and request content creators to make a video (happy birthday for example). Creators will make a response and send this to the user directly through the app. -Members can pay to send content creators direct messages So the app acts as sort of a marketplace, but the exchanged good even though it is tangible (a video you can re-share), isn't physical. Our app takes an X% cut, then pays the content creator. So we aren't sure whether this qualifies as an in app purchase or not from a technical standpoint, or whether we can just implement apple pay transactions. Happy to do either one, just don't want to go down the wrong path and then get the app rejected.
0
0
266
Aug ’23
Apple pay startSession Java API call exception
After replacing the new certificate, we have adjusted the TLS version and SSL encryption algorithm, upgraded the API of the endpoint, and reviewed the related Apple Pay documents and demos based on the Develop Account. However, we still verified that the domain name of Apple Pay cannot be connected. Exceptions: API calling about Apple Pay $ java -version java version"1.8.0_201" Java(TM) SE Runtime Environment (build 1.8.0_201-b09) Java Hotspot(tm) 64-Bit Server w (build 25.201-b09, mixed mode) Apple Pay Backend setting TLS version:jdk 1.8 The default version is SSLv1.2; also supports 1.1,3 SSL encryption algorithm: defaultCipherSuites: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_DSS_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 supportedCipherSuites: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_DSS_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 Certificate used Other setting related: JVM parameters -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStore=path_to_file\\apple_pay_qa-202306052251.p12 -Djavax.net.ssl.keyStorePassword=**** Multiple approaches tried and the corresponding result After replacing the certificate,it shows Connection reset;Received fatal alert: handshake_failure Suspected this is related to TLS version issue,after specify TLS version to 1.2, still receive the above error After checking with Apple document, found that there is a suggestion to use the new API, but the error still persists after trying Requesting an Apple Pay Payment Session | Apple Developer Documentation We have also tried with other HTTP Client (Spring RestTemplate, Apache HttpClient) request methods, but still got similar errors Demo Code
0
0
647
Aug ’23
Sandbox Testing in Austria
Hi there, we are currently implementing Apple Pay and we have quite some issues in testing Apple Pay. As Austria isn't on the list of countries where Sandbox Testing is supported, as mentioned on https://developer.apple.com/apple-pay/sandbox-testing/ Is there any other way we can test In-App Provisioning and other use cases? Thanks a lot for helping out.
0
0
357
Aug ’23
Off session paymants and amount pre authorization with apple pay
I'm eager to learn more about off-session payments and pre-authorization procedures facilitated by Apple Pay. To begin, could you kindly clarify whether Apple Pay offers the capability to initially authorize an amount and subsequently finalize the payment at a later point? Additionally, I'm curious if it's possible to execute off-session payments using the Apple Pay platform. Your insights on these matters would be greatly appreciated.
0
1
329
Aug ’23
Connection to client lost after Apple Pay decline
Ok, here is the scenario... the payment sheet appears, Touch Id is accepted, the payment fails (intentionally), Touch Id is accepted again to resubmit, 30 seconds later it states Payment Not Completed and the payment sheet closes. The trace of both are identical other than the former stating it failed due to the client indicating a decline and the latter failed after it timed out waiting for the client callback. I have replicated this at https://applepaydemo.apple.com/ using both the Apple Pay API and Payment Request API. const response = await request.show(); const status = "fail"; await response.complete(status); The above was taken directly from the demo site and yes, I know the success state of the actual card processing would be passed here. So the flow of the first attempt to submit fails, as expected, but what seems to happen is that the pointer back to request.show() doesn't get reset; the promise has already been fulfilled and the routine has exited. When the payment sheet attempts the callback the second time it's no longer bound and eventually times out. Clicking pay again repeats the whole flow. Seems like a defect to me. I doubt I'm the first to come across this issue though a half a day of searching has not revealed otherwise. I'm experiencing this on Ventura with Safari 16.1 against the sandbox.
2
0
523
Aug ’23
How generate activationData for In-App Verification?
The Getting Started with Apple Pay documentation states that we should use this method to activate passes with In-App Verification. The main param is the activationData, which is generated by PNOs. The issue is that to generate the activationData, a nonce is required. How can we get the nonce on the In-App Verification context? The only way mentioned in the documentation to get the nonce is through PKAddPaymentPassViewControllerDelegate. But the PKAddPaymentPassViewController should be use only to In-App Provisioning, should not?
1
0
914
Oct ’23
Apple pay option not showing on my wordpress / woocommerce page
Hello First of all, Im an absolute beginner in this so I hope somebody can take me by the hand an guide me. I have a wordpress website with woocommerce shop and stripe as payment gateway. I ticket all the boxes in stripe to have apple pay available and also as express checkout. Unfortunately the apple pay button is not shown on my page and I have read so many posts about it already but Im just stuck. I dont know why it doesnt show on my page. Any kind soul which can help me? the page is https://cioccabocca.com/shop/ Thank you
1
0
928
Aug ’23
Merchant ID for client company
My company is a PSP and we have AP supported on our website. I am trying to enable AP on one of our clients domains and Apple Support told me that I all I needed to do was be added to the clients Apple dev team account as admin and to then create a new merchant ID under their account. I have done this, I created a AP payment processing certificate and a AP Merchant Identity Certificate, verified the domain and I still can't get it to work on their webiste. Any ideas?
0
0
371
Aug ’23
In app Purchase handle Refund Request
Hi, I used the functionality In-app Purchase to my iOS application. When I cancel the order within no of days period after I place the order?, Que. 1) What is the status of my refund? Que. 2) If Apple initiates the refund, How can I get the status of my refund? Que. 3) According to my research, I checked that When Apple processes the refund, It sends a Server notification to handle the order status in the bacend. My need is I want to handle such things while Apple processes any refund, I need proper docs or flow to handle the refund server notification. If there are any APIs that need to be called to get the refund-related data by transaction id then its also helpful for me. Make note : All the things Firstly I implement in sandbox environment. so please give me solution according to that.
0
0
331
Aug ’23
Access to third party payment for in-app purchase
We're going to add subscription module to our app, which is already published and used for free. The problem is: nearly all of our users don't have Visa Cards, Apple cards (or any other ways that Apple require for in app purchase). Our users will use local cards to payments (for subscription as well). Is there any way to have subcription module in app which supports paying with local cards? as far as i know Apple doesn't allow to add 3rd party payments, we're having trouble to find solution. Thank you for your reply!
0
0
495
Sep ’23
Issue with Apple Pay
I have purchased IPhone 14 Pro Max in USA and using in India. So, I have selected my region as "India". Having India as region: It says "To add cards, keys, tickets and passes to wallet, look for the Add to wallet button in apps, emails and websites." I am not able to proceed further. Having USA as region: Now, I am not able to add any Indian Credit Cards in Apple Pay. I red through the Article from apple forums and found that I have to change the Region. I want to keep India as my region and should be able to use my indian credit cards.
1
0
330
Sep ’23
Manually Keyed Transactions using ApplePay
We have a hotel customer who collects card information via the online booking engine, and uses this to pre-charge guests before arrival. They achieve this by manually keying transactions into their payment terminal. They have found that while this works for normal cards, they are unable to process a transaction using the Dynamic Security Code provided by Apple in place of the guests card information. Could you please advise on how we can help our customer with the use case of pre-charging guest cards submitted via ApplePay?
0
0
261
Sep ’23
External payment provider in the app
Hi, we are a German-based company developing apps for taxi drivers. Due to the German system, it's difficult for someone who has a visa or MasterCard, etc., which supports IAP. Even PayPal is not that widespread among taxi drivers. We are now planning to integrate STRIPE for our payments of the drivers, This is due to the fact that Stripe supports SEPA which is basically translated Direct Debit. Now SEPA is widespread and everyone has an IBAN to enter and can proceed with the payment. My question is, how is going to be with the rules etc. on Apple's side, as they encourage the users to use IAP, but we cannot make use of it. Can we integrate maybe both? IAP and Stripe if the user cannot pay via IAP. Thanks
0
0
212
Sep ’23