Intent Key

mtnPay use's a new concept of "intents" to validate a transactions authenticity as part of our security model. Inputs to your /pay api call are hashed into a public key and included onto your transaction. The public key is deterministic based on your input which means that transactions can be deemed secure by checking a transaction against your refrence key + intent key, pair.

The /intent endpoint matches the /pay endpoint query parameters 1:1. You should use it by passing the same query parameters you intend to pass along to your /pay api call.

This call should be made before you make the call to your /pay api call.

import requests #make HTTP requests

wallet='Ar7XrWtrGsB2xCnrTFLs9HyJ1bA62gXCAUZa8Fa7VMc5' #receiver
payerToken = 'usdc'
size = 0.1

#base URL
api_url = 'http://api.mtnapi.com/intent'
#query string parameters
params = {'wallet': wallet, 'size' : size, 'payerToken' : payerToken}
#make the GET request
intent_req = requests.get(url = api_url, params=params)
# get the intent value
intent = intent_req.json()['intent']

print(intent.xyz)

Last updated