PASSWORD transactions - monetplus/IDport GitHub Wiki

Transaction initiation and verification with PASSWORD method

  1. Transaction initiation IAPI/initiateTransaction
  2. Transaction verification IAPI/verifyTransaction
  3. optional Obtaining transaction state IAPI/transactionState

Global parameters used:

Parametr Description Value/
.tenant organisation name <Monet+>
.muid user identifier
.methodType method type "PASSWORD"

Transaction initiation

  • specific parameters:
    • IN: .operationType - distinction of transaction type AUTHORIZATION (default) and AUTHENTICATION
    • IN: .transactionData.data - WYSIWYS transaction data (base64-encoded)
    • IN: .transactionData.locale- language code according to ISO 639-1
    • IN: .transactionData.template - transformation template
    • IN: .validity - transaction expiration date and time in UTC format (maximum validity is limited by the configuration)
    • OUT: .data.caseId - transaction identifier
    • OUT: .data.methodSpecific.algType - algorithm type for calculation of password hash and transaction verification code
    • OUT: .data.methodSpecific.nonce - nonce value for transaction verification code
    • OUT: .data.methodSpecific.salt - salt for password hash calculation (with algType = 2)
    • OUT: .data.methodSpecific.cipherPublicKey - public key for encryption of transaction verification code
  • REST API callback:

IAPI/initiateTransaction

IN:	.tenant, .muid, .methodType
	.operationType
	.transactionData.data, .transactionData.locale, transactionData.template
OUT:	.data.caseId
	.data.methodSpecific.nonce, .data.methodSpecific.salt, .data.methodSpecific.cipherPublicKey

Transaction verification

  • specific parameters:
    • IN: .caseId - transaction identifier (obtained from IAPI/initiateTransaction)
    • IN: .code - transaction verification code
  • algType = 2
    • password hash = sha256(salt||password)
    • transaction verification code = sha256(sha256(salt||password)||nonce)
  • REST API callback:

IAPI/verifyTransaction

IN:	.tenant, .muid, .methodType
	.caseId, .code

Obtaining transaction state

  • specific parameters:
    • IN: .caseId - transaction identifier (obtained from IAPI/initiateTransaction)
    • OUT: .data.state - transaction state
  • REST API callback:

IAPI/transactionState

IN:	.tenant
	.caseId
OUT:	.data.state
⚠️ **GitHub.com Fallback** ⚠️