v1

latestOpenAPI 3.0.02026-08-0631139237.5 KB
Apple Pay Certificate

Create Certificate

Creates a new Apple Pay certificate by generating a Certificate Signing Request (CSR).

Use this endpoint to start the certificate creation process for accepting Apple Pay in your iOS app.

Setup workflow

  1. Call this endpoint to generate a CSR. The response includes the csr field in base64 format.

  2. Decode the CSR and save it as a .certSigningRequest file:

    echo "CSR_VALUE" | base64 -d > apple_pay.certSigningRequest
    
  3. Go to Apple Developer Portal:

    • Navigate to Certificates, Identifiers & Profiles
    • Select your Merchant ID under Identifiers
    • In the "Apple Pay Payment Processing Certificate" section, click "Create Certificate"
    • Upload the .certSigningRequest file from step 2
    • Download the signed certificate (.cer file)
  4. Convert the certificate to base64:

    base64 -i apple_pay.cer
    
  5. Activate the certificate using the Activate Certificate endpoint with the base64 value.

Important notes

  • CSRs expire after 24 hours. Complete the certificate creation in Apple Developer Portal within this window, or generate a new CSR.
  • Each CSR can only be used once. If you need a new certificate, create a new CSR.
  • The private key is securely generated and stored by MONEI. You never need to handle private keys directly.
  • You must be enrolled in the Apple Developer Program to create certificates.
  • The CSR is cleared from the response after the certificate is activated.
post/apple-pay/certificates

Response

A certificate object

idstring required

Unique identifier of the certificate.

accountIdstring required

The account ID this certificate belongs to.

csrstring

The Certificate Signing Request in base64 format. Only present before activation. Use this to create a certificate in Apple Developer Portal.

certstring

The certificate body in base64 format. Only present after activation.

activeboolean required

Whether the certificate is active for payment processing.

expireAtstring date-time

The certificate expiration date in ISO 8601 format. Only present after activation.

createdAtstring date-time required

The certificate creation date in ISO 8601 format.

Example response

{
  "id": "a6ea0c67-d061-4f7c-9e3b-4a96a6e1e8b1",
  "accountId": "acct_12345",
  "csr": "MIIBEjCBuQIBADBOMRMwE...",
  "cert": "MIIEpDCCA4ygAwIBAgIIU...",
  "active": true,
  "expireAt": "2026-01-15T12:00:00.000Z",
  "createdAt": "2024-01-15T12:00:00.000Z"
}