Forked from steveosoule/miva-json-api-mvt-call-example-with-hmac-signature.xml
Created
October 7, 2019 19:13
-
-
Save Kayakbabe/26dd64b4b2f4c3e70a60c47e538c26cb to your computer and use it in GitHub Desktop.
Miva - JSON API mvt:call example with HMAC Signature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<mvt:comment> | |
Replace Access token and signature | |
</mvt:comment> | |
<mvt:assign name="g.endpoint" value ="'https://version9.mivamerchant.net/mm5/json.mvc'" /> | |
<mvt:assign name="g.access_token" value ="''" /> | |
<mvt:assign name="g.signature" value ="crypto_base64_decode('')" /> | |
<mvt:assign name="g.timestamp" value="' \"Miva_Request_Timestamp\" : ' $ '\"' $ s.time_t $ '\",' " /> | |
<mvt:comment>Replace Order Id with the new order you created</mvt:comment> | |
<mvt:assign name="g.json_data" value="'{' $ g.timestamp $ ' | |
\"Store_Code\": \"beta\", | |
\"Function\": \"OrderList_Load_Query\", | |
\"Count\": \"1\", | |
\"Offset\": \"0\", | |
\"Filter\": [ | |
{ | |
\"name\": \"search\", | |
\"value\": [ | |
{ | |
\"field\": \"id\", | |
\"operator\": \"EQ\", | |
\"value\": \"200001\" | |
} | |
] | |
}, | |
{ | |
\"name\": \"ondemandcolumns\", | |
\"value\": [ | |
\"payment_module\", | |
\"cust_pw_email\", | |
\"cust_login\", | |
\"ship_method\", | |
\"customer\", | |
\"items\", | |
\"charges\", | |
\"coupons\", | |
\"discounts\", | |
\"payments\", | |
\"notes\", | |
\"CustomField_Values:customfields:*\", | |
\"payment_data\" | |
] | |
} | |
] | |
} | |
'"/> | |
<mvt:assign name="l.ok" value="crypto_hmac_sha256(g.json_data,g.signature,'binary',g.hmac_response)" /> | |
<mvt:assign name="g.b64encoded_hmac_response" value="crypto_base64_encode(g.hmac_response)" /> | |
<mvt:assign name="g.headers" value="'X-Miva-API-Authorization: MIVA-HMAC-SHA256 ' $ g.access_token $ ':' $ g.b64encoded_hmac_response $ asciichar( 13 ) $ asciichar( 10 )" /> | |
<mvt:call action="g.endpoint" method="'RAW'" headers="g.headers" content-type="'application/json'" fields="'g.json_data'"> | |
<mvt:assign name="g.response" value="g.response $ s.callvalue" /> | |
</mvt:call> | |
Order Load Response: <br> | |
<textarea rows="20" cols="200"> | |
&mvt:global:response; | |
</textarea> | |
<br> | |
<br> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment