{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"d35b6b64-a9ee-47de-aa96-bec95e0d235a","name":"Paygistix Web - SDK v 1 03","description":"<h1>About This Guide</h1>\r\n<h2>Intended Audience</h2>\r\n<p><span >This guide is intended for software developers and product integrators who are looking to perform simple payment integrations using Payment Logistics; Paygistix Web hosted payment portal through Buttons, Forms and Custom integration.</span></p>\r\n<h2>Prerequisites</h2>\r\n<p><span >Integrators should have a basic understanding of HTML.</span></p>\r\n<p><span >To use some of the more advanced features including security hash value generation, knowledge of server side website development is required.</span></p>\r\n<p><span >Please contact Payment Logistics support if you require further information.</span></p>\r\n<h1>Configuring Your Account</h1>\r\n<h2>Login to the Paygistix Web Administration Portal</h2>\r\n<p><span >Login with issued username and password for the Paygistix Web portal at: </span><a href=\"https://safepaycert.paymentlogistics.net\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #0000ff;\">https://safepaycert.paymentlogistics.net</span></a></p>\r\n<a href=\"https://why.pay.link/images/DeveloperCenter/web_login3.png\" alt=\"login\" title=\"Login\" target=\"_blank\"><img src=\"https://why.pay.link/images/DeveloperCenter/web_login3.png\"></a>\r\n<p><span >Following a successful login you should see the following page.</span></p>\r\n<a href=\"https://why.pay.link/images/DeveloperCenter/web_home.png\" alt=\"home\" title=\"home\" target=\"_blank\"><img src=\"https://why.pay.link/images/DeveloperCenter/web_home.png\"></a>\r\n<h2>Configuring Options</h2>\r\n<p><span >Choose </span><strong>Account Profile</strong><span >, from the portal menu.</span></p>\r\n<p><span >This is the main configuration screen for the merchant. Complete the options as required.</span></p>\r\n<a href=\"https://why.pay.link/images/DeveloperCenter/web_profile2.png\" alt=\"account\" title=\"account\" target=\"_blank\"><img src=\"https://why.pay.link/images/DeveloperCenter/web_profile2.png\"></a>\r\n<p><strong>Username</strong></p>\r\n<p><span >The username used to login to the admin portal, also used to identify the correct account at code level from Buttons, Forms and Custom integrations.</span></p>\r\n<p><strong>Password</strong></p>\r\n<p><span >The password used to login to the admin portal. This password should be kept safe and must not be sent in Button, Forms or Custom integrations client side code.</span></p>\r\n<p><strong>Direct Gateway Authentication</strong></p>\r\n<p><span >With this option selected, the above username and password are authenticated directly against the Payment Logistics payment gateway and used for processing transactions.</span></p>\r\n<p><strong>Gateway Username</strong></p>\r\n<p><span >Username issued for access to the Payment Logistics payment gateway. Not available when \"Direct Gateway Authentication\" is selected.</span></p>\r\n<p><strong>Gateway Password</strong></p>\r\n<p><span >Password issued by Payment Logistics. Not available when \"Direct Gateway Authentication\" is selected.</span></p>\r\n<p><strong>Gateway Vendor ID</strong></p>\r\n<p><span >Vendor ID issued by Payment Logistics. Not required when \"Direct Gateway Authentication\" is selected as this is set automatically.</span></p>\r\n<p><strong>Secret Hash Key</strong></p>\r\n<p><span >This hash key is used to create a secure token that can be passed to and from the originating website and the Paygistix Web service. See the section later on for more details regarding how to use this. This is automatically handled by the Form and Button generators.</span></p>\r\n<p><strong>Cards Accepted</strong></p>\r\n<p><span >Choose which cards you wish to accept on the payment screen.</span></p>\r\n<p><strong>Merchant Name</strong></p>\r\n<p><span >Name that is displayed on payment screens.</span></p>\r\n<p><strong>Email Address</strong></p>\r\n<p><span >Email address to which successful payment confirmations and order information will be sent.</span></p>\r\n<p><strong>Enable Postback</strong></p>\r\n<p><span >If this box is checked then a server side postback will be initiated on completion of a successful transaction notifying your website of the order details including amount, billing/shipping details etc.</span></p>\r\n<p><strong>Postback URL:</strong></p>\r\n<p><span >The URL of the server side page to be called on successful completion of an order. The order values will be posted to this URL using an HTTP POST. See Section 5.2 for more details.</span></p>\r\n<p><strong>Use HTTP Get Rather than POST</strong></p>\r\n<p><span >When this option is selected parameters will be sent to the postbacks using the GET method, i.e. appended to the URL. The standard and default method for postbacks is to use a HTTP POST where name value pairs are sent in the body of the request rather than as parameters to the URL.</span></p>\r\n<p><strong>Additional Options</strong></p>\r\n<p><span >Set additional flags regarding the payment process as follows.</span></p>\r\n<ul>\r\n<li ><strong>Billing Dropdown</strong></li>\r\n</ul>\r\n<p><span >Determines which geographies are supported, US only, US & Canada, Whole World.</span></p>\r\n<ul>\r\n<li ><strong>Capture Shipping Address</strong></li>\r\n</ul>\r\n<p><span >Fields allowing the customer to enter a different shipping address from the billing address provided during the checkout process.</span></p>\r\n<ul>\r\n<li ><strong>CV2/CVV Mandatory</strong></li>\r\n</ul>\r\n<p><span >The three digits on the back of a card (four on the front for AMEX) required when accepting payments becomes mandatory when checked.</span></p>\r\n<ul>\r\n<li ><strong>Capture Email Address During Process</strong></li>\r\n</ul>\r\n<p><span >When enabled customer will be prompted to enter an email address during the transaction process.</span></p>\r\n<ul>\r\n<li ><strong>Customer Email Acknowledgement</strong></li>\r\n</ul>\r\n<p><span >Sends a customer an order acknowledgment email on completion of a transaction.</span></p>\r\n<ul>\r\n<li ><strong>Merchant Email Acknowledgement</strong></li>\r\n</ul>\r\n<p><span >Sends the merchant an order acknowledgment email on completion of a transaction.</span></p>\r\n<ul>\r\n<li ><strong>Terms & Conditions must be accepted</strong></li>\r\n</ul>\r\n<p><span >Requires a user to check the box next to terms and conditions before continuing with the transaction.</span></p>\r\n<ul>\r\n<li ><strong>Transparent Redirect: a</strong><span >llows capture of credit card details in your own web form which then get passed to Paygistix Web for processing. No user interface is required, with the results being posted directly back to your own web form on completion of the transaction. If this option is selected </span><strong>Inbound Hash</strong><strong>Mandatory:</strong><span > will also be automatically selected.</span></li>\r\n<li ><strong>Inbound Hash Mandatory: </strong>with this option selected, the calling script must pass a valid HASH value when initiating the payment page. See Section 5.1 on generating Hash values.</li>\r\n</ul>\r\n<p><strong>Return URL Parameter Passing Method</strong></p>\r\n<p><span >When the transaction is complete and if a ReturnURL has been supplied when initiated from the calling web page, this option determines how certain parameters will be passed via a HTTP GET back to the site. There are three possible choices.</span></p>\r\n<ol>\r\n<li ><span >No parameters return. The ReturnURL will be loaded, but no details of the order will be passed.</span></li>\r\n<li ><span >Details of the transaction will be appended to the ReturnURL following a ?. i.e. using a standard HTTP GET.</span></li>\r\n<li ><span >Details of the transaction will be appended to the ReturnURL via a fragment identifier (i.e. following a #). This occurs on the client side only, data is not sent across the Internet and javascript must be used on the destination page to access the fragment. http://en.wikipedia.org/wiki/Fragment_identifier</span></li>\r\n</ol>\r\n<p><strong>Return on Error and Success States</strong></p>\r\n<p><span >Typically when processing a credit card charge, the user has an option to retry a transaction, potentially with new card, in the event their initial attempt declines. If the \"Return on Error and Success\" option is set the system will immediately load the ReturnURL even on a failed card transaction allowing the host application to respond to the error directly. This option is set at account level. If you wish to only use this option on certain requests the same thing can be achieved by sending in OPTIONS=RETURNONERROR in the calling form.</span></p>\r\n<p><strong>Custom Logo</strong></p>\r\n<p><span >Allow the merchant to upload a specific header graphic that will replace the generic Payment Logistics logo. The graphic must be either a JPG file or PNG file no bigger than 200px wide x 100px high and no larger than 30k in size.</span></p>\r\n<p><strong>Terms & Conditions Text</strong></p>\r\n<p><span >This is the merchant configurable text to show on the popup Terms & Conditions window if Terms & Conditions are enforced.</span></p>\r\n<h2>U.S. Applicable Tax Rates</h2>\r\n<p><span >Use this screen to set the relevant state taxes depending on where the merchant is located. Tax will automatically be calculated and added to transactions when a customer from a matching state visits the payment page.</span></p>\r\n<a href=\"https://why.pay.link/images/DeveloperCenter/web_taxes.png\" alt=\"tax rates\" title=\"tax rates\" target=\"_blank\"><img src=\"https://why.pay.link/images/DeveloperCenter/web_taxes.png\"></a>\r\n<h1>Generating Simple Buttons & Forms</h1>\r\n<h2>Generate Button Code</h2>\r\n<p><span >The button generator allows you to create simple template code that can easily be pasted into an existing website. The generator builds a unique button using the HTML form code required which is then ready for immediate use.</span></p>\r\n<a href=\"https://why.pay.link/images/DeveloperCenter/web_button.png\" alt=\"button\" title=\"Web Button\" target=\"_blank\"><img src=\"https://why.pay.link/images/DeveloperCenter/web_button.png\"></a>\r\n<p><strong>Button Text</strong></p>\r\n<p><span >This is the word that will appear on the button when placed on a page. It can be any text you wish i.e. \"Pay Now\" , \"Buy Online\" or \"Donate\".</span></p>\r\n<p><strong>Value Range</strong></p>\r\n<p><span >To make the button a specific value such as $10 set both boxes to 10. You can also provide a range of values (perhaps for a donation). i.e. between 10 and 100. The maximum value in the range is $99,999.</span></p>\r\n<p><strong>Return URL</strong></p>\r\n<p><span >This is the page the user will be returned to once they have completed their purchase. Some order details will also be passed back to the page to allow for certain scripting to take place. See Section 5.3 for more information.</span></p>\r\n<p><span >Example code generated by the Button Generator:</span></p>\r\n \r\n```\r\n<form action=\"https://safepaycert.paymentlogistics.net/step1.asp\" method=\"post\">\r\n<input type=\"hidden\" name=\"txnType\" value=\"button\" />\r\n<input type=\"hidden\" name=\"description\" value=\"Donate $100\" />\r\n<input type=\"hidden\" name=\"amountLow\" value=\"100\" />\r\n<input type=\"hidden\" name=\"amountHigh\" value=\"100\" />\r\n<input type=\"hidden\" name=\"merchantID\" value=\"test1\" />\r\n<input type=\"hidden\" name=\"buttonID\" value=\"09032011190755\" />\r\n<input type=\"hidden\" name=\"hash\" value=\"62ea3cd4d607a132a7d8d250e42d3574\" />\r\n<input type=\"hidden\" name=\"ReturnURL\" value=\"https://safepaycert.paymentlogistix.net/testreturn.asp\" />\r\n<input type=\"submit\" name=\"submit\" value=\"Donate $100\" />\r\n</form>\r\n```\r\n \r\n<p><span >The above code includes a standard Input button which can be further styled with CSS to match your website. When pasted to a webpage the button will show as follows:</span></p>\r\n<a href=\"https://why.pay.link/images/DeveloperCenter/web_payBtn2.png\" alt=\"Pay button\" title=\"Pay Button\" target=\"_blank\"><img src=\"https://why.pay.link/images/DeveloperCenter/web_payBtn2.png\"></a>\r\n<p><span >Pressing the button takes you to the payment page where the amount is already selected.</span></p>\r\n<a href=\"https://why.pay.link/images/DeveloperCenter/web_payment2.png\" alt=\"Paygistix Web Payment\" title=\"Paygistix Web Payment\" target=\"_blank\"><img src=\"https://why.pay.link/images/DeveloperCenter/web_payment2.png\"></a>\r\n<h2>Form Generator</h2>\r\n<p><span >The form generator allows you to create simple template code that can easily be pasted into an existing website. The generator builds the HTML form code which is ready for immediate use however some basic html customization can be done to change the look and feel of the form. The form generator takes care of scripting the secure token based on the Secret Hash Key and other data so major changes to the code outside of the form generator such as adding additional products, will cause an invalid hashing error. If your order form contains many items and you constantly need to add or subtract items from it, we recommend a custom integration though we are in the process of adding the ability to reload a product form in the Form Generator for simple modification.</span></p>\r\n<a href=\"https://why.pay.link/images/DeveloperCenter/webForm_fill.png\" alt=\"Paygistix Web form\" title=\"Paygistix Web form\" target=\"_blank\"><img src=\"https://why.pay.link/images/DeveloperCenter/webForm_fill.png\"></a>\r\n<p><strong>Product lines (multiple rows)</strong></p>\r\n<p><strong>Code, Description & Price</strong></p>\r\n<p><span >You can add as many products as you like. Each line will take a product code, something to identify the product with when the order comes through, a short one line description and a product price.</span></p>\r\n<p><strong>Return URL</strong></p>\r\n<p><span >This is the page the user will be returned to once they have completed their purchase. Some order details will also be passed back to the page for allowing for certain scripting to take place. See the section later in this guide regarding \"Return URL format\"</span></p>\r\n<p><strong>Transaction Type</strong></p>\r\n<p><span >You can chose whether you wish the transaction to be an AUTH only or a SALE. If you post an AUTH only you will need to use a FORCE transaction later to force the transaction into the batch.</span></p>\r\n<p><strong>Capture Fields</strong></p>\r\n<p><span >You can give an optional list of fields if you want to capture some additional simple information during the transaction process. Perhaps you might wish to as for a date or birth or gender. Simply enter </span><strong>Date Of Birth, Gender</strong><span > in this box and those optional fields will be displayed. If you want to make one of these capture fields mandatory simply append an * to the field name, e.g: </span><strong>Date Of Birth *, Gender</strong></p>\r\n<p><span >The code generated includes a simple javascript calculator that adds up the selected products quantities and multiplies these by each price to give a guide total price prior to visiting the payment screen. Example code produced by Form Generator:</span></p>\r\n \r\n```\r\n<form action=\"https://safepaycert.paymentlogistics.net/step1.asp\" method=\"post\">\r\n<style type=\"text/css\">\r\n  .pxPrice {text-align:right;}\r\n  .pxQty {width:60px;text-align:right;}\r\n</style>\r\n<table id=pxForm name=pxForm>\r\n  <thead>\r\n    <th>Code</th><th>Item</th><th>Price</th><th>Qty</th>\r\n  </thead>\r\n  <tbody>\r\n    <tr>\r\n      <td class=\"pxCode\">\r\n         001-A-RED<input type=\"hidden\" name=\"pxCode1\" value=\"001-A-RED\" />\r\n      </td>\r\n      <td class=\"pxDescription\">\r\n         Ladies shoe - Red<input type=\"hidden\" name=\"pxDescription1\" value=\"Ladies shoe - Red\" />\r\n      </td>\r\n      <td class=\"pxPrice\">\r\n          $39.00<input type=\"hidden\" name=\"pxPrice1\" id=\"pxPrice1\" value=\"39.00\" />\r\n      </td>\r\n      <td>\r\n          <input type=\"text\" class=\"pxQty\" name=\"pxQty1\" id=\"pxQty1\" value=\"0\" onblur=\"javascript:formatQty(this);\" maxlength=\"3\"/>\r\n      </td>\r\n    </tr>\r\n    <tr>\r\n      <td class=\"pxCode\">\r\n         001-B-BLACK<input type=\"hidden\" name=\"pxCode2\" value=\"001-B-BLACK\" />\r\n      </td>\r\n      <td class=\"pxDescription\">\r\n         Ladies shoe - Black<input type=\"hidden\" name=\"pxDescription2\" value=\"Ladies shoe - Black\" />\r\n      </td>\r\n      <td class=\"pxPrice\">\r\n          $29.00<input type=\"hidden\" name=\"pxPrice2\" id=\"pxPrice2\" value=\"29.00\" />\r\n      </td>\r\n      <td>\r\n          <input type=\"text\" class=\"pxQty\" name=\"pxQty2\" id=\"pxQty2\" value=\"0\" onblur=\"javascript:formatQty(this);\" maxlength=\"3\"/>\r\n      </td>\r\n    </tr>\r\n    <tr>\r\n      <td class=\"pxCode\">\r\n         001-C-SILVER<input type=\"hidden\" name=\"pxCode3\" value=\"001-C-SILVER\" />\r\n      </td>\r\n      <td class=\"pxDescription\">\r\n         Ladies shoe - Silver<input type=\"hidden\" name=\"pxDescription3\" value=\"Ladies shoe - Silver\" />\r\n      </td>\r\n      <td class=\"pxPrice\">\r\n          $39.00<input type=\"hidden\" name=\"pxPrice3\" id=\"pxPrice3\" value=\"39.00\" />\r\n      </td>\r\n      <td>\r\n          <input type=\"text\" class=\"pxQty\" name=\"pxQty3\" id=\"pxQty3\" value=\"0\" onblur=\"javascript:formatQty(this);\" maxlength=\"3\"/>\r\n      </td>\r\n    </tr>\r\n  </tbody>\r\n  <tfoot>\r\n    <tr>\r\n      <td colspan=4 align=right>\r\n         <span id=\"pxTotal\"><b>Total $0.00<b/> </span><input type=\"submit\" id=\"pxSubmit\" value=\"Pay Now\" />\r\n      </td>\r\n    </tr>\r\n  </tfoot>\r\n</table>\r\n<input type=\"hidden\" name=\"txnType\" value=\"form\" />\r\n<input type=\"hidden\" name=\"merchantID\" value=\"test1\" />\r\n<input type=\"hidden\" name=\"formID\" value=\"09032011192442\" />\r\n<input type=\"hidden\" name=\"hash\" value=\"80cd73d5b67cb238495f7d84500cef4c\" />\r\n<input type=\"hidden\" name=\"ReturnURL\" value=\"https://safepay.paymentlogistix.net/testreturn.asp\" />\r\n</form>\r\n<script src=\"https://safepaycert.paymentlogistics.net/form.js\" type=\"text/javascript\">\r\n</script>\r\n```\r\n<p></p>\r\n<p>The resulting form looks like this in a browser and can be easily styled with CSS:</p>.\r\n<p><a href=\"https://why.pay.link/images/DeveloperCenter/web_cart2.png\" alt=\"Paygistix Web Cart\" title=\"Paygistix Web Cart\" target=\"_blank\"><img src=\"https://why.pay.link/images/DeveloperCenter/web_cart2.png\"></a></p>\r\n \r\n<h1>Hash Generation</h1>\r\n<p><span >Both when calling the payment gateway and receiving a postback you can use an MD5 hash value to validate that the call is authenticated.</span></p>\r\n<p><span >We use a standard digest hashing algorithm called MD5 along with a secret shared key value on your profile to generate the MD5 prior to sending and receiving information between your site and ours.</span></p>\r\n<p><span >In the case of the Button and Form generators the MD5 value is embedded automatically, this way if someone maliciously attempted to impersonate your site it would make it difficult for them to change the monetary values and details sent and received.</span></p>\r\n<p><span >When coding your own integrations to the Paygistix Web service you will need to generate your own Hash value. Here is some example pseudo code:</span></p>\r\n \r\n```\r\nString InputValue = SharedSecretKey + MerchantID + Amount + OrderID\r\nString HashValue = MD5(InputValue)\r\n```\r\n \r\n<p><strong>Transparent Redirect (Only):</strong><span > When coding your own integrations to the Paygistix Web service you will need to generate your own Hash value. Here is some example pseudo code:</span></p>\r\n \r\n```\r\nString InputValue = SharedSecretKey + MerchantID + Amount \r\nString HashValue = MD5(InputValue)\r\n```\r\n \r\n<p><span >There are many libraries and implementations for MD5 depending on what your programming language of choice is. Google </span><strong>\"MD5\"</strong><span > and your preferred Server Side Programming Language for more information or contact Payment Logistics for assistance.</span></p>\r\n<h1>Server Postback</h1>\r\n<p><span >As another level of security and validation you can configure the Payment process to post back a server to server message confirming when a transaction is complete. These messages can be picked up by your web server and used to changes the status of an order, or notify a customer that their order has been accepted.</span></p>\r\n<p><span >Within the administrator console there is an option to enable the postback for all Buttons, Forms or Custom payment request. When a postback occurs the Paygistix Web service uses a HTTP POST and sends back value pairs such as the following to your server.</span></p>\r\n<ul>\r\n<li ><span >OrderID</span></li>\r\n<li ><span >Description</span></li>\r\n<ul>\r\n<li ><span >For a button or custom form this will be the Button Text or the Description that was sent in to the payment page.</span></li>\r\n<li ><span >For a Generated Form this will be a list of the items selected and their quantities. In the format </span><strong>ProductCode1=Qty1|ProductCode2=Qty2|ProductCode3=Qty3</strong></li>\r\n</ul>\r\n<li ><span >Amount - The transaction total amount</span></li>\r\n<li ><span >TxnType - BUTTON, FORM, SALE or AUTH</span></li>\r\n<li ><span >PNRef - The unique transaction reference returned from the payment gateway</span></li>\r\n<li ><span >AuthCode - The AuthCode returned from the Credit Card process</span></li>\r\n<li ><span >Hash - The Hash Value returned is made up of the MD5 signature of the following concatenated fields</span></li>\r\n<ul>\r\n<li ><span >SharedPrivateKey</span></li>\r\n<li ><span >MerchantID</span></li>\r\n<li ><span >Amount</span></li>\r\n<li ><span >OrderID</span></li>\r\n<li ><span >PNRef</span></li>\r\n</ul>\r\n<li ><span >Message</span></li>\r\n<li ><span >Result</span></li>\r\n<li ><span >CardType</span></li>\r\n<li ><span >Last4</span></li>\r\n<li ><span >ExpDate</span></li>\r\n<li ><span >Name</span></li>\r\n<li ><span >Email</span></li>\r\n<li ><span >BillingAddress1</span></li>\r\n<li ><span >BillingAddress2</span></li>\r\n<li ><span >BillingCity</span></li>\r\n<li ><span >BillingState</span></li>\r\n<li ><span >BillingZIP</span></li>\r\n<li ><span >BillingCountry</span></li>\r\n<li ><span >ShippingAddress1</span></li>\r\n<li ><span >ShippingAddress2</span></li>\r\n<li ><span >ShippingCity</span></li>\r\n<li ><span >ShippingState</span></li>\r\n<li ><span >ShippingZIP</span></li>\r\n<li ><span >ShippingCountry</span></li>\r\n</ul>\r\n\r\n<h1>Return URLs</h1>\r\n<p><span >On successful completion of a transaction, the website will return to a predefined URL passed in via the calling form.</span></p>\r\n<p><span >The following parameters will be available (depending on the function called)</span></p>\r\n<ul>\r\n<li ><span >MerchantID</span></li>\r\n<li ><span >Amount</span></li>\r\n<li ><span >OrderID</span></li>\r\n<li ><span >PNRef</span></li>\r\n<li ><span >Result</span></li>\r\n<li ><span >TxnType</span></li>\r\n<li ><span >Hash - The hash is made up from the MD5 signature of the following concatenated fields</span></li>\r\n<ul>\r\n<li ><span >Shared Secret Key</span></li>\r\n<li ><span >The ReturnURL sent in to the payment page</span></li>\r\n<li ><span >MerchantID</span></li>\r\n<li ><span >Amount (If relevant)</span></li>\r\n<li ><span >OrderID (If relevant)</span></li>\r\n<li ><span >PNRef</span></li>\r\n</ul>\r\n</ul>\r\n\r\n\r\n","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"9571363","collectionId":"d35b6b64-a9ee-47de-aa96-bec95e0d235a","publishedId":"TWDfDsrM","public":true,"publicUrl":"https://documenter-api.postman.tech/view/9571363/TWDfDsrM","privateUrl":"https://go.postman.co/documentation/9571363-d35b6b64-a9ee-47de-aa96-bec95e0d235a","customColor":{"top-bar":"FFFFFF","right-sidebar":"ededed","highlight":"006fba"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.0","publishDate":"2022-02-11T19:07:30.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/TWDfDsrM"}