.. _module-splice-wallet-subscriptions-81141: Splice.Wallet.Subscriptions =========================== Templates --------- .. _type-splice-wallet-subscriptions-subscription-33404: **template** `Subscription `_ Main subscription object\. Signatory\: subscriptionSignatories subscriptionData .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - subscriptionData - `SubscriptionData `_ - * - reference - `ContractId `_ `SubscriptionRequest `_ - Reference to the subscription request, note that the contract will no longer be active so this just acts as a tracking id\. + **Choice** Archive Controller\: subscriptionSignatories subscriptionData Returns\: () (no fields) + .. _type-splice-wallet-subscriptions-subscriptionarchive-38051: **Choice** `Subscription_Archive `_ Controller\: signatory this Returns\: `Subscription_ArchiveResult `_ (no fields) .. _type-splice-wallet-subscriptions-subscriptionidlestate-59870: **template** `SubscriptionIdleState `_ The base state in our subscription flow\. Here, we are typically waiting for the time for the next payment to arrive\. If that time has passed, we are waiting for someone to expire the subscription\. Signatory\: subscriptionSignatories subscriptionData .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - subscription - `ContractId `_ `Subscription `_ - The subscription this belongs to\. * - subscriptionData - `SubscriptionData `_ - Copy of the subscription contract for easier access to its field\. * - payData - `SubscriptionPayData `_ - Payment\-related properties\. * - nextPaymentDueAt - `Time `_ - After which time the next payment can and should be paid\. * - reference - `ContractId `_ `SubscriptionRequest `_ - + **Choice** Archive Controller\: subscriptionSignatories subscriptionData Returns\: () (no fields) + .. _type-splice-wallet-subscriptions-subscriptionidlestatecancelsubscription-25061: **Choice** `SubscriptionIdleState_CancelSubscription `_ Controller\: (DA\.Internal\.Record\.getField @\"sender\" subscriptionData) Returns\: `SubscriptionIdleState_CancelSubscriptionResult `_ (no fields) + .. _type-splice-wallet-subscriptions-subscriptionidlestateexpiresubscription-50078: **Choice** `SubscriptionIdleState_ExpireSubscription `_ Controller\: actor Returns\: `SubscriptionIdleState_ExpireSubscriptionResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - actor - `Party `_ - + .. _type-splice-wallet-subscriptions-subscriptionidlestatemakepayment-62467: **Choice** `SubscriptionIdleState_MakePayment `_ Controller\: (DA\.Internal\.Record\.getField @\"sender\" subscriptionData), walletProvider Returns\: `SubscriptionIdleState_MakePaymentResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - inputs - \[TransferInput\] - * - context - PaymentTransferContext - * - walletProvider - `Party `_ - .. _type-splice-wallet-subscriptions-subscriptioninitialpayment-79960: **template** `SubscriptionInitialPayment `_ The initial payment on a subscription\. Implicitly, this is also the \"accept\" of the preceding ``SubscriptionRequest``\. Collecting this payments creates the subscription and thereby enables all follow\-up payments\. Signatory\: subscriptionSignatories subscriptionData .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - subscriptionData - `SubscriptionData `_ - * - payData - `SubscriptionPayData `_ - * - targetAmount - `Decimal `_ - Exact amount in Amulet that the receiver will get\. * - lockedAmulet - `ContractId `_ LockedAmulet - * - round - Round - The round in which the locked amulet was created, added as an extra field so we can avoid ingesting locked amulets\. * - reference - `ContractId `_ `SubscriptionRequest `_ - Reference to the subscription request, note that the contract will no longer be active so this just acts as a tracking id\. + **Choice** Archive Controller\: subscriptionSignatories subscriptionData Returns\: () (no fields) + .. _type-splice-wallet-subscriptions-subscriptioninitialpaymentcollect-92147: **Choice** `SubscriptionInitialPayment_Collect `_ Controller\: signatory this Returns\: `SubscriptionInitialPayment_CollectResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - transferContext - AppTransferContext - + .. _type-splice-wallet-subscriptions-subscriptioninitialpaymentexpire-95363: **Choice** `SubscriptionInitialPayment_Expire `_ Controller\: actor Returns\: `SubscriptionInitialPayment_ExpireResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - actor - `Party `_ - * - transferContext - AppTransferContext - + .. _type-splice-wallet-subscriptions-subscriptioninitialpaymentreject-61119: **Choice** `SubscriptionInitialPayment_Reject `_ Controller\: (DA\.Internal\.Record\.getField @\"receiver\" subscriptionData) Returns\: `SubscriptionInitialPayment_RejectResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - transferContext - AppTransferContext - .. _type-splice-wallet-subscriptions-subscriptionpayment-4463: **template** `SubscriptionPayment `_ An in\-flight (yet to be collected) payment on an existing subscription\. Doubles as a \"payment in progress\" state\. Signatory\: subscriptionSignatories subscriptionData .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - subscription - `ContractId `_ `Subscription `_ - The subscription this belongs to\. * - subscriptionData - `SubscriptionData `_ - Copy of the base subscription properties; for convenience\. * - payData - `SubscriptionPayData `_ - Payment\-related properties\. * - thisPaymentDueAt - `Time `_ - After which time the next payment can and should be paid\. * - targetAmount - `Decimal `_ - * - lockedAmulet - `ContractId `_ LockedAmulet - * - round - Round - The round in which the locked amulet was created, added as an extra field so we can avoid ingesting locked amulets\. * - reference - `ContractId `_ `SubscriptionRequest `_ - + **Choice** Archive Controller\: subscriptionSignatories subscriptionData Returns\: () (no fields) + .. _type-splice-wallet-subscriptions-subscriptionpaymentcollect-45604: **Choice** `SubscriptionPayment_Collect `_ Controller\: signatory this Returns\: `SubscriptionPayment_CollectResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - transferContext - AppTransferContext - + .. _type-splice-wallet-subscriptions-subscriptionpaymentexpire-61162: **Choice** `SubscriptionPayment_Expire `_ Controller\: actor Returns\: `SubscriptionPayment_ExpireResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - actor - `Party `_ - * - transferContext - AppTransferContext - + .. _type-splice-wallet-subscriptions-subscriptionpaymentreject-72046: **Choice** `SubscriptionPayment_Reject `_ Controller\: (DA\.Internal\.Record\.getField @\"receiver\" subscriptionData) Returns\: `SubscriptionPayment_RejectResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - transferContext - AppTransferContext - .. _type-splice-wallet-subscriptions-subscriptionrequest-40942: **template** `SubscriptionRequest `_ A request for establishing a subscription\. Signatory\: subscriptionSignatories subscriptionData .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - subscriptionData - `SubscriptionData `_ - * - payData - `SubscriptionPayData `_ - + **Choice** Archive Controller\: subscriptionSignatories subscriptionData Returns\: () (no fields) + .. _type-splice-wallet-subscriptions-subscriptionrequestacceptandmakepayment-96423: **Choice** `SubscriptionRequest_AcceptAndMakePayment `_ Controller\: (DA\.Internal\.Record\.getField @\"sender\" subscriptionData), walletProvider Returns\: `SubscriptionRequest_AcceptAndMakePaymentResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - inputs - \[TransferInput\] - * - context - PaymentTransferContext - * - walletProvider - `Party `_ - + .. _type-splice-wallet-subscriptions-subscriptionrequestreject-95001: **Choice** `SubscriptionRequest_Reject `_ Controller\: (DA\.Internal\.Record\.getField @\"sender\" subscriptionData) Returns\: `SubscriptionRequest_RejectResult `_ (no fields) + .. _type-splice-wallet-subscriptions-subscriptionrequestwithdraw-88172: **Choice** `SubscriptionRequest_Withdraw `_ Controller\: (DA\.Internal\.Record\.getField @\"receiver\" subscriptionData) Returns\: `SubscriptionRequest_WithdrawResult `_ (no fields) .. _type-splice-wallet-subscriptions-terminatedsubscription-20905: **template** `TerminatedSubscription `_ An aborted subscription\. Subscriptions should usually be archived together with the context contract of the app that makes the subscription, e\.g\., AnsEntryContext\. To achieve that, we don't archive subscriptions directly but instead create TerminatedSubscription contracts that are then archived as part of the surrounding workflows\. Signatory\: subscriptionSignatories subscriptionData .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - subscriptionData - `SubscriptionData `_ - * - reference - `ContractId `_ `SubscriptionRequest `_ - + **Choice** Archive Controller\: subscriptionSignatories subscriptionData Returns\: () (no fields) Data Types ---------- .. _type-splice-wallet-subscriptions-subscriptiondata-61040: **data** `SubscriptionData `_ .. _constr-splice-wallet-subscriptions-subscriptiondata-87477: `SubscriptionData `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - sender - `Party `_ - The party that pays\. * - receiver - `Party `_ - The party that receives payment\. * - provider - `Party `_ - The app provider\. * - dso - `Party `_ - * - description - `Text `_ - **instance** `Eq `_ `SubscriptionData `_ **instance** `Show `_ `SubscriptionData `_ **instance** `GetField `_ \"description\" `SubscriptionData `_ `Text `_ **instance** `GetField `_ \"dso\" `SubscriptionData `_ `Party `_ **instance** `GetField `_ \"provider\" `SubscriptionData `_ `Party `_ **instance** `GetField `_ \"receiver\" `SubscriptionData `_ `Party `_ **instance** `GetField `_ \"sender\" `SubscriptionData `_ `Party `_ **instance** `GetField `_ \"subscriptionData\" `Subscription `_ `SubscriptionData `_ **instance** `GetField `_ \"subscriptionData\" `SubscriptionIdleState `_ `SubscriptionData `_ **instance** `GetField `_ \"subscriptionData\" `SubscriptionInitialPayment `_ `SubscriptionData `_ **instance** `GetField `_ \"subscriptionData\" `SubscriptionPayment `_ `SubscriptionData `_ **instance** `GetField `_ \"subscriptionData\" `SubscriptionRequest `_ `SubscriptionData `_ **instance** `GetField `_ \"subscriptionData\" `TerminatedSubscription `_ `SubscriptionData `_ **instance** `SetField `_ \"description\" `SubscriptionData `_ `Text `_ **instance** `SetField `_ \"dso\" `SubscriptionData `_ `Party `_ **instance** `SetField `_ \"provider\" `SubscriptionData `_ `Party `_ **instance** `SetField `_ \"receiver\" `SubscriptionData `_ `Party `_ **instance** `SetField `_ \"sender\" `SubscriptionData `_ `Party `_ **instance** `SetField `_ \"subscriptionData\" `Subscription `_ `SubscriptionData `_ **instance** `SetField `_ \"subscriptionData\" `SubscriptionIdleState `_ `SubscriptionData `_ **instance** `SetField `_ \"subscriptionData\" `SubscriptionInitialPayment `_ `SubscriptionData `_ **instance** `SetField `_ \"subscriptionData\" `SubscriptionPayment `_ `SubscriptionData `_ **instance** `SetField `_ \"subscriptionData\" `SubscriptionRequest `_ `SubscriptionData `_ **instance** `SetField `_ \"subscriptionData\" `TerminatedSubscription `_ `SubscriptionData `_ .. _type-splice-wallet-subscriptions-subscriptionidlestatecancelsubscriptionresult-53096: **data** `SubscriptionIdleState_CancelSubscriptionResult `_ .. _constr-splice-wallet-subscriptions-subscriptionidlestatecancelsubscriptionresult-80217: `SubscriptionIdleState_CancelSubscriptionResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - terminatedSubscription - `ContractId `_ `TerminatedSubscription `_ - **instance** `GetField `_ \"terminatedSubscription\" `SubscriptionIdleState_CancelSubscriptionResult `_ (`ContractId `_ `TerminatedSubscription `_) **instance** `SetField `_ \"terminatedSubscription\" `SubscriptionIdleState_CancelSubscriptionResult `_ (`ContractId `_ `TerminatedSubscription `_) **instance** `HasExercise `_ `SubscriptionIdleState `_ `SubscriptionIdleState_CancelSubscription `_ `SubscriptionIdleState_CancelSubscriptionResult `_ **instance** `HasFromAnyChoice `_ `SubscriptionIdleState `_ `SubscriptionIdleState_CancelSubscription `_ `SubscriptionIdleState_CancelSubscriptionResult `_ **instance** `HasToAnyChoice `_ `SubscriptionIdleState `_ `SubscriptionIdleState_CancelSubscription `_ `SubscriptionIdleState_CancelSubscriptionResult `_ .. _type-splice-wallet-subscriptions-subscriptionidlestateexpiresubscriptionresult-84335: **data** `SubscriptionIdleState_ExpireSubscriptionResult `_ .. _constr-splice-wallet-subscriptions-subscriptionidlestateexpiresubscriptionresult-85758: `SubscriptionIdleState_ExpireSubscriptionResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - terminatedSubscription - `ContractId `_ `TerminatedSubscription `_ - **instance** `GetField `_ \"terminatedSubscription\" `SubscriptionIdleState_ExpireSubscriptionResult `_ (`ContractId `_ `TerminatedSubscription `_) **instance** `SetField `_ \"terminatedSubscription\" `SubscriptionIdleState_ExpireSubscriptionResult `_ (`ContractId `_ `TerminatedSubscription `_) **instance** `HasExercise `_ `SubscriptionIdleState `_ `SubscriptionIdleState_ExpireSubscription `_ `SubscriptionIdleState_ExpireSubscriptionResult `_ **instance** `HasFromAnyChoice `_ `SubscriptionIdleState `_ `SubscriptionIdleState_ExpireSubscription `_ `SubscriptionIdleState_ExpireSubscriptionResult `_ **instance** `HasToAnyChoice `_ `SubscriptionIdleState `_ `SubscriptionIdleState_ExpireSubscription `_ `SubscriptionIdleState_ExpireSubscriptionResult `_ .. _type-splice-wallet-subscriptions-subscriptionidlestatemakepaymentresult-27466: **data** `SubscriptionIdleState_MakePaymentResult `_ .. _constr-splice-wallet-subscriptions-subscriptionidlestatemakepaymentresult-79353: `SubscriptionIdleState_MakePaymentResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - subscriptionPayment - `ContractId `_ `SubscriptionPayment `_ - * - senderChange - `Optional `_ (`ContractId `_ Amulet) - **instance** `GetField `_ \"senderChange\" `SubscriptionIdleState_MakePaymentResult `_ (`Optional `_ (`ContractId `_ Amulet)) **instance** `GetField `_ \"subscriptionPayment\" `SubscriptionIdleState_MakePaymentResult `_ (`ContractId `_ `SubscriptionPayment `_) **instance** `SetField `_ \"senderChange\" `SubscriptionIdleState_MakePaymentResult `_ (`Optional `_ (`ContractId `_ Amulet)) **instance** `SetField `_ \"subscriptionPayment\" `SubscriptionIdleState_MakePaymentResult `_ (`ContractId `_ `SubscriptionPayment `_) **instance** `HasExercise `_ `SubscriptionIdleState `_ `SubscriptionIdleState_MakePayment `_ `SubscriptionIdleState_MakePaymentResult `_ **instance** `HasFromAnyChoice `_ `SubscriptionIdleState `_ `SubscriptionIdleState_MakePayment `_ `SubscriptionIdleState_MakePaymentResult `_ **instance** `HasToAnyChoice `_ `SubscriptionIdleState `_ `SubscriptionIdleState_MakePayment `_ `SubscriptionIdleState_MakePaymentResult `_ .. _type-splice-wallet-subscriptions-subscriptioninitialpaymentcollectresult-97286: **data** `SubscriptionInitialPayment_CollectResult `_ .. _constr-splice-wallet-subscriptions-subscriptioninitialpaymentcollectresult-66575: `SubscriptionInitialPayment_CollectResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - subscription - `ContractId `_ `Subscription `_ - * - subscriptionState - `ContractId `_ `SubscriptionIdleState `_ - * - amulet - `ContractId `_ Amulet - **instance** `GetField `_ \"amulet\" `SubscriptionInitialPayment_CollectResult `_ (`ContractId `_ Amulet) **instance** `GetField `_ \"subscription\" `SubscriptionInitialPayment_CollectResult `_ (`ContractId `_ `Subscription `_) **instance** `GetField `_ \"subscriptionState\" `SubscriptionInitialPayment_CollectResult `_ (`ContractId `_ `SubscriptionIdleState `_) **instance** `SetField `_ \"amulet\" `SubscriptionInitialPayment_CollectResult `_ (`ContractId `_ Amulet) **instance** `SetField `_ \"subscription\" `SubscriptionInitialPayment_CollectResult `_ (`ContractId `_ `Subscription `_) **instance** `SetField `_ \"subscriptionState\" `SubscriptionInitialPayment_CollectResult `_ (`ContractId `_ `SubscriptionIdleState `_) **instance** `HasExercise `_ `SubscriptionInitialPayment `_ `SubscriptionInitialPayment_Collect `_ `SubscriptionInitialPayment_CollectResult `_ **instance** `HasFromAnyChoice `_ `SubscriptionInitialPayment `_ `SubscriptionInitialPayment_Collect `_ `SubscriptionInitialPayment_CollectResult `_ **instance** `HasToAnyChoice `_ `SubscriptionInitialPayment `_ `SubscriptionInitialPayment_Collect `_ `SubscriptionInitialPayment_CollectResult `_ .. _type-splice-wallet-subscriptions-subscriptioninitialpaymentexpireresult-71466: **data** `SubscriptionInitialPayment_ExpireResult `_ .. _constr-splice-wallet-subscriptions-subscriptioninitialpaymentexpireresult-14633: `SubscriptionInitialPayment_ExpireResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - amuletSum - AmuletCreateSummary (`ContractId `_ Amulet) - **instance** `GetField `_ \"amuletSum\" `SubscriptionInitialPayment_ExpireResult `_ (AmuletCreateSummary (`ContractId `_ Amulet)) **instance** `SetField `_ \"amuletSum\" `SubscriptionInitialPayment_ExpireResult `_ (AmuletCreateSummary (`ContractId `_ Amulet)) **instance** `HasExercise `_ `SubscriptionInitialPayment `_ `SubscriptionInitialPayment_Expire `_ `SubscriptionInitialPayment_ExpireResult `_ **instance** `HasFromAnyChoice `_ `SubscriptionInitialPayment `_ `SubscriptionInitialPayment_Expire `_ `SubscriptionInitialPayment_ExpireResult `_ **instance** `HasToAnyChoice `_ `SubscriptionInitialPayment `_ `SubscriptionInitialPayment_Expire `_ `SubscriptionInitialPayment_ExpireResult `_ .. _type-splice-wallet-subscriptions-subscriptioninitialpaymentrejectresult-97550: **data** `SubscriptionInitialPayment_RejectResult `_ .. _constr-splice-wallet-subscriptions-subscriptioninitialpaymentrejectresult-64365: `SubscriptionInitialPayment_RejectResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - amuletSum - AmuletCreateSummary (`ContractId `_ Amulet) - **instance** `GetField `_ \"amuletSum\" `SubscriptionInitialPayment_RejectResult `_ (AmuletCreateSummary (`ContractId `_ Amulet)) **instance** `SetField `_ \"amuletSum\" `SubscriptionInitialPayment_RejectResult `_ (AmuletCreateSummary (`ContractId `_ Amulet)) **instance** `HasExercise `_ `SubscriptionInitialPayment `_ `SubscriptionInitialPayment_Reject `_ `SubscriptionInitialPayment_RejectResult `_ **instance** `HasFromAnyChoice `_ `SubscriptionInitialPayment `_ `SubscriptionInitialPayment_Reject `_ `SubscriptionInitialPayment_RejectResult `_ **instance** `HasToAnyChoice `_ `SubscriptionInitialPayment `_ `SubscriptionInitialPayment_Reject `_ `SubscriptionInitialPayment_RejectResult `_ .. _type-splice-wallet-subscriptions-subscriptionpaydata-96623: **data** `SubscriptionPayData `_ Payment\-related properties\. Expected to be mutated rarely\. .. _constr-splice-wallet-subscriptions-subscriptionpaydata-90180: `SubscriptionPayData `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - paymentAmount - :ref:`PaymentAmount ` - What amount of amulet is due on each interval\. * - paymentInterval - `RelTime `_ - At which intervals payments should be made\. * - paymentDuration - `RelTime `_ - The time available to the sender to initiate a payment; they can initiate the payment this much before the end of the current interval\. **instance** `Eq `_ `SubscriptionPayData `_ **instance** `Show `_ `SubscriptionPayData `_ **instance** `GetField `_ \"payData\" `SubscriptionIdleState `_ `SubscriptionPayData `_ **instance** `GetField `_ \"payData\" `SubscriptionInitialPayment `_ `SubscriptionPayData `_ **instance** `GetField `_ \"payData\" `SubscriptionPayment `_ `SubscriptionPayData `_ **instance** `GetField `_ \"payData\" `SubscriptionRequest `_ `SubscriptionPayData `_ **instance** `GetField `_ \"paymentAmount\" `SubscriptionPayData `_ :ref:`PaymentAmount ` **instance** `GetField `_ \"paymentDuration\" `SubscriptionPayData `_ `RelTime `_ **instance** `GetField `_ \"paymentInterval\" `SubscriptionPayData `_ `RelTime `_ **instance** `SetField `_ \"payData\" `SubscriptionIdleState `_ `SubscriptionPayData `_ **instance** `SetField `_ \"payData\" `SubscriptionInitialPayment `_ `SubscriptionPayData `_ **instance** `SetField `_ \"payData\" `SubscriptionPayment `_ `SubscriptionPayData `_ **instance** `SetField `_ \"payData\" `SubscriptionRequest `_ `SubscriptionPayData `_ **instance** `SetField `_ \"paymentAmount\" `SubscriptionPayData `_ :ref:`PaymentAmount ` **instance** `SetField `_ \"paymentDuration\" `SubscriptionPayData `_ `RelTime `_ **instance** `SetField `_ \"paymentInterval\" `SubscriptionPayData `_ `RelTime `_ .. _type-splice-wallet-subscriptions-subscriptionpaymentcollectresult-94269: **data** `SubscriptionPayment_CollectResult `_ .. _constr-splice-wallet-subscriptions-subscriptionpaymentcollectresult-9234: `SubscriptionPayment_CollectResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - subscriptionState - `ContractId `_ `SubscriptionIdleState `_ - * - amulet - `ContractId `_ Amulet - **instance** `GetField `_ \"amulet\" `SubscriptionPayment_CollectResult `_ (`ContractId `_ Amulet) **instance** `GetField `_ \"subscriptionState\" `SubscriptionPayment_CollectResult `_ (`ContractId `_ `SubscriptionIdleState `_) **instance** `SetField `_ \"amulet\" `SubscriptionPayment_CollectResult `_ (`ContractId `_ Amulet) **instance** `SetField `_ \"subscriptionState\" `SubscriptionPayment_CollectResult `_ (`ContractId `_ `SubscriptionIdleState `_) **instance** `HasExercise `_ `SubscriptionPayment `_ `SubscriptionPayment_Collect `_ `SubscriptionPayment_CollectResult `_ **instance** `HasFromAnyChoice `_ `SubscriptionPayment `_ `SubscriptionPayment_Collect `_ `SubscriptionPayment_CollectResult `_ **instance** `HasToAnyChoice `_ `SubscriptionPayment `_ `SubscriptionPayment_Collect `_ `SubscriptionPayment_CollectResult `_ .. _type-splice-wallet-subscriptions-subscriptionpaymentexpireresult-84183: **data** `SubscriptionPayment_ExpireResult `_ .. _constr-splice-wallet-subscriptions-subscriptionpaymentexpireresult-46758: `SubscriptionPayment_ExpireResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - subscriptionState - `ContractId `_ `SubscriptionIdleState `_ - * - amuletSum - AmuletCreateSummary (`ContractId `_ Amulet) - **instance** `GetField `_ \"amuletSum\" `SubscriptionPayment_ExpireResult `_ (AmuletCreateSummary (`ContractId `_ Amulet)) **instance** `GetField `_ \"subscriptionState\" `SubscriptionPayment_ExpireResult `_ (`ContractId `_ `SubscriptionIdleState `_) **instance** `SetField `_ \"amuletSum\" `SubscriptionPayment_ExpireResult `_ (AmuletCreateSummary (`ContractId `_ Amulet)) **instance** `SetField `_ \"subscriptionState\" `SubscriptionPayment_ExpireResult `_ (`ContractId `_ `SubscriptionIdleState `_) **instance** `HasExercise `_ `SubscriptionPayment `_ `SubscriptionPayment_Expire `_ `SubscriptionPayment_ExpireResult `_ **instance** `HasFromAnyChoice `_ `SubscriptionPayment `_ `SubscriptionPayment_Expire `_ `SubscriptionPayment_ExpireResult `_ **instance** `HasToAnyChoice `_ `SubscriptionPayment `_ `SubscriptionPayment_Expire `_ `SubscriptionPayment_ExpireResult `_ .. _type-splice-wallet-subscriptions-subscriptionpaymentrejectresult-80731: **data** `SubscriptionPayment_RejectResult `_ .. _constr-splice-wallet-subscriptions-subscriptionpaymentrejectresult-20586: `SubscriptionPayment_RejectResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - subscriptionState - `ContractId `_ `SubscriptionIdleState `_ - * - amuletSum - AmuletCreateSummary (`ContractId `_ Amulet) - **instance** `GetField `_ \"amuletSum\" `SubscriptionPayment_RejectResult `_ (AmuletCreateSummary (`ContractId `_ Amulet)) **instance** `GetField `_ \"subscriptionState\" `SubscriptionPayment_RejectResult `_ (`ContractId `_ `SubscriptionIdleState `_) **instance** `SetField `_ \"amuletSum\" `SubscriptionPayment_RejectResult `_ (AmuletCreateSummary (`ContractId `_ Amulet)) **instance** `SetField `_ \"subscriptionState\" `SubscriptionPayment_RejectResult `_ (`ContractId `_ `SubscriptionIdleState `_) **instance** `HasExercise `_ `SubscriptionPayment `_ `SubscriptionPayment_Reject `_ `SubscriptionPayment_RejectResult `_ **instance** `HasFromAnyChoice `_ `SubscriptionPayment `_ `SubscriptionPayment_Reject `_ `SubscriptionPayment_RejectResult `_ **instance** `HasToAnyChoice `_ `SubscriptionPayment `_ `SubscriptionPayment_Reject `_ `SubscriptionPayment_RejectResult `_ .. _type-splice-wallet-subscriptions-subscriptionrequestacceptandmakepaymentresult-1166: **data** `SubscriptionRequest_AcceptAndMakePaymentResult `_ .. _constr-splice-wallet-subscriptions-subscriptionrequestacceptandmakepaymentresult-32571: `SubscriptionRequest_AcceptAndMakePaymentResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - subscriptionPayment - `ContractId `_ `SubscriptionInitialPayment `_ - * - senderChange - `Optional `_ (`ContractId `_ Amulet) - **instance** `GetField `_ \"senderChange\" `SubscriptionRequest_AcceptAndMakePaymentResult `_ (`Optional `_ (`ContractId `_ Amulet)) **instance** `GetField `_ \"subscriptionPayment\" `SubscriptionRequest_AcceptAndMakePaymentResult `_ (`ContractId `_ `SubscriptionInitialPayment `_) **instance** `SetField `_ \"senderChange\" `SubscriptionRequest_AcceptAndMakePaymentResult `_ (`Optional `_ (`ContractId `_ Amulet)) **instance** `SetField `_ \"subscriptionPayment\" `SubscriptionRequest_AcceptAndMakePaymentResult `_ (`ContractId `_ `SubscriptionInitialPayment `_) **instance** `HasExercise `_ `SubscriptionRequest `_ `SubscriptionRequest_AcceptAndMakePayment `_ `SubscriptionRequest_AcceptAndMakePaymentResult `_ **instance** `HasFromAnyChoice `_ `SubscriptionRequest `_ `SubscriptionRequest_AcceptAndMakePayment `_ `SubscriptionRequest_AcceptAndMakePaymentResult `_ **instance** `HasToAnyChoice `_ `SubscriptionRequest `_ `SubscriptionRequest_AcceptAndMakePayment `_ `SubscriptionRequest_AcceptAndMakePaymentResult `_ .. _type-splice-wallet-subscriptions-subscriptionrequestrejectresult-11624: **data** `SubscriptionRequest_RejectResult `_ .. _constr-splice-wallet-subscriptions-subscriptionrequestrejectresult-75381: `SubscriptionRequest_RejectResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - terminatedSubscription - `ContractId `_ `TerminatedSubscription `_ - **instance** `GetField `_ \"terminatedSubscription\" `SubscriptionRequest_RejectResult `_ (`ContractId `_ `TerminatedSubscription `_) **instance** `SetField `_ \"terminatedSubscription\" `SubscriptionRequest_RejectResult `_ (`ContractId `_ `TerminatedSubscription `_) **instance** `HasExercise `_ `SubscriptionRequest `_ `SubscriptionRequest_Reject `_ `SubscriptionRequest_RejectResult `_ **instance** `HasFromAnyChoice `_ `SubscriptionRequest `_ `SubscriptionRequest_Reject `_ `SubscriptionRequest_RejectResult `_ **instance** `HasToAnyChoice `_ `SubscriptionRequest `_ `SubscriptionRequest_Reject `_ `SubscriptionRequest_RejectResult `_ .. _type-splice-wallet-subscriptions-subscriptionrequestwithdrawresult-7225: **data** `SubscriptionRequest_WithdrawResult `_ .. _constr-splice-wallet-subscriptions-subscriptionrequestwithdrawresult-40204: `SubscriptionRequest_WithdrawResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - terminatedSubscription - `ContractId `_ `TerminatedSubscription `_ - **instance** `GetField `_ \"terminatedSubscription\" `SubscriptionRequest_WithdrawResult `_ (`ContractId `_ `TerminatedSubscription `_) **instance** `SetField `_ \"terminatedSubscription\" `SubscriptionRequest_WithdrawResult `_ (`ContractId `_ `TerminatedSubscription `_) **instance** `HasExercise `_ `SubscriptionRequest `_ `SubscriptionRequest_Withdraw `_ `SubscriptionRequest_WithdrawResult `_ **instance** `HasFromAnyChoice `_ `SubscriptionRequest `_ `SubscriptionRequest_Withdraw `_ `SubscriptionRequest_WithdrawResult `_ **instance** `HasToAnyChoice `_ `SubscriptionRequest `_ `SubscriptionRequest_Withdraw `_ `SubscriptionRequest_WithdrawResult `_ .. _type-splice-wallet-subscriptions-subscriptionarchiveresult-60922: **data** `Subscription_ArchiveResult `_ .. _constr-splice-wallet-subscriptions-subscriptionarchiveresult-91207: `Subscription_ArchiveResult `_ .. list-table:: :widths: 15 10 30 :header-rows: 1 * - Field - Type - Description * - terminatedSubscription - `ContractId `_ `TerminatedSubscription `_ - **instance** `GetField `_ \"terminatedSubscription\" `Subscription_ArchiveResult `_ (`ContractId `_ `TerminatedSubscription `_) **instance** `SetField `_ \"terminatedSubscription\" `Subscription_ArchiveResult `_ (`ContractId `_ `TerminatedSubscription `_) **instance** `HasExercise `_ `Subscription `_ `Subscription_Archive `_ `Subscription_ArchiveResult `_ **instance** `HasFromAnyChoice `_ `Subscription `_ `Subscription_Archive `_ `Subscription_ArchiveResult `_ **instance** `HasToAnyChoice `_ `Subscription `_ `Subscription_Archive `_ `Subscription_ArchiveResult `_ Functions --------- .. _function-splice-wallet-subscriptions-subscriptionsignatories-98765: `subscriptionSignatories `_ \: `SubscriptionData `_ \-\> \[`Party `_\] .. _function-splice-wallet-subscriptions-paydataisvalid-4217: `payDataIsValid `_ \: `SubscriptionPayData `_ \-\> `Bool `_ .. _function-splice-wallet-subscriptions-lockandmakechange-61624: `lockAndMakeChange `_ \: PaymentTransferContext \-\> `SubscriptionData `_ \-\> `SubscriptionPayData `_ \-\> \[TransferInput\] \-\> `Time `_ \-\> `Party `_ \-\> `Update `_ (`ContractId `_ LockedAmulet, `Optional `_ (`ContractId `_ Amulet), `Decimal `_, Round) .. _function-splice-wallet-subscriptions-unlockandtransfer-4476: `unlockAndTransfer `_ \: AppTransferContext \-\> `SubscriptionData `_ \-\> `Decimal `_ \-\> `ContractId `_ LockedAmulet \-\> `Update `_ (`ContractId `_ Amulet) .. _function-splice-wallet-subscriptions-mktransferoutput-31673: `mkTransferOutput `_ \: `Party `_ \-\> `Decimal `_ \-\> TransferOutput