🧪 MIT Payment Agreement Test

Two-step test: CIT saves card → returns payment_agreement.id → MIT uses it

Step 1

CIT — Save Card & Get Agreement ID

Fires a customer-initiated charge with save_card: true and no payment_agreement object (per Tap's guidance). After 3DS, Tap returns payment_agreement.id in the captured charge.

customer_initiatedtrue
threeDSecuretrue
save_cardtrue
payment_agreementabsent
amountBHD 1.000
Step 2

MIT — Charge With Agreement ID

Fires a merchant-initiated charge with customer_initiated: false, threeDSecure: false. Tests whether the payment_agreement.id from Step 1 is accepted by Tap.

Agreement format to send:
{
  "id": "payment_agreement_..."
}