<!--
{
  "availability" : [
    "Retention Messaging API: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RetentionMessaging",
  "identifier" : "/documentation/RetentionMessaging/promotionalOfferSignatureV2",
  "metadataVersion" : "0.1.0",
  "role" : "Type",
  "symbol" : {
    "kind" : "Type",
    "modules" : [
      "Retention Messaging API"
    ],
    "preciseIdentifier" : "data:retention_messaging:promotionalOfferSignatureV2"
  },
  "title" : "promotionalOfferSignatureV2"
}
-->

# promotionalOfferSignatureV2

The promotional-offer signature you generate in a JSON Web Signature (JWS) format.

```
string promotionalOfferSignatureV2
```

## Discussion

To provide a promotional-offer retention message, you need to cryptographically sign the offer and include it in the [`promotionalOffer`](/documentation/RetentionMessaging/promotionalOffer) parameter of your [`RealtimeResponseBody`](/documentation/RetentionMessaging/RealtimeResponseBody) response.

To generate the promotional-offer signature in a JWS format, see <doc://com.apple.documentation/documentation/StoreKit/generating-jws-to-sign-app-store-requests>, and follow the instructions for promotional-offer signatures, including the custom claims.

> Important: The `transactionId` parameter of the signature is required. Use the ``doc://com.apple.retentionmessaging/documentation/RetentionMessaging/originalTransactionId`` you receive in ``doc://com.apple.retentionmessaging/documentation/RetentionMessaging/DecodedRealtimeRequestBody``.

The App Store Server Library provides functions that simplify generating this signature. For more information, see <doc://com.apple.documentation/documentation/AppStoreServerAPI/simplifying-your-implementation-by-using-the-app-store-server-library>.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)