Software Partner API Reference
Reference EPS Rev 2.0
iPay Process Payment
HTTP URL: https://eps.pathwardportal.com/api/softwareLogin
HTTP Verb: PUT
iPay Sample Request Data
function curl ($url, $data){
$ch = curl_init($url);
$jsonData = json_encode($data);
$headers = [
'Content-Type: application/json',
'Content-Length: ' . strlen($jsonData)
];
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_errno($ch)) {
return ['error' => curl_error($ch)];
}
curl_close($ch);
return $response;
}
$apiUrl = 'https://eps.pathwardportal.com/api/softwareLogin';
$postData = [
'account_type' => "ipay",
'portal_website' => 'dev.pathwardportal.com',
'merchantkey' => '2H12740',
'apikey' => 'CGCHFPZYIEW3',
'price' => '123',
'payer_name' => 'Test Software',
'payer_email' => 'TestSoftware@gmail.com',
'address' => '123 Main-z',
'city' => 'El Paso',
'state' => 'TX',
'zip' => '79936',
];
$html = curl($apiUrl, $postData);
echo $html;
iPay Sample Response
The returned data will be HTML containing the payment process form, and the user can proceed with the payment there.

Params |
Demo Data |
Required |
Notes |
account_type |
ipay |
Required |
iPay: Traditional Merchant |
portal_website |
dev.pathwardportal.com |
Required |
URL will be updated to specific portal once live. |
merchantkey |
2H12740 |
Required |
Merchantkey. |
apikey |
CGCHFPZYIEW3 |
Required |
Apikey. |
payer_id |
|
Optional |
The payer_id is retrieved from the payers API. You can use an existing payer_id (if the payer already exists), or the API will check the email and retrieve the existing payer. If no payer exists, a new payer will be created. |
payer_method_id |
|
Optional |
Retrieved from the payers API if you want to use an existing card. Alternatively, leave it blank, and a new card will be created with a new payer_method_id (limited to 3 payer_method_id per payer). |
amount |
|
Required |
The value representing the number of pennies in USD, or the number of [currency] without decimals. |
invoice_number |
|
Required |
invoice_number is required if there is an invoice to be paid |
name |
|
Optional |
Used to identify a payer |
|
Required |
Used to identify a payer |
|
note |
|
Optional |
Description |
















































































