package paybridge type Envelope struct { Type string `json:"type"` Data any `json:"data,omitempty"` Timestamp int64 `json:"timestamp,omitempty"` JWT string `json:"jwt,omitempty"` } type PaymentRequest struct { RequestID string `json:"requestId"` Amount int64 `json:"amount"` Currency string `json:"currency"` Operation string `json:"operation"` TimeoutSeconds int `json:"timeoutSeconds,omitempty"` } type PaymentResultEnvelope struct { Type string `json:"type"` Data struct { Success bool `json:"success"` TransactionID string `json:"transactionId"` RequestID string `json:"requestId"` Operation string `json:"operation"` Status string `json:"status"` Message string `json:"message"` ErrorMessage string `json:"errorMessage"` Amount int64 `json:"amount"` Currency string `json:"currency"` AuthCode string `json:"authCode"` DeviceUsed string `json:"deviceUsed"` DeviceType string `json:"deviceType"` ReferenceNumber string `json:"referenceNumber"` LastFourDigits string `json:"lastFourDigits"` CardType string `json:"cardType"` CardNumber string `json:"cardNumber"` ExpiryDate string `json:"expiryDate"` CardHash string `json:"cardHash"` CardReference string `json:"cardReference"` ReceiptData struct { Merchant *string `json:"merchant"` Customer string `json:"customer"` } `json:"receiptData"` } `json:"data"` } type PaymentErrorEnvelope struct { Type string `json:"type"` Data struct { TransactionID string `json:"transactionId"` Error string `json:"error"` Status string `json:"status"` } `json:"data"` }