You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: authorization.md
+10-34Lines changed: 10 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,30 +43,6 @@ The Authorize message indicates the beneficiary approves the transaction after c
43
43
- Provides the originator legal clearance to execute the transaction
44
44
- Creates an audit trail of approval for regulatory purposes
45
45
46
-
### Complete
47
-
48
-
The Complete message is specifically used in the Payment flow, sent by the merchant's agent to indicate the transaction is ready for settlement. It replaces the previously confusing use of Authorize for this purpose.
49
-
50
-
**Business Implications**:
51
-
- Clearly distinguishes merchant readiness for settlement from general authorization
52
-
- Provides the settlement address where funds should be sent
53
-
- Can specify an adjusted final amount (which must be less than or equal to the original requested amount)
54
-
- Enables flexible payment scenarios like partial fulfillment or applied discounts
55
-
- Creates a precise payment instruction for the customer's agent to follow
Customer->>Merchant: Settle (with settlement proof and matching amount)
68
-
```
69
-
70
46
### Reject
71
47
72
48
The Reject message indicates the beneficiary cannot approve the transaction. A clear reason must be provided to help the originator understand the compliance issue.
@@ -94,7 +70,7 @@ The Settle message confirms that the originator has executed the authorized tran
94
70
- Creates a record linking off-chain authorization to on-chain settlement
95
71
- Enables reconciliation between compliance systems and blockchain transactions
96
72
- Completes the authorization-settlement cycle for audit purposes
97
-
- May include an amount field that must match any amount specified in a preceding Complete message
73
+
- May include an amount field that must match any amount specified in a preceding Authorize message
98
74
- Supports partial payment scenarios when used with the amount field
99
75
100
76
### Cancel
@@ -141,26 +117,26 @@ sequenceDiagram
141
117
142
118
### Payment Flow
143
119
144
-
When using the Payment message type, the flow now includes the Complete message to clearly indicate settlement readiness.
120
+
When using the Payment message type, the flow follows a request-response pattern where the merchant initiates and the customer responds.
Copy file name to clipboardExpand all lines: messages.md
+58Lines changed: 58 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -88,6 +88,7 @@ Initiates a virtual asset transfer between parties.
88
88
| purpose | string | No | Draft ([TAIP-13]) | ISO 20022 purpose code indicating the reason for the transfer |
89
89
| categoryPurpose | string | No | Draft ([TAIP-13]) | ISO 20022 category purpose code for high-level classification |
90
90
| expiry | string | No | Review ([TAIP-3]) | ISO 8601 datetime indicating when the transfer request expires |
91
+
| policies | array of [Policy](#policy)| No | Review ([TAIP-3]) | Array of policy objects defining requirements for the transaction |
91
92
92
93
#### Examples
93
94
@@ -178,6 +179,7 @@ Initiates a payment request from a merchant to a customer.
178
179
| merchant |[Party](#party)| Yes | Review ([TAIP-14]) | Party for the merchant (beneficiary) |
179
180
| customer |[Party](#party)| No | Review ([TAIP-14]) | Party for the customer (originator) |
180
181
| agents | array of [Agent](#agent)| Yes | Review ([TAIP-14]) | Array of agents involved in the payment request |
182
+
| policies | array of [Policy](#policy)| No | Review ([TAIP-14]) | Array of policy objects defining requirements that must be satisfied by the customer's agent |
181
183
182
184
#### Examples
183
185
@@ -391,6 +393,7 @@ Terminates an existing transaction or connection. When used with transactions, i
| by | string | Yes | Review ([TAIP-4]) | The party of the transaction wishing to cancel it (e.g., "originator" or "beneficiary" for Transfer messages) |
394
397
| reason | string | No | Review ([TAIP-4]) | Human readable reason for cancellation |
395
398
396
399
#### Example Cancel Message
@@ -405,6 +408,7 @@ Terminates an existing transaction or connection. When used with transactions, i
405
408
"body": {
406
409
"@context": "https://tap.rsvp/schema/1.0",
407
410
"@type": "https://tap.rsvp/schema/1.0#Cancel",
411
+
"by": "originator",
408
412
"reason": "user_requested"
409
413
}
410
414
}
@@ -1067,6 +1071,7 @@ Terminates an existing connection.
| by | string | Yes | Draft ([TAIP-4]) | The party of the transaction wishing to cancel it (e.g., "originator" or "beneficiary" for Transfer messages) |
1070
1075
| reason | string | No | Draft ([TAIP-4]) | Human readable reason for cancellation |
1071
1076
1072
1077
#### Example Cancel Message
@@ -1080,6 +1085,7 @@ Terminates an existing connection.
1080
1085
"body": {
1081
1086
"@context": "https://tap.rsvp/schema/1.0",
1082
1087
"@type": "https://tap.rsvp/schema/1.0#Cancel",
1088
+
"by": "customer",
1083
1089
"reason": "User declined payment request"
1084
1090
}
1085
1091
}
@@ -1342,6 +1348,55 @@ Represents a service involved in executing transactions.
1342
1348
}
1343
1349
```
1344
1350
1351
+
## Out-of-Band Message Initiation
1352
+
1353
+
### Overview
1354
+
[TAIP-3], [TAIP-14] - Review
1355
+
1356
+
When parties haven't established communication, TAP messages can be initiated using DIDComm Out-of-Band (OOB) messages. This enables sharing transaction requests through URLs or QR codes.
1357
+
1358
+
### Requirements
1359
+
1360
+
1. MUST use the `https://didcomm.org/out-of-band/2.0` protocol
1361
+
2. MUST include the appropriate goal_code:
1362
+
-`tap.transfer` for Transfer messages
1363
+
-`tap.payment` for Payment messages
1364
+
3. SHOULD be shared as URLs according to the [Out-of-Band message spec](https://identity.foundation/didcomm-messaging/spec/v2.1/#out-of-band-messages)
1365
+
4. MUST include the TAP message as a signed DIDComm message in the attachment
Copy file name to clipboardExpand all lines: transactions.md
+2-10Lines changed: 2 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,17 +43,9 @@ The **Payment** message type extends TAP to support merchant payment scenarios w
43
43
-**Enhanced Metadata**: Supports additional information like invoices, items, and payment terms
44
44
-**Customer Experience Focus**: Designed for consumer-friendly payment flows with clear merchant identification
45
45
-**Merchant Classification**: Supports ISO 18245 Merchant Category Codes (MCC) for business type identification (e.g., restaurants, grocery stores)
46
-
-**Flexible Settlement**: Supports optional partial payments through the **Complete** message, allowing merchants to adjust final amounts
46
+
-**Flexible Settlement**: Supports flexible asset selection through the `supportedAssets` field, allowing customers to choose their preferred payment method
47
47
-**Invoice Support**: Includes comprehensive invoice functionality as defined in [TAIP-16](/TAIPs/taip-16.md), supporting detailed line items, tax information, and payment terms
48
-
49
-
### Complete Message
50
-
51
-
The **Complete** message is a crucial part of the Payment flow, sent by the merchant's agent to indicate that the transaction is ready for settlement:
52
-
53
-
-**Settlement Readiness**: Clearly signals that the merchant has finished all necessary checks and is ready to receive payment
54
-
-**Address Provision**: Provides the blockchain address where funds should be sent
55
-
-**Optional Amount Adjustment**: Allows merchants to specify a final amount (which must be less than or equal to the original requested amount), enabling scenarios like partial fulfillment or applied discounts
56
-
-**Settlement Guidance**: When an amount is specified in the Complete message, the customer's agent must use that exact amount in the subsequent Settle message. If omitted, the full amount from the original Payment message is implied
48
+
-**Policy Support**: Can include policy requirements (e.g., RequirePresentation) for customer information needed for the transaction
0 commit comments