NOTE: it requires network-owner login credentials OR if another merchant would like to use it, he/she would have to have 'network owner privileges'.
<?php //your PapApi.class.php file can be downloaded in the merchant panel: //Tools>Integration>API Integration>Download PAP API include ("PapApi.class.php"); //this include assumes the PapApi.class.php is in the same dir as this script $panURL ="https://localhost/pan"; //URL to PAN without trailing slash //change it here for your nework-owner username and password $networkOwnerUsername = "network@owner.com"; $networkOwnerPassword = "123456"; //Details of the merchant whose password we want to change $merchantUsername = "example@merchant.com"; //username of merchant for whom the password has to be changed $newMerchantPassword = 'NewPassword'; //new password for the particular merchant $session = new Pap_Api_Session($panURL."/scripts/server.php"); //login as merchant if(!$session->login($networkOwnerUsername, $networkOwnerPassword)) { die("Cannot login. Message: ".$session->getMessage()); } //Pap_Features_MultipleMerchants_AdminsGrid $request = new Gpf_Rpc_GridRequest("Pap_Features_MultipleMerchants_AdminsGrid","getRows" , $session); try { $request->sendNow(); } catch(Exception $e) { die("API call error: ".$e->getMessage()); } // request was successful, get the grid result $grid = $request->getGrid(); // get recordset from the grid $recordset = $grid->getRecordset(); foreach($recordset as $rec) { if ($merchantUsername == $rec->get('username')) { //Display merchant details. //echo 'ID: '.$rec->get('id'). ' || AccountId: ' . $rec->get('accountid'). ' || Name: ' . $rec->get('firstname').' '.$rec->get('lastname').' || Email: ' . $rec->get('username').' || Status: ' . $rec->get('rstatus').'<br>'; $request = new Gpf_Rpc_FormRequest("Pap_Features_MultipleMerchants_AdminForm", "save", $session); //ID and username are mandatory fields even if you are changing only the password $request->setField('Id',$rec->get('id')); $request->setField("username",$merchantUsername); //set the new password $request->setField('rpassword',$newMerchantPassword); try { $request->sendNow(); } catch(Exception $e) { die("API call error: ".$e->getMessage()); } $response = $request->getStdResponse(); if ($response->success == 'Y') { echo 'Success: ' . $response->message; } else { echo 'Unsuccess: ' . $response->message; } } } ?>