---
title: SKMutablePayment
framework: storekit
role: symbol
role_heading: Class
path: storekit/skmutablepayment
---

# SKMutablePayment

A mutable request to the App Store to process payment for additional functionality that your app offers.

## Declaration

```swift
class SKMutablePayment
```

## Mentioned in

Implementing promotional offers in your app

## Overview

Overview A mutable payment object identifies a product and the quantity of that item the user would like to purchase. When a mutable payment is added to the payment queue, the payment queue copies the contents into an immutable request before queueing the request. Your app can safely change the contents of the mutable payment object.

## Topics

### Getting and Setting Attributes

- [productIdentifier](storekit/skmutablepayment/productidentifier.md)
- [quantity](storekit/skmutablepayment/quantity.md)
- [requestData](storekit/skmutablepayment/requestdata.md)
- [applicationUsername](storekit/skmutablepayment/applicationusername.md)

### Simulating Buy for Testing

- [simulatesAskToBuyInSandbox](storekit/skmutablepayment/simulatesasktobuyinsandbox.md)

### Getting and Setting Discount Details

- [paymentDiscount](storekit/skmutablepayment/paymentdiscount.md)

## Relationships

### Inherits From

- [SKPayment](storekit/skpayment.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSMutableCopying](foundation/nsmutablecopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Purchases

- [Requesting a payment from the App Store](storekit/requesting-a-payment-from-the-app-store.md)
- [Processing a transaction](storekit/processing-a-transaction.md)
- [SKPayment](storekit/skpayment.md)
- [SKPaymentTransaction](storekit/skpaymenttransaction.md)
