@@ -58,7 +58,9 @@ adb shell am broadcast -a android.intent.action.RUN \
5858** Expected Result:**
5959- Toast shows "Proposal sent successfully"
6060- The proposal is published to the Pubky directory at:
61- ` /pub/paykit.app/v0/subscriptions/proposals/{recipientPubkey}/{proposalId} `
61+ ` /pub/paykit.app/v0/subscriptions/proposals/{subscriber_scope}/{proposalId} `
62+
63+ Where ` {subscriber_scope} ` = ` hex(sha256(normalize(subscriber_pubkey_z32))) ` .
6264
6365### Scenario 2: Discover and Accept Proposal
6466
@@ -76,7 +78,7 @@ adb shell am broadcast -a android.intent.action.RUN \
7678
7779** Expected Result:**
7880- Subscription appears in "My Subscriptions" tab
79- - Proposal is removed from Proposals tab
81+ - Proposal is hidden from Proposals tab (local-only; not deleted from provider storage)
8082- If autopay enabled: AutoPayRule is created
8183
8284### Scenario 3: Manage Subscription
@@ -113,18 +115,25 @@ adb shell am broadcast -a android.intent.action.RUN \
113115
114116## Verifying Directory Operations
115117
116- Use the Pubky homeserver API to verify proposals are correctly stored:
118+ Use the Pubky homeserver API to verify proposals are correctly stored.
119+
120+ ** Important** : Proposals are stored on the ** provider's** storage (the sender of the proposal), not the subscriber's.
117121
118122``` bash
119- # List proposals for a recipient
120- curl " https://homeserver.pubky.app/pub/paykit.app/v0/subscriptions/proposals/{recipientPubkey}/" \
121- -H " pubky-host: {recipientPubkey}"
123+ # Compute subscriber_scope (in practice, use the same hashing as the app):
124+ # subscriber_scope = hex(sha256(normalize(subscriber_pubkey_z32)))
125+
126+ # List proposals addressed to a subscriber (query provider's storage)
127+ curl " https://homeserver.pubky.app/pub/paykit.app/v0/subscriptions/proposals/{subscriber_scope}/" \
128+ -H " pubky-host: {providerPubkey}"
122129
123130# Fetch a specific proposal
124- curl " https://homeserver.pubky.app/pub/paykit.app/v0/subscriptions/proposals/{recipientPubkey }/{proposalId}" \
125- -H " pubky-host: {recipientPubkey }"
131+ curl " https://homeserver.pubky.app/pub/paykit.app/v0/subscriptions/proposals/{subscriber_scope }/{proposalId}" \
132+ -H " pubky-host: {providerPubkey }"
126133```
127134
135+ ** Note** : Proposals are encrypted with Sealed Blob v1. The response will be an encrypted envelope JSON.
136+
128137## Troubleshooting
129138
130139### Proposals Not Appearing
0 commit comments