Skip to content

Instantly share code, notes, and snippets.

@grigor-aramyan
Created April 6, 2021 09:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save grigor-aramyan/56ecf1964416572cdfcb6f51a5e18b83 to your computer and use it in GitHub Desktop.
Save grigor-aramyan/56ecf1964416572cdfcb6f51a5e18b83 to your computer and use it in GitHub Desktop.
curl_setopt_array($curl, array(
CURLOPT_URL => "https://payflowpro.paypal.com",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n<XMLPayRequest Timeout=\"30\" version = \"2.0\">\r\n\t<RequestData>\r\n\t\t<Vendor>armeniatr*****</Vendor>\r\n\t\t<Partner>VeriSign</Partner>\r\n\t\t<RecurringProfiles>\r\n\t\t\t<RecurringProfile>\r\n\t\t\t\t<Add>\r\n\t\t\t\t\t<Tender>\r\n\t\t\t\t\t\t<Card>\r\n\t\t\t\t\t\t\t <CardNum>".$donation->getAccountNumber()."</CardNum>\r\n\t\t\t\t\t\t\t <ExpDate>".$donation->getExpiryYear().$donation->getExpiryMonth()."</ExpDate>\r\n\t\t\t\t\t\t\t</Card>\r\n\t\t\t\t\t</Tender>\r\n\t\t\t\t\t<RPData>\r\n\t\t\t\t\t\t<Name>".$donation->getFirstName()." ".$donation->getLastName()."</Name>\r\n\t\t\t\t\t\t<ExtData Name=\"CURRENCY\" Value=\"USD\"></ExtData>\r\n\t\t\t\t\t\t<TotalAmt>".$donation->getAmount().".00</TotalAmt>\r\n\t\t\t\t\t\t<Start>".$donation->getStartMonth()."01".$donation->getStartYear()."</Start>\r\n\t\t\t\t\t\t<Term>".$donation->getTerm()."</Term>\r\n\t\t\t\t\t\t<PayPeriod>".$donation->getPeriod()."</PayPeriod>\r\n\t\t\t\t\t\t<EMail>".$donation->getEmail()."</EMail>\r\n\t\t\t\t\t</RPData>\r\n\t\t\t\t</Add>\r\n\t\t\t</RecurringProfile>\t\r\n\t\t</RecurringProfiles>\r\n\t</RequestData>\r\n\t<RequestAuth>\r\n\t\t<UserPass>\r\n\t\t\t<User>BenFru*****</User>\r\n\t\t\t<Password>Begr*****</Password>\r\n\t\t</UserPass>\r\n\t</RequestAuth>\r\n</XMLPayRequest> ",
CURLOPT_HTTPHEADER => array(
"Content-Type: text/xml",
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
curl_close($curl);
$xml = simplexml_load_string($response);
$json_string = json_encode($xml);
$result_array = json_decode($json_string, TRUE);
$code = $result_array["ResponseData"]["TransactionResults"]["TransactionResult"]["Result"];
$message = $result_array["ResponseData"]["TransactionResults"]["TransactionResult"]["Message"];
$id = $result_array["ResponseData"]["TransactionResults"]["TransactionResult"]["PNRef"];
$profileId = $result_array["ResponseData"]["TransactionResults"]["TransactionResult"]["PROFILEID"];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment