Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require __DIR__ . '/../bootstrap/autoload.php';
- $app = require_once __DIR__ . '/../bootstrap/app.php';
- $host = "https://api.avangate.com";
- $client = new SoapClient($host . "/soap/5.0/?wsdl", array(
- 'location' => $host . "/soap/5.0/",
- "stream_context" => stream_context_create(array(
- 'ssl' => array(
- 'verify_peer' => false,
- 'verify_peer_name' => false
- )
- ))
- ));
- function hmac($key, $data)
- {
- $b = 64; // byte length for md5
- if (strlen($key) > $b) {
- $key = pack("H*", md5($key));
- }
- $key = str_pad($key, $b, chr(0x00));
- $ipad = str_pad('', $b, chr(0x36));
- $opad = str_pad('', $b, chr(0x5c));
- $k_ipad = $key ^ $ipad;
- $k_opad = $key ^ $opad;
- return md5($k_opad . pack("H*", md5($k_ipad . $data)));
- }
- $merchantCode = "MODULESG";
- $key = "J?[NPnEf#OKSIeXvgDz2";
- $now = gmdate('Y-m-d H:i:s'); //GMT date format)
- $string = strlen($merchantCode) . $merchantCode . strlen($now) . $now;
- $hash = hmac($key, $string);
- try {
- $sessionID = $client->login($merchantCode, $now, $hash);
- } catch (\SoapFault $e) {
- echo "Authentication: " . $e->getMessage();
- exit;
- }
- $Order = new stdClass();
- $Order->Currency = "USD";
- $Order->Language = "EN";
- $Order->Country = "US";
- $Order->CustomerIP = '91.220.121.21';//"10.10.13.37";
- $Order->Source = "sourceAPI.net";
- $Order->LocalTime = date('Y-m-d H:i:s');
- $Order->CustomerReference = 421820775;
- $Order->Items = array();
- /**
- * 1st Product
- */
- $Order->Items[0] = new stdClass();
- $Order->Items[0]->Code = null;
- $Order->Items[0]->Quantity = 1;
- $Order->Items[0]->PurchaseType = 'PRODUCT';
- $Order->Items[0]->Tangible = false; // physical
- $Order->Items[0]->IsDynamic = true;
- $Order->Items[0]->Price = new stdClass();
- $Order->Items[0]->Price->Amount = 100;
- $Order->Items[0]->Price->Type = 'CUSTOM';
- $Order->Items[0]->Name = 'Dynamic Product 1 ' . date("Y-m-d H:i:s");
- $Order->Items[0]->Description = 'Description Produs OTF';
- $Order->MachineId = 'machineIdTestDan';
- $Order->Discount = null;
- $Order->ExternalReference = null;
- $Order->BillingDetails = new stdClass();
- $Order->BillingDetails->Address1 = 'API BILL';
- $Order->BillingDetails->Address2 = 'API BILL2';
- $Order->BillingDetails->City = 'London';
- $Order->BillingDetails->State = 'Greater London';
- $Order->BillingDetails->CountryCode = 'UK';
- $Order->BillingDetails->Phone = 12345;
- $Order->BillingDetails->Email = 'shopper@2checkout.com';
- $Order->BillingDetails->FirstName = 'First Name Bil';
- $Order->BillingDetails->LastName = 'Last Name Bil';
- $Order->BillingDetails->Company = 'Api Company';
- $Order->BillingDetails->Zip = '12345';
- $Order->BillingDetails->FiscalCode = 13205628845;
- /**/
- $Order->DeliveryDetails = new stdClass();
- $Order->DeliveryDetails->Address1 = 'Api Del';
- $Order->DeliveryDetails->Address2 = 'Api Del2';
- $Order->DeliveryDetails->City = 'Api City Del';
- $Order->DeliveryDetails->State = 'Paris';
- $Order->DeliveryDetails->CountryCode = 'US';
- $Order->DeliveryDetails->Phone = '12345';
- $Order->DeliveryDetails->Email = 'deli@email.com';
- $Order->DeliveryDetails->FirstName = 'Api First Name Del';
- $Order->DeliveryDetails->LastName = 'Api Last Name Del';
- $Order->DeliveryDetails->Zip = 12345;
- $Order->PaymentDetails = new stdClass();
- $Order->PaymentDetails->Type = "CC";
- $Order->PaymentDetails->Currency = "USD";
- $Order->PaymentDetails->CustomerIP = '91.220.121.21';//"10.10.13.37";
- $Order->PaymentDetails->PaymentMethod = new stdClass();
- /**/
- $Order->PaymentDetails->PaymentMethod->CardNumber = "4111111111111111";//4222222222222 //4111111111111111 //4984123412341234 - Installments
- $Order->PaymentDetails->PaymentMethod->CardType = "VISA";/**/
- /**/
- $Order->PaymentDetails->PaymentMethod->ExpirationYear = "2020";
- $Order->PaymentDetails->PaymentMethod->ExpirationMonth = "12";
- $Order->PaymentDetails->PaymentMethod->CCID = "123";
- $Order->PaymentDetails->PaymentMethod->HolderName = "John Doe";
- $Order->PaymentDetails->PaymentMethod->RecurringEnabled = true;
- $Order->PaymentDetails->PaymentMethod->CardNumberTime = 83.21; // can be null - high value in seconds is a red flag for fraud attempts.
- $Order->PaymentDetails->PaymentMethod->HolderNameTime = 13.35; // can be null - high value in seconds is a red flag for fraud attempts.
- $Order->PaymentDetails->PaymentMethod->Vendor3DSReturnURL = "http://www.success.ro";
- $Order->PaymentDetails->PaymentMethod->Vendor3DSCancelURL = "http://www.error.ro";
- try {
- $newOrder = $client->placeOrder($sessionID, $Order);
- } catch (\Exception $e) {
- vdump($e);
- exit;
- }
- vdump($newOrder);
- exit;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement