Apple Pay™
How Apple Pay works with Getnet
When a customer chooses Apple Pay during checkout, the following flow occurs:
- The customer selects Apple Pay as the payment method.
- Apple Pay returns payment data containing tokenized card credentials or an encrypted Apple Pay payment token.
- You send the required Apple Pay payment data to Getnet as part of the payment request.
- Getnet processes the transaction through the configured payment processor or card network.
- Getnet returns the authorization result to you.
Integration overview
To process Apple Pay payments with Getnet, your integration has two main components:
- Integrating the Apple Pay API in your application or website.
- Sending the required Apple Pay payment data to Getnet for payment processing.
If you offer Apple Pay as a payment method to your customers, use only official Apple Pay brand assets according to Apple's brand guidelines. Do not modify the colors, proportions, layout, or appearance of Apple Pay assets.
- Include the Apple Pay Human Interface Guidelines
- Include the Apple Pay Marketing Guidelines
Requirements
Before you integrate Apple Pay, make sure of the following:
- Apple Pay payment with Getnet is available only in Brazil, Chile, Mexico, and Spain.
- Your integration complies with the Apple Pay Acceptable Use Guidelines and Terms of Service.
- Your frontend environment must use HTTPS to initialize Apple Pay on the Web.
- Before going live, you must complete domain verification and the required certificate setup in the Apple Developer Portal.
- Your backend must be able to send the required payment data to Getnet according to the selected processing scenario.
Integration steps
Step 1: Integrate with Apple Pay
Follow Apple's official documentation to implement Apple Pay:
- Web integration: https://developer.apple.com/documentation/apple_pay_on_the_web
- iOS/macOS integration: https://developer.apple.com/documentation/passkit/apple_pay
This integration allows your checkout to display the Apple Pay button and request payment data from the user's Apple device or Apple Wallet.
Step 2: Configure your Apple Pay account
Before moving to production, you must configure Apple Pay in the Apple Developer Portal. You must also coordinate the certificate setup with your Getnet account manager.
Depending on your integration model, this may include:
- Create a Merchant ID — a unique identifier for your business.
- Domain verification — host the
apple-developer-merchantid-domain-associationfile provided by Apple atyourdomain.com/.well-known/apple-developer-merchantid-domain-association. - Payment Processing Certificate:
- Contact your Getnet account manager to request the Apple Pay Payment Processing Certificate setup.
- Getnet generates and provides the Certificate Signing Request, also known as CSR, required for Apple Pay.
- In the Apple Developer Portal, go to your Merchant ID settings and select Create Certificate under Payment Processing Certificate.
- Upload the CSR file provided by Getnet.
- Apple generates a
.cerfile. - Download the
.cerfile from the Apple Developer Portal and send it back to your Getnet account manager to complete the certificate setup.
- Merchant Identity Certificate — generate this certificate to allow your server to authenticate with Apple's servers during Merchant Validation.
- Confirm the supported card networks and merchant capabilities.
These steps ensure your website or application is authorized to request Apple Pay payments.
Step 3: Validate the merchant session
For Apple Pay on the Web, your frontend must perform Merchant Validation before Apple Pay displays the payment sheet.
validationURL from Apple Pay and sends it to your backend. Your backend performs an authenticated request to Apple using the Merchant Identity Certificate and returns the merchant session to the frontend.Step 4: Process the payment
After the customer authorizes the payment:
- Apple Pay returns payment data to you.
- Your system sends the required Apple Pay payment data to Getnet.
- Getnet processes the transaction through the configured payment processor or card network.
- Getnet returns the authorization result to you.
Merchant Validation
Apple Pay on the Web requires Merchant Validation.
onvalidatemerchant event when it starts.validationURL received from Apple Pay to your backend. Your backend then performs an authenticated POST request to Apple's servers using your Merchant Identity Certificate.merchantSession object. Your backend must return this object to the frontend unchanged.Backend request to Apple
validationURL received from the frontend. Use a TLS connection authenticated with your Merchant Identity Certificate.| Field | Description | Example |
|---|---|---|
merchantIdentifier | Your Apple Merchant ID. | "merchant.com.your-store" |
displayName | Name shown on the Apple Pay sheet. Maximum 64 characters. | "Your Store" |
initiative | Use "web" for Apple Pay on the Web. | "web" |
initiativeContext | Fully qualified domain that hosts the checkout. | "checkout.yourdomain.com" |
Note: EachmerchantSessionis valid for a short period and is single-use. Do not cache or reuse merchant sessions.
Frontend handler
The following example shows the Merchant Validation handler in your frontend:
Backend example
The following Node.js example shows how your backend requests the merchant session from Apple:
Apple Pay payment data and Getnet processing models
You can process Apple Pay payment data in different ways. The right way depends on your architecture, PCI scope, certificate management strategy, and payment processing requirements.
The Apple Pay payment data defines what Apple returns to you. The Getnet processing model defines how you send that data to Getnet.
These are different concepts. Don't mix them:
| Concept | Where it is configured or used | Examples |
|---|---|---|
| Apple Pay payment data | Apple Pay frontend and token response | Device Account Number, payment cryptogram, encrypted pkPaymentToken |
| Getnet processing model | Server-side payment request sent to Getnet | DAN card data flow, Cryptogram card data flow, Authorization Token flow |
Use the sections below to understand the Apple Pay payment data and the Getnet processing models available for each integration.
Device Account Number
The DAN is a tokenized representation of the customer's card stored in Apple Wallet. It is not the customer's real PAN.
When using this data, the server-side payload sent to Getnet may follow one of these processing models:
- DAN card data flow: you or your merchant-side processor decrypts the Apple Pay token and extracts the DAN and expiration date. The same party sends them to Getnet as structured card fields.
- DAN card data flow with 3DS: you or your merchant-side processor decrypts the Apple Pay token and extracts the DAN and expiration date. The same party performs 3DS authentication when required and sends the card and 3DS fields to Getnet.
Local regulation, issuer rules, merchant configuration, or transaction risk may require 3D Secure authentication. In that case, an additional 3DS flow may be triggered.
3DS for DAN transactions
For DAN transactions, 3D Secure may be required depending on the country, merchant configuration, issuer rules, or transaction risk.
For Spain, 3DS/SCA is required. For Brazil, 3DS may be optional depending on merchant configuration and risk rules.
eci, xid, ucaf, tdsver, and tdsdsxid. Follow the Create a 3DS Authenticated Payment documentation.If 3DS is required and you don't provide the authentication data, the transaction may be declined or returned as pending for additional authentication.
Payment cryptogram
Apple Pay may provide tokenized device card credentials with a payment cryptogram. They're available after you or your merchant-side processor decrypts the Apple Pay payment token.
The payment cryptogram, such as TAVV or the applicable network cryptogram, is generated during the payment process. It provides stronger authentication evidence because it's generated for the tokenized device credential.
When using this data, the server-side payload sent to Getnet may follow this processing model:
- Cryptogram card data flow: you or your merchant-side processor decrypts the Apple Pay token and extracts the DAN, expiration date, payment cryptogram, and ECI. The same party sends these values to Getnet as structured payment fields.
This flow generally doesn't require additional 3D Secure authentication. Regulation, issuer rules, merchant configuration, or transaction risk can still require it.
Authorization Token flow
Authorization Token is a Getnet processing model. You send the Apple Pay payment token to Getnet. You don't decrypt the token or send card data fields separately.
data.payment.wallet.authorization_token.pkPaymentToken returned by Apple Pay and serialize it exactly as returned. Encode it in Base64 and send the encoded value in data.payment.wallet.authorization_token.Getnet processes the token and extracts the payment data required for authorization.
Important: Apple Pay's Authorization Token must be encoded in Base64. Do not decrypt, change, trim, or remove any field from the token content before encoding it.
data.payment.wallet.authorization_token, do not also send card.number, card.expiration_month, card.expiration_year, tokenization.cryptogram, or tokenization.eci.Choose a processing model
You can choose the processing model that best fits their integration architecture, PCI scope, certificate management strategy, and payment processing requirements.
| Criteria | Recommended processing model |
|---|---|
| You want Getnet to process the Apple Pay token and do not want to decrypt the token in your environment. | Authorization Token flow |
| You can decrypt Apple Pay tokens server-side and operate within the required PCI-DSS scope. | DAN card data flow or Cryptogram card data flow |
| You need to send a device-generated payment cryptogram as structured fields. | Cryptogram card data flow |
| You need to process DAN with a separate 3DS authentication flow. | DAN card data flow with 3DS |
| You need to process SDWO transactions in Brazil. | SDWO card data flow or SDWO Authorization Token flow |
Decrypt the Apple Pay payment token
In the DAN card data flow and Cryptogram card data flow, you or your merchant-side processor decrypts the Apple Pay payment token. This happens before you send data to Getnet.
Apple Pay does not return the DAN or payment cryptogram in plaintext directly to the frontend. These values are available only after the Apple Pay payment token is decrypted.
| Apple Pay decrypted field | Getnet field | Notes |
|---|---|---|
applicationPrimaryAccountNumber | data.payment.card.number | Device Account Number, also known as DAN. Do not send the customer's real PAN. |
applicationExpirationDate | data.payment.card.expiration_year, data.payment.card.expiration_month | Returned as YYMMDD. Use the first two characters for expiration_year and the next two characters for expiration_month. |
paymentData.onlinePaymentCryptogram | data.payment.tokenization.cryptogram | Payment cryptogram generated for the Apple Pay transaction. Send the value exactly as returned after decryption. |
paymentData.eciIndicator | data.payment.tokenization.eci or data.payment.eci | Electronic Commerce Indicator associated with the transaction. |
PCI scope: Decrypting the Apple Pay token brings tokenized card credentials into your environment. The decryption service must operate within the appropriate PCI-DSS scope. If this is not feasible, use the Authorization Token flow.
For the full decrypted token schema, see Apple's Payment Token Format Reference.
Payment acceptance
You can process Apple Pay payments with multiple Getnet backend scenarios. These include DAN card data flow, Cryptogram card data flow, Authorization Token flow, and SDWO-specific transactions.
You must define the payment capabilities and card networks you accept in your Apple Pay request. Base them on the methods your integration supports.
| Apple Pay data | Credential type | 3DS requirement | Supported countries |
|---|---|---|---|
| Device Account Number | Tokenized card credential associated with Apple Wallet | Required in Spain. Optional in Brazil depending on merchant configuration and transaction risk. | Brazil, Chile, Mexico, and Spain |
| Payment cryptogram | Tokenized device card credential with payment cryptogram | Generally not required, unless required by regulation, issuer rules, merchant configuration, or transaction risk. | Brazil, Chile, Mexico, and Spain |
| Apple Pay payment token | Encrypted pkPaymentToken returned by Apple Pay | Handled according to token content and configuration. | Brazil, Chile, Mexico, and Spain |
Cards
The following cards are available for the transaction.
| Type | Spain | Brazil |
|---|---|---|
| Mastercard | ✅ | ✅ |
| Visa | ✅ | ✅ |
supportedNetworks, based on the networks supported by your integration.| Attribute | Type | Description | Example |
|---|---|---|---|
merchantCapabilities | Array | Payment capabilities supported by the merchant. | ["supports3DS"] |
supportedNetworks | Array | Card networks supported by Apple Pay and Getnet. | ["masterCard", "visa"] |
The following is an example of how to support the available card networks:
Billing address
Note: Request billing address only when required for authorization, fraud prevention, AVS, or local compliance. Asking for additional information may increase checkout friction.
requiredBillingContactFields to request billing address fields from Apple Pay when required for authorization, fraud prevention, AVS, or local compliance.| Attribute | Type | Description | Example |
|---|---|---|---|
requiredBillingContactFields | Array | Billing contact fields to request from the customer. | ["postalAddress", "name"] |
requiredShippingContactFields | Array | Shipping contact fields to request from the customer, when applicable. | ["postalAddress", "name", "phone", "email"] |
The following example requests billing and shipping contact fields:
Handle the Apple Pay payload
PKPaymentToken object.For the Authorization Token flow, extract the Apple Pay payment token from:
Then follow these steps:
- Extract the
pkPaymentTokenreturned by Apple Pay. - Serialize the token exactly as returned by Apple Pay.
- Encode the serialized token in Base64.
- Send the encoded value in
data.payment.wallet.authorization_tokenin the Getnet payment request.
Encoding note: Thetokenization.cryptogramfield used in the Cryptogram card data flow is sent as extracted after token decryption. By contrast, theauthorization_tokenfield used in the Authorization Token flow must contain the Base64-encoded Apple Pay payment token.
pkPaymentToken in Node.js:Example of the Getnet payment request using the Authorization Token flow:
Integrate via Global API
Before you integrate Apple Pay via the Global API, make sure you meet these prerequisites:
- Generate an access token through the Authentication endpoint.
- Wallet configuration: Use the correct
wallet.id,wallet.type, andwallet.tagaccording to the selected Apple Pay processing scenario. - PCI Compliance: Some scenarios use
cardobjects, such as DAN card data flow and Cryptogram card data flow. They require you to operate within the appropriate PCI-DSS scope for handling tokenized card data. If you use the Authorization Token flow, Getnet processes the Apple Pay token. You must not send card or tokenization fields separately. - HTTPS: Your frontend environment must use a secure connection to initialize Apple Pay on the Web.
Wallet field configuration
Use the table below to identify the correct wallet configuration for each scenario.
| Scenario | data.payment.wallet.id | data.payment.wallet.type | data.payment.wallet.tag |
|---|---|---|---|
| Standard Apple Pay — DAN card data flow | 103 | 10 | Not required |
| Standard Apple Pay — Cryptogram card data flow | 103 | 10 | Not required |
| Authorization Token flow | 103 | 10 | Not required |
| SDWO card data flow | 103 | 55 | Not required |
| SDWO Authorization Token flow | 103 | 55 | AP |
Important: For standard Apple Pay transactions, usewallet.id = 103andwallet.type = 10. For SDWO card data transactions in Brazil, usewallet.id = 103andwallet.type = 55. For SDWO Authorization Token transactions, usewallet.id = 103,wallet.type = 55, andwallet.tag = AP.
Characteristics
The following table summarizes the main characteristics of Apple Pay.
| Capability | Details |
|---|---|
| Customer Experience | One-Tap — Fast checkout via Face ID, Touch ID, or passcode. |
| Settlement | Real-time — Transactions are authorized and settled according to card network rules. |
| Confirmation | Synchronous — The API provides an immediate APPROVED, DECLINED, or intermediate status such as PENDING when additional authentication is required. |
| Device Support | Limited to compatible Apple devices using Safari browser or iOS/macOS apps. |
Available features
Use the matrix below to confirm the supported operations for Apple Pay in the Global API.
| Features | Supported Countries | Purchases | Refunds | Partial Refunds | Pre-authorizations | 3DS | SDWO |
|---|---|---|---|---|---|---|---|
| Direct / API | Brazil, Chile, Mexico, and Spain | ✅ | ✅ | ✅ | ✅ | ✅ | Brazil only |
Integration flow
The lifecycle of an Apple Pay transaction begins with the frontend requesting Apple Pay payment data and ends with the server-side authorization call.
Transaction flow diagram
The following diagram shows the end-to-end payment flow when a customer completes a purchase using Apple Pay. Getnet processes the payment.
Flow description
The flow follows these steps:
- The customer selects Apple Pay as the payment method at checkout.
- Your application starts the Apple Pay session.
- For Apple Pay on the Web, you perform Merchant Validation.
- Apple validates the merchant and returns a merchant session.
- Apple Pay displays the payment sheet to the customer with their saved payment methods.
- The customer selects a card and authorizes the payment using Face ID, Touch ID, or passcode.
- Apple Pay generates and returns payment data to you.
- You send the required Apple Pay payment data to Getnet.
- Getnet prepares the transaction according to the selected processing scenario.
- Getnet sends the authorization request to the card network or configured payment processor.
- The processor returns the authorization result.
- Getnet forwards the response to you, and you display the final payment result to the customer.
Server-side implementation scenarios
The following scenarios show the required JSON structures. Each depends on the data Apple Pay provides and the Getnet processing scenario you select.
Important: Device Account Number, payment cryptogram, andpkPaymentTokenare Apple Pay payment data concepts. They are not Getnet server-side scenario names. In the Getnet payment request, you can choose the processing model that best fits your integration. Consider your architecture, PCI scope, certificate management strategy, and payment processing requirements. The available models are DAN card data flow, Cryptogram card data flow, Authorization Token flow, SDWO card data flow, and SDWO Authorization Token flow.
DAN card data flow
Use this server-side scenario when your backend decrypts the Apple Pay payment token. Your backend then sends the Device Account Number, also known as DAN, to Getnet as structured card fields.
Use this flow when the backend payload you send to Getnet is a structured card payment request.
In this model, you or your merchant-side processor decrypts the Apple Pay payment token and extracts the DAN and expiration date. The same party sends these values to Getnet.
If 3D Secure authentication is required, you must complete the 3DS authentication flow before you create or confirm the payment. Then send the required 3DS fields in the payment request.
| Attribute | Type | Description | Example |
|---|---|---|---|
data.payment.card | Object | Card data set. | -- |
data.payment.card.number | String | Device Account Number, also known as DAN. Do not send the customer's real PAN. | 4012001037141112 |
data.payment.card.expiration_month | String | Two-digit card expiry month. | 12 |
data.payment.card.expiration_year | String | Two-digit card expiry year. | 25 |
data.payment.wallet | Object | Wallet data set. | -- |
data.payment.wallet.id | String | Wallet identifier. For Apple Pay, always use 103. | 103 |
data.payment.wallet.type | String | Wallet type. For standard Apple Pay transactions, use 10. | 10 |
data.payment.eci | String | Electronic Commerce Indicator used for 3DS authentication. Optional for transactions without 3DS. | 02 |
Important: For Spain, 3DS authentication is required. In Brazil, 3DS is optional depending on merchant configuration, issuer rules, and transaction risk.
Example of request
The following example shows a DAN card data flow request:
Example of response
The following example shows the response to a DAN card data flow request:
DAN card data flow with 3DS
Use this server-side scenario when your backend decrypts the Apple Pay payment token, sends the DAN as structured card data, and includes 3DS authentication fields.
For DAN transactions that require 3D Secure authentication, complete the 3DS authentication flow first as described in the Create a 3DS Authenticated Payment documentation. Then include the 3DS result fields in the payment request.
| Attribute | Type | Description | Example |
|---|---|---|---|
data.payment.xid | String | MPI identifier for each authenticated transaction. | yFNXIadjt0mEsP5ob44vQPd0Zbg= |
data.payment.ucaf | String | UCAF authentication code. | B5kBAHNwQAAAAYdqmGESdiZwFVg= |
data.payment.eci | String | Electronic Commerce Indicator. | 05 |
data.payment.tdsver | String | 3DS version. | 2.3.1 |
data.payment.tdsdsxid | String | 3DS Server transaction identifier. | 9c2410c8-07c7-4e07-ac76-185e620970cf |
Note: Send the 3DS fields returned by your authentication provider according to the card network and authentication result.
Example of DAN with 3DS request
The following example shows a DAN card data flow request with 3DS fields:
Example of DAN with 3DS response
The following example shows the response to a DAN with 3DS request:
SDWO — Staged Digital Wallet Operator
SDWO is a payment framework that digital wallet providers typically use. The wallet acts as an intermediary between the cardholder and the final recipient.
It helps with two stages: funding the account and transferring funds to a sub-merchant. This makes the end receiver transparent to payment networks.
wallet object as follows:data.payment.wallet.idmust be set to103data.payment.wallet.typemust be set to55
| Attribute | Type | Description | Example |
|---|---|---|---|
data.payment.card | Object | Card data set. | -- |
data.payment.card.number | String | Device Account Number, also known as DAN. | 4012001037141112 |
data.payment.card.expiration_month | String | Two-digit card expiry month. | 12 |
data.payment.card.expiration_year | String | Two-digit card expiry year. | 25 |
data.payment.wallet | Object | Wallet data set. | -- |
data.payment.wallet.id | String | Wallet identifier. For Apple Pay, always use 103. | 103 |
data.payment.wallet.type | String | Wallet type for SDWO transactions. Always use 55. | 55 |
data.payment.wallet.fund_transfer | Object | Fund transfer data required for SDWO transactions. | -- |
Note: SDWO fund transfer fields follow the SDWO-specific format and may use different value domains than the standard customer object.
Example of SDWO request
The following example shows an SDWO request:
Example of SDWO response
The following example shows the response to an SDWO request:
SDWO with 3DS transactions
For transactions using 3DS, follow all the steps in the Create a 3DS Authenticated Payment document.
Important: When creating SDWO requests, fill in the fields inside thewalletobject as follows:
data.payment.wallet.idmust be set to103data.payment.wallet.typemust be set to55
The table below shows the fields required for transactions with 3DS.
| Attribute | Type | Description | Example |
|---|---|---|---|
data.payment.xid | String | MPI identifier for each authenticated transaction. | yFNXIadjt0mEsP5ob44vQPd0Zbg= |
data.payment.ucaf | String | Authentication code encrypted by the card network. | B5kBAHNwQAAAAYdqmGESdiZwFVg= |
data.payment.eci | String | Electronic Commerce Indicator used for 3DS authentication. | 5 |
data.payment.tdsver | String | 3DS version used in authentication. | 2.3.1 |
data.payment.tdsdsxid | String | 3DS Server transaction identifier. | 9c2410c8-07c7-4e07-ac76-185e620970cf |
Example of SDWO with 3DS request
The following example shows an SDWO request with 3DS fields:
Example of SDWO with 3DS response
The following example shows the response to an SDWO with 3DS request:
The response follows the same structure as the standard payment response. If additional authentication is required, the transaction may returnPENDINGwith 3DS challenge data.
Cryptogram card data flow
Use this server-side scenario when your backend decrypts the Apple Pay payment token. Your backend then sends tokenized card credentials with a payment cryptogram to Getnet as structured payment fields.
In this model, you or your merchant-side processor extracts the Device Account Number, also known as DAN. The same party also extracts the expiration date, payment cryptogram, and ECI, and sends these values to Getnet.
card.number, card.expiration_month, card.expiration_year, tokenization.cryptogram, or tokenization.eci separately. In the Authorization Token flow, Getnet processes the Apple Pay token sent in data.payment.wallet.authorization_token.The payment cryptogram is a dynamically generated cryptographic value that enables payment networks to validate the authenticity of the transaction.
| Attribute | Type | Description | Example |
|---|---|---|---|
data.payment.card | Object | Card data set containing the tokenized card credentials extracted from Apple Pay. | -- |
data.payment.card.number | String | Device Account Number, also known as DAN. Do not send the customer's real PAN. | 4761120000000148 |
data.payment.card.expiration_month | String | Two-digit expiry month of the tokenized card credential. | 12 |
data.payment.card.expiration_year | String | Two-digit expiry year of the tokenized card credential. | 25 |
data.payment.wallet | Object | Wallet data set. | -- |
data.payment.wallet.id | String | Wallet identifier. For Apple Pay, always use 103. | 103 |
data.payment.wallet.type | String | Wallet type. For standard Apple Pay transactions, use 10. | 10 |
data.payment.tokenization | Object | Tokenization data set containing cryptographic values extracted from Apple Pay. | -- |
data.payment.tokenization.cryptogram | String | Payment cryptogram generated for the Apple Pay transaction. Send the value exactly as extracted after token decryption. Do not generate, alter, or reuse cryptograms. | AgAAAAAABk4DWZ4C28yUQAAAAAA= |
data.payment.tokenization.eci | String | Electronic Commerce Indicator associated with the tokenized payment. | 02 |
Example of request
The following example shows a Cryptogram card data flow request:
Thecryptogramvalue above is shown only as an example. In production, send the cryptogram value exactly as extracted from the decrypted Apple Pay payment token. Do not generate, alter, reuse, or hardcode cryptograms.
Example of response
The following example shows the response to a Cryptogram card data flow request:
Note: In sandbox environments, thebrandfield may be returned asUNKNOWNdepending on the test token configuration.
Authorization Token flow
pkPaymentToken containing the payment data.card.number, card.expiration_month, card.expiration_year, tokenization.cryptogram, or tokenization.eci as separate fields. Instead, extract the pkPaymentToken returned by Apple Pay and serialize it exactly as returned. Encode it in Base64 and send the encoded value in data.payment.wallet.authorization_token.authorization_token and extracts the payment data required for authorization.Important: Apple Pay's Authorization Token must be encoded in Base64. Do not decrypt, change, trim, or remove any field from the token content before encoding it.
| Attribute | Type | Description | Required |
|---|---|---|---|
idempotency_key | String | Unique identifier to prevent duplicate charges. | Yes |
order_id | String | Merchant reference ID used for reconciliation. | Yes |
request_id | String | Trace identifier for idempotency audits and support follow-up. | Recommended |
data.amount | Number | Transaction amount in cents. | Yes |
data.currency | String | ISO currency code used in the transaction. | Yes |
data.customer | Object | Customer details such as name, email, phone, document, and billing address. Required only when requested by Getnet or by the applicable risk, compliance, or antifraud configuration. | Conditional |
data.payment.payment_method | String | Payment method used for the transaction. | Yes |
data.payment.transaction_type | String | Defines how the transaction is processed. Examples: FULL, INSTALL_NO_INTEREST, INSTALL_WITH_INTEREST. | Yes |
data.payment.number_installments | Number | Number of installments. Use 1 for a single payment. | Yes |
data.additional_data.device | Object | Device information used for risk analysis or antifraud checks when applicable, such as ip_address, device_id, and finger_print. | Conditional |
data.payment.wallet | Object | Wallet data set. | Yes |
data.payment.wallet.id | String | Wallet identifier. Use 103 for Apple Pay. | Yes |
data.payment.wallet.type | String | Wallet type. Use 10 for standard Apple Pay Authorization Token transactions or 55 for SDWO Authorization Token transactions. | Conditional |
data.payment.wallet.tag | String | Wallet tag. Required only for SDWO Authorization Token transactions. Use AP. | Conditional |
data.payment.wallet.authorization_token | String | Base64-encoded Apple Pay payment token. Send the token content exactly as returned by Apple Pay, encoded in Base64, without decrypting, changing, trimming, or removing any field. | Yes |
Depending on the risk, compliance, or antifraud service enabled for you, you may need to send additional customer and device information. When required, send the applicable fields below.
| Object / Field | Description |
|---|---|
customer.first_name | Customer's first name. |
customer.last_name | Customer's last name. |
customer.email | Customer email address. |
customer.phone_number | Phone number in international format. |
customer.document_type | Document type, such as CPF, DNI, or equivalent. |
customer.document_number | Document number without punctuation. |
customer.billing_address.street | Street name. |
customer.billing_address.number | Address number. |
customer.billing_address.district | District or neighborhood. |
customer.billing_address.city | City. |
customer.billing_address.state | State or province. |
customer.billing_address.country | Country code. |
customer.billing_address.postal_code | Postal or ZIP code. |
additional_data.device.ip_address | Customer's IP address. |
additional_data.device.device_id | Device fingerprint session ID. |
additional_data.device.finger_print | Fingerprint hash generated by the antifraud script. |
Example of request
The following example shows an Authorization Token flow request:
Example of response
The following example shows the response to an Authorization Token flow request:
SDWO Authorization Token flow
For SDWO Authorization Token transactions, you send the Base64-encoded Apple Pay payment token together with the SDWO fund transfer data.
Important: Only for SDWO Authorization Token transactions:
data.payment.wallet.idmust be set to103data.payment.wallet.typemust be set to55data.payment.wallet.tagmust be set toAP
Example of SDWO Authorization Token request
The following example shows an SDWO Authorization Token request:
Example of SDWO Authorization Token response
The following example shows the response to an SDWO Authorization Token request:
Comparison table
Use the table below to identify which technical fields are required for each Apple Pay processing scenario.
| Scenario | Data handling | What merchant sends to Getnet | Card object | Tokenization object | Authorization token | 3DS data | Wallet fields |
|---|---|---|---|---|---|---|---|
| DAN card data flow | Merchant / processor decrypts token | DAN + expiry | Required | No | No | Optional or required by country/configuration | id=103, type=10 |
| DAN card data flow with 3DS | Merchant / processor decrypts token and performs 3DS | DAN + expiry + 3DS authentication fields | Required | No | No | Required | id=103, type=10 |
| Cryptogram card data flow | Merchant / processor decrypts tokenized data | DAN + expiry + payment cryptogram + ECI | Required | Required | No | Usually not required | id=103, type=10 |
| Authorization Token flow | Getnet processes token | Base64-encoded Apple Pay payment token | No | No | Required | Handled according to token content and configuration | id=103, type=10 |
| SDWO card data flow | Merchant / processor decrypts token | DAN or cryptogram card data + fund transfer data | Required | Depends on scenario | No | Optional or required by configuration | id=103, type=55 |
| SDWO Authorization Token flow | Getnet processes token | Base64-encoded Apple Pay payment token + fund transfer data | No | No | Required | Depends on token content and configuration | id=103, type=55, tag=AP |
Note: Device Account Number, payment cryptogram, andpkPaymentTokenare Apple Pay payment data concepts. The scenarios above describe how payment data is sent to Getnet in the server-side payment request.
Additional resources
- Apple Pay on the Web documentation
- Apple Pay PassKit documentation
- Apple Pay implementation guide
- Apple Pay Human Interface Guidelines
- Apple Pay Marketing Guidelines
- Apple Pay Acceptable Use Guidelines
- Apple Pay Terms of Service
- Apple Pay Payment Token Format Reference
- Authentication for token management.
On this page