NFT Minting

Create Order

POST https://api-purchase-nft.nivapay.com/merchant/hosted/nftCheckout/order

Merchant will call this endpoint to generate a new order. Merchant needs to redirect their user to the hosted checkout URL to complete the journey.

Headers

Name
Type
Description

X-API-KEY*

string

Merchant API key

Request Body

Name
Type
Description

crypto_symbol*

string

Symbol of the virtual asset which user wants to pay in. If the SC function requires funds, then this should be the same currency.

user_last_name

string

Last name of your user

user_first_name

string

First name of your user

user_email_id

string (email)

Email ID of your user

merchant_webhook_url

string (url)

URL where you want to receive webhook events

merchant_redirect_url*

string (url)

URL to which the user will be redirected back at the end of the journey or when user cancels the session. For SDK integration, pass a dummy value.

merchant_txn_id

string

Internal ID provided by the merchant to track this order. This will be passed in the webhook events too.

merchant_user_id*

string

Internal ID provided by the merchant for the user

merchant_id*

string

ID assigned to the merchant by Nivapay

crypto_contract_address

string

Contract address is required, if symbol+network is not a native currency, else can be null

contractExecution*

json

Smart contract (SC) execution details

network_params*

json

Contains network params

totalValue*

string

Total value of crypto to be paid to the function for this particular call (with above function_args). Value must not be in wei. You can use big decimals up to 18 digits.

payableCryptoContractAddress

string

If the virtual asset is an ERC20 / BEP20 token then it’s contract address to uniquely identify it

payableCryptoSymbol*

string

Symbol of the virtual asset to be paid to the SC function

payment

json

Required only if the SC function is expected to receive funds for its successful execution

function_args*

json

JSON containing the list of arguments (key-value pairs) this SC function takes. Arguments must adhere to the data type defined in the function ABI registered. Refer to the example below.

smartContractFunctionId*

string

ID of the SC function registered by the merchant

customGasLimit

string

Gas limit to override the defaultGasLimit specified at the time of registering your SC. If your SC function can vary in terms of computational effort, then it is strongly recommended to set this to avoid “insufficient gas fee” failures.

networkName*

string

Blockchain network on which this SC exists

crypto_network*

string

Blockchain network of this virtual asset

chevron-rightCreate Order request example (curl)hashtag

Generate Crypto Quote

POST https://api-purchase-nft.nivapay.com/merchant/hosted/nftCheckout/cryptoQuote

Get the amount to be paid in crypto to fulfil the desired NFT Checkout order

Headers

Name
Type
Description

X-API-KEY*

string

Merchant API key

Request Body

Name
Type
Description

crypto_symbol*

string

Symbol of the virtual asset which user wants to pay in. If the SC function requires funds, then this should be the same currency.

merchant_id*

string

ID assigned to the merchant by Nivapay

crypto_contract_address

string

Contract address is required, if symbol+network is not a native currency, else can be null

contractExecution*

json

Smart contract (SC) execution details

network_params*

json

Contains network params

totalValue*

string

Total value of crypto to be paid to the function for this particular call (with above function_args). Value must not be in wei. You can use big decimals up to 18 digits.

payableCryptoContractAddress

string

If the virtual asset is an ERC20 / BEP20 token then it’s contract address to uniquely identify it

payableCryptoSymbol*

string

Symbol of the virtual asset to be paid to the SC function

payment

json

Required only if the SC function is expected to receive funds for its successful execution

function_args*

json

JSON containing the list of arguments (key-value pairs) this SC function takes. Arguments must adhere to the data type defined in the function ABI registered. Refer to the example below.

smartContractFunctionId*

string

ID of the SC function registered by the merchant

customGasLimit

string

Gas limit to override the defaultGasLimit specified at the time of registering your SC. If your SC function can vary in terms of computational effort, then it is strongly recommended to set this to avoid “insufficient gas fee” failures.

networkName*

string

Blockchain network on which this SC exists

crypto_network*

string

Blockchain network of this virtual asset

Last updated