We are trying to integrate Apple Pay in our website and our Payment Service Provider is Card Connect.
We follow the guide https://developer.cardpointe.com/guides/apple-pay
We stuck at the "Formatting the Apple Pay Tokenization Request" step in the guide as it required the apple pay request payload information
We would need more information on the below apple pay request attributes as in the attached screen shot:
data, Signature, ephemeralPublicKey, transactionId, applicationData, publicKeyHash
Any useful information/guide on the above details will help us to integrate
Apple Pay on the Web
RSS for tagApple 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
109 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
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.
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
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?
Hello,
I am integrating Apple Pay on my web page and the full process work
At the moment, the only backend call I have is onvalidatemerchant to create my merchant session.
I would like to check transaction details, refund and unsubscribe recurring payment from backend but I can not found any documentation
For example onpaymentauthorized I would like to call my backend to check if the transaction is ok using the transactionIdentifier and update my database, but I am not able to find any documentation about that
We already have an domain verified for using apple pay.
and would like to add 2 more domain's
I'm trying to get a merchant token using the apple demo code including the "recurringPaymentRequest" subitem. My question is, how do I know what sort of token Apple returned? The documentation I've found says
“Apple Pay issues an Apple Pay Merchant Token if the user’s payment network supports merchant-specific payment tokens. Otherwise, Apple Pay issues a device token for the payment request.”
I believe our payment network (TSYS) supports this, but I think I'm only getting device tokens (they appear to only allow one charge). Is there something within the onpaymentauthorized event object that definitively identifies what sort of token we received?
Hello all,
I am trying to integrate Apple Pay in my application. And for that I need to add some sandbox/test user accounts for the development. I've setup 2FA and provided all the necessary details for this sandbox Apple ID. But I am still not able to login to applestoreconnect and getting following error message during login:
"To access App Store Connect, you must be an individual or team member in the Apple Developer Program, or invited by an individual to access their content in App Store Connect."
My question is Should I pay another $99 for this sandbox Apple ID also? I've already signed up for Apple Developer Program and paid $99 for 1 year for my organization. I can invite other team members without any additional cost by I am not able to invite existing email/Apple ID as Sandbox testers. I am confused.
Thank you for your help.
I just making Apple Pay Button on my websites using CSS, but i dont know why the 'Type=check-out', 'lang="vi"' not working. Another type like buy, top-up still show button with text on Vietnamese language, but with 'Type=check-out" dont show anything text.
Does Apple Pay Button support type check-out with Vietnamese language?
Here my code:
<html lang="vi">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
@supports (-webkit-appearance: -apple-pay-button) {
.apple-pay-button {
display: inline-block;
-webkit-appearance: -apple-pay-button;
-apple-pay-button-type: check-out;
/* Use any supported button type. */
}
.apple-pay-button-black {
-apple-pay-button-style: black;
}
}
@supports not (-webkit-appearance: -apple-pay-button) {
.apple-pay-button {
display: inline-block;
background-size: 100% 60%;
background-repeat: no-repeat;
background-position: 50% 50%;
border-radius: 5px;
padding: 0px;
box-sizing: border-box;
min-width: 200px;
min-height: 32px;
max-height: 64px;
border: 0;
}
.apple-pay-button-black {
background-image: -webkit-named-image(apple-pay-logo-white);
background-color: black;
color: white;
}
}
</style>
</head>
<body>
<div class="applePayButtonContainer">
<button class="apple-pay-button apple-pay-button-black" lang="vi" onclick="onApplePayButtonClicked()">Apple Pay</button>
</div>
</body>
</html>
Hi.
I am integrating with the Apple Pay on my website. I am trying to perform a request via Postman to register a merchant - just testing if body of request is valid, if it actually registers a merchant etc.
While I am doing so I get the following error:
{
"statusMessage": "Payment Services Exception Domain check failed with the following errors. No domains were registered.\nDomain verification failed for pspId=ENCRYPTED_MERCHANT_ID domain=xyz.com url=/.well-known/apple-developer-merchantid-domain-association errorMessage=The content of Oslo merchant validation is incorrect",
"statusCode": "400"
}
Note that domain name and pspId were censored for security reason.
I have no idea what does that error mean.
Our domain is verified. We have domain verification file on the endpoint /.well-known/apple-developer-merchantid-domain-association errorMessage - otherwise our domain could not be registered. I have also checked it manually many times if it is there and everything looked fine.
We have an active payment processing certificate.
We have a merchant identity certificate. I use it on the serwer and on Postman for both apple-pay-gateway.apple.com and apple-pay-gateway-cert.apple.com.
Requesta sent to Sandbox pass and return status 200.
Request body:
{
"domainNames": ["xyz.com"],
"encryptTo": "merchant.com.our.identifier",
"partnerInternalMerchantIdentifier": "xyz25",
"partnerMerchantName": "Some name"
}
Data is replaced with placeholders. I am 100% sure that fields encryptTo and domainNames are valid.
Thank you in advance for any help.
Has anyone had experience of selling foreign currency using Apple Pay?
If so, what steps did you complete to get Apple Approval?
The Acceptable use guidelines state "You may not incorporate Apple Pay into a website that: ... Involves the purchase or transfer of currency (including cryptocurrencies) unless approved by Apple"
I would like to provide Apple Pay as a payment option on website and app's that sell currency to customers but can't find any guidance of how to get Apple approval.
What do I do with the apple_pay.cer certificate? My site is running under IIS on Windows Server.
Hello everyone,
I would like to register a merchant with a merchant identifier, calling https://apple-pay-gateway-cert.apple.com/paymentservices/registerMerchant, but I am getting a 401 error.
The payment processing certificate and the merchant identity certificate (with name merchant.com.identity.us.test) have already been defined on the apple account account.
I am executing this post request:
curl -v --cert-type P12 --cert keystore.p12:passwordForMyKeystore -d '{"domainNames":["my-test-domain.com","my-live-test-domain.com"], "partnerMerchantName":"TESTMERCH1", "partnerInternalMerchantIdentifier":"test-merch-partner", "encryptTo":"merchant.com.identity.us.test"}' -H "Content-Type: application/json" -X POST https://apple-pay-gateway-cert.apple.com/paymentservices/registerMerchant
The keystore.p12 I am using in the above post request, has been created with the identity certificate (merchant.com.identity.us.test) and with the private key created when generating the CSR.
The response I am getting is this one:
* ALPN: server accepted http/1.1
* Server certificate:
* subject: CN=apple-pay-gateway-cert.apple.com; O=Apple Inc.; L=Cupertino; ST=California; C=US; serialNumber=C0806592; jurisdictionStateOrProvinceName=California; jurisdictionCountryName=US; businessCategory=Private Organization
* start date: Jul 17 17:32:39 2023 GMT
* expire date: Oct 15 17:42:39 2023 GMT
* subjectAltName: host "apple-pay-gateway-cert.apple.com" matched cert's "apple-pay-gateway-cert.apple.com"
* issuer: C=US; O=Apple Inc.; CN=Apple Public EV Server RSA CA 1 - G1
* SSL certificate verify ok.
* using HTTP/1.1
> POST /paymentservices/registerMerchant HTTP/1.1
> Host: apple-pay-gateway-cert.apple.com
> User-Agent: curl/8.1.2
> Accept: */*
> Content-Type: application/json
> Content-Length: 304
>
< HTTP/1.1 401 Unauthorized
< x-keystone-correlationid: cdcf1cc6-1f6f-4b92-bd6c-245a602bcaa3
< content-type: application/json
< content-length: 87
< date: Thu, 05 Oct 2023 08:28:18 GMT
< x-envoy-upstream-service-time: 14
< x-apay-service-response-details: via_upstream
<
{
"statusMessage": "Payment Services Exception Unauthorized",
"statusCode": "401"
* Connection #0 to host apple-pay-gateway-cert.apple.com left intact
}
Have I done anything wrong in generating the Keystore?
Kind regards,
Antonio.
Hello,
I am getting a 401 when calling https://apple-pay-gateway-cert.apple.com/paymentservices/registerMerchant to register a merchant and link it to a merchant identity.
The merchant identity has been created, and both the merchant identity and the payment processing certificates have been created.
I have then dowloaded the merchant identity certificate from Apple, and create a keystore with the private key used to create the CSR.
The command I am issuing is the following:
curl -v --cert-type P12 --cert keystore.p12:passwordForKeystore -d '{"domainNames":["test-domain.com","live-domain.com"], "partnerMerchantName":"merchant-partner-name", "partnerInternalMerchantIdentifier":"merchant-partner-internal-identifier", "encryptTo":"merchant.identity.certificate.name"}' -H "Content-Type: application/json" -X POST https://apple-pay-gateway-cert.apple.com/paymentservices/registerMerchant
The response I am getting is the following:
* SSL certificate verify ok.
* using HTTP/1.1
> POST /paymentservices/registerMerchant HTTP/1.1
> Host: apple-pay-gateway-cert.apple.com
> User-Agent: curl/8.1.2
> Accept: */*
> Content-Type: application/json
> Content-Length: 304
>
< HTTP/1.1 401 Unauthorized
< x-keystone-correlationid: cdcf1cc6-1f6f-4b92-bd6c-245a602bcaa3
< content-type: application/json
< content-length: 87
< date: Thu, 05 Oct 2023 08:28:18 GMT
< x-envoy-upstream-service-time: 14
< x-apay-service-response-details: via_upstream
<
{
"statusMessage": "Payment Services Exception Unauthorized",
"statusCode": "401"
* Connection #0 to host apple-pay-gateway-cert.apple.com left intact
}
Has anyone had the same issue?
Hello,
I wanted to know the average response time to complete merchant validation and get the session so that we can configure the response timeout. We want to know this so that we can close the connection if Apple is not responding while making the merchant validation call.
Trying to use Apple Pay with the Payment Request API, created a merchant validation with the following details:
URL: https://apple-pay-gateway.apple.com/paymentservices/startSession
Body: {"merchantIdentifier":"merchant.xxxxxxxxxxxxx","domainName":"labs.xxxxxxxx.com","displayName":"Mxxxxx"}
The response is:
cURL error 56: OpenSSL SSL_read: OpenSSL/1.1.1p: error:1409445C:SSL routines:ssl3_read_bytes:tlsv13 alert certificate required, errno 0
Any ideas why this could be?
As per Requesting an Apple Pay Payment Session, i have got a session from Apple's Server, i am passing the same in the completeMerchantValidation function, still the Payment Sheet keeps on processing. After timeout interval it gets closed automatically.
I am using Sandbox Account and Production Environment.
What could be the reason for this?
Hi,
the certificate apple-pay-gateway.apple.com (https://developer.apple.com/documentation/apple_pay_on_the_web/setting_up_your_server) used for payments has expired :
Server Key and Certificate #1
Subject apple-pay-gateway.apple.com
Fingerprint SHA256: 19a1e3eeb0b13c3aefe03d4c02de6befb4200430ead97ee4150b3e0eaad89ec6
Pin SHA256: 38yRXBg6sU+IsJldFjKUj6TwTqkbVymXhyvMBWxMtV0=
Common names apple-pay-gateway.apple.com
Alternative names cn-apple-pay-gateway-tj-pod2.apple.com apple-pay-gateway-nc-pod1.apple.com apple-pay-gateway-nc-pod4.apple.com apple-pay-gateway-sh-pod2.apple.com cn-apple-pay-gateway-pr-pod3.apple.com apple-pay-gateway-pr-pod3.apple.com apple-pay-gateway-nc.apple.com apple-pay-gateway-tj-pod1.apple.com apple-pay-gateway-tj-pod2.apple.com apple-pay-gateway-pr-pod5.apple.com cn-apple-pay-gateway-nc-pod4.apple.com cn-apple-pay-gateway-pr-pod1.apple.com cn-apple-pay-gateway-sh-pod3.apple.com cn-apple-pay-gateway.apple.com cn-apple-pay-gateway-tj-pod3.apple.com apple-pay-gateway-nc-pod2.apple.com apple-pay-gateway-pr-pod1.apple.com apple-pay-gateway-pr-pod4.apple.com apple-pay-gateway-sh-pod3.apple.com cn-apple-pay-gateway-sh-pod1.apple.com cn-apple-pay-gateway-nc-pod3.apple.com cn-apple-pay-gateway-pr-pod2.apple.com apple-pay-gateway-nc-pod3.apple.com apple-pay-gateway-pr-pod.apple.com apple-pay-gateway-nc-pod5.apple.com apple-pay-gateway-tj-pod3.apple.com cn-apple-pay-gateway-pr-pod4.apple.com apple-pay-gateway-sh-pod1.apple.com cn-apple-pay-gateway-nc-pod5.apple.com apple-pay-gateway-pr-pod2.apple.com cn-apple-pay-gateway-sh-pod.apple.com cn-apple-pay-gateway-nc-pod1.apple.com apple-pay-gateway.apple.com cn-apple-pay-gateway-nc-pod2.apple.com cn-apple-pay-gateway-sh-pod2.apple.com apple-pay-gateway-pr.apple.com cn-apple-pay-gateway-tj-pod1.apple.com apple-pay-gateway-nc-pod.apple.com
Serial Number 0b2ffee60fc2a32e5046bf43075c1f89
Valid from Tue, 18 Jul 2023 10:53:06 UTC
Valid until Mon, 16 Oct 2023 11:03:06 UTC (expired 38 minutes and 13 seconds ago) EXPIRED
Trusted : No NOT TRUSTED
ApplePay.tsx
Sometimes when we load the Apple sheet for the first time, the onshippingcontactselected is not called at all, although there is a default address selected, when we try again it works.
In some cases as well the Apple sheet freezes, all the buttons become un clickable.
There are no errors.
I'm testing on Mac version 11.5.2.
please see the attached the code.
During the period from 2023/10/16 19:07 to 21:03, when I called the validationURL, I received an error message stating "certificate has expired."
I verified that my merchant identity certificate is not set to expire until 2024.
Additionally, validation has been successful at other times. What could be the issue?