Apple Pay Recurring Payments (MPAN)
To process recurring payments with Apple Pay using MPAN (Multi-Use Payment Token), include the recurrenceMetadata object in the order creation within paymentDetails. If the data is sent in the order, it will also be returned in the payment callback.
All information regarding accepted formats and descriptions of the new fields is in section 6. Field appendix.
General Validation Rules
recurrenceMetadata is optional, but if included:
intervalUnit,intervalCount,managementUrl, andsubscriptionare mandatory- If both
startDateandendDateare provided,startDatemust be ≤endDate managementUrlmust begin withhttps://
MPAN Creation
Important: If recurrenceMetadata is not included in the Apple Pay payment request, the system will attempt to create a DPAN (Dedicated Payment Account Number) instead of an MPAN.
Regarding recurrenceMetadata for Apple Pay and MPAN creation:
The information provided in the recurrenceMetadata fields is used SOLELY FOR DISPLAY PURPOSES within the Apple Pay interface and for tokenization.
THESE FIELDS DO NOT EXECUTE OR SCHEDULE PAYMENTS.
The recurring payment execution and scheduling must be managed separately through Revup's subscription system or your own recurring payment logic. The MPAN token created through this process can be used for subsequent payments, but the recurrence metadata itself does not trigger automatic billing.
Request Body Example - Apple Pay with Recurrence Metadata
{
"money": {
"amount": 49,
"currency": "USD"
},
"concept": "Test concept",
"userInformation": {
"ip": "61.251.115.6",
"email": "qa@1eqa.net",
"country": "es",
"language": "es",
"phone": "666111222",
"billingAddress": {
"name": "Test",
"street": "Testing St.",
"city": "City",
"postcode": "01101",
"country": "US",
"state": "us-al"
},
"browserInformation": {
"userAgentHeader": "userAgent",
"acceptHeader": "accept",
"screenHeight": 1080,
"screenColorDepth": 24,
"enableJava": true,
"windowSize": "max",
"timeZone": 1,
"enableJavaScript": true,
"screenWidth": 720
}
},
"items": [
{
"name": "Test2",
"quantity": 1,
"unitPrice": 27.01,
"sku": "ABCD100",
"url": "https://www.test.com",
"category": "TestCategory",
"tax": 0.21
}
],
"generateToken": true,
"domain": "https://www.test.com",
"customTag": "custom",
"paymentDetails": {
"type": "credit_card_present",
"recurrenceMetadata": {
"startDate": "2026-01-01T15:00:00.000Z",
"intervalUnit": "month",
"intervalCount": 1,
"endDate": "2027-01-01T15:00:00.000Z",
"managementUrl": "https://www.test.com/es",
"trial": {
"amount": 20,
"currency": "USD",
"label": "Trial payment",
"duration": 7,
"durationUnit": "month"
},
"subscription": {
"amount": 20,
"currency": "USD",
"label": "Subscription"
}
}
},
"redirectUrl": {
"success": "https://api.qai.1eqa.net/callback/success",
"fail": "https://api.qai.1eqa.net/callback/failed",
"threeDSChallengeResult": "https://api.qai.1eqa.net/challenge?v=2&chll=done"
},
"purchaseId": "1763452974328",
"threeDSSupport": "no_3ds"
}