---
title: "init(keyID:nonce:timestamp:signature:)"
framework: storekit
role: symbol
role_heading: Initializer
path: "storekit/product/subscriptionoffer/signature/init(keyid:nonce:timestamp:signature:)"
---

# init(keyID:nonce:timestamp:signature:)

Creates a subscription offer signature instance.

## Declaration

```swift
init(keyID: String, nonce: UUID, timestamp: Int, signature: Data)
```

## Parameters

- `keyID`: A string that identifies the private key you use to generate the signature. You set up this key in App Store Connect. For more information, see https://developer.apple.com/help/app-store-connect/configure-in-app-purchase-settings/generate-keys-for-in-app-purchases.
- `nonce`: A one-time UUID value that your server generates. Generate a new nonce for each signature. The string representation of the nonce you use in the signature must be lowercase.
- `timestamp`: A timestamp your server generates in UNIX time format, in milliseconds. The timestamp keeps the offer active for 24 hours.
- `signature`: The cryptographic signature your server generates to sign the promotional offer.
