Файловый менеджер - Редактировать - /var/www/html/omnipay-cybersource.zip
Ðазад
PK ! ��j ( src/Message/CompletePurchaseResponse.phpnu �[��� <?php namespace Omnipay\Cybersource\Message; use Omnipay\Common\Message\AbstractResponse; /** * New Complete Purchase response */ class CompletePurchaseResponse extends CompleteAuthorizeResponse { public function isSuccessful() { return isset($this->data['decision']) && 'ACCEPT' === $this->data['decision']; } public function getTransactionId() { return isset($this->data['req_reference_number']) ? $this->data['req_reference_number'] : null; } public function getTransactionReference() { return isset($this->data['transaction_id']) ? $this->data['transaction_id'] : null; } public function getMessage() { return isset($this->data['message']) ? $this->data['message'] : null; } } PK ! t��� � src/Message/CaptureRequest.phpnu �[��� <?php namespace Omnipay\Cybersource\Message; /** * Cybersource Capture Request * This is a required OmniPay class but I can't see a reference to it in the dev docs */ class CaptureRequest extends PurchaseRequest { } PK ! f-箿 � src/Message/AbstractRequest.phpnu �[��� <?php namespace Omnipay\Cybersource\Message; use Omnipay\Common\Message\RequestInterface; /** * * @method \Omnipay\Cybersource\Message\Response send() */ abstract class AbstractRequest extends \Omnipay\Common\Message\AbstractRequest { protected $liveEndpoint = 'https://secureacceptance.cybersource.com/silent'; protected $testEndpoint = 'https://testsecureacceptance.cybersource.com/silent'; protected $endpoint = ''; protected $isUsOrCanada = false; public function sendData($data) { return $this->response = new Response($this, $data, $this->getEndpoint()); } public function getProfileId() { return $this->getParameter('profileId'); } public function setProfileId($value) { return $this->setParameter('profileId', $value); } public function getSecretKey() { return $this->getParameter('secretKey'); } public function setSecretKey($value) { return $this->setParameter('secretKey', $value); } public function getAccessKey() { return $this->getParameter('accessKey'); } public function setAccessKey($value) { return $this->setParameter('accessKey', $value); } public function getTransactionType() { return $this->getParameter('transactionType'); } public function setTransactionType($value) { return $this->setParameter('transactionType', $value); } public function getIsUsOrCanada() { return $this->getParameter('isUsOrCanada'); } public function setIsUsOrCanada($value) { return $this->setParameter('isUsOrCanada', $value); } public function getEndpoint() { return $this->getTestMode() ? $this->testEndpoint : $this->liveEndpoint; } public function getHttpMethod() { return 'POST'; } public function getCardTypes() { return array( 'visa' => '001', 'mastercard' => '002', 'amex' => '003', 'discover' => '004', 'diners_club' => '005', 'carte_blanche' => '006', 'jcb' => '007', 'jal' => '021', 'maestro' => '024', 'delta' => '031', 'visa_electron' => '033', 'dankort' => '034', 'carte_bleue' => '036', 'carta_si' => '037', 'maestro_international' => '042', 'ge_money_uk_card' => '043' ); } public function getCardType() { $types = $this->getCardTypes(); $brand = $this->getCard()->getBrand(); return empty($types[$brand]) ? null : $types[$brand]; } /** * * @param array $data * @param array $fields * @param string $secret_key * * @return string */ public function generateSignature($data, $fields, $secret_key) { $data_to_sign = array(); foreach ($fields as $field) { $data_to_sign[] = $field . "=" . $data[$field]; } $pairs = implode(',', $data_to_sign); return base64_encode(hash_hmac('sha256', $pairs, $secret_key, true)); } public function supportsDeleteCard() { return false; } } PK ! )���� � src/Message/PurchaseRequest.phpnu �[��� <?php namespace Omnipay\Cybersource\Message; /** * Cybersource Purchase Request */ class PurchaseRequest extends AuthorizeRequest { public function getTransactionType() { return 'sale'; } } PK ! �T�� � ! src/Message/UpdateCardRequest.phpnu �[��� <?php namespace Omnipay\Cybersource\Message; /** * Stripe Update Credit Card Request */ class UpdateCardRequest extends AbstractRequest { public function getData() { $data = array(); $data['description'] = $this->getDescription(); if ($this->getToken()) { $data['card'] = $this->getToken(); } elseif ($this->getCard()) { $data['card'] = $this->getCardData(); $data['email'] = $this->getCard()->getEmail(); } $this->validate('cardReference'); return $data; } public function getEndpoint() { return parent::$endpoint . '/token/update'; } } PK ! �:r ) src/Message/CompleteAuthorizeResponse.phpnu �[��� <?php namespace Omnipay\Cybersource\Message; use Omnipay\Common\Message\AbstractResponse; /** * * @author Rafael Diaz-Tushman * */ class CompleteAuthorizeResponse extends AbstractResponse { public function isSuccessful() { return isset($this->data['decision']) && $this->data['decision'] === 'ACCEPT'; } public function getTransactionReference() { return isset($this->data['transaction_id']) ? $this->data['transaction_id'] : null; } public function getMerchantTransactionReference() { return isset($this->data['req_reference_number']) ? $this->data['req_reference_number'] : null; } public function getMessage() { return isset($this->data['message']) ? $this->data['message'] : null; } public function validateSignature($secret_key) { $signed_field_names_string = isset($this->data['signed_field_names']) ? $this->data['signed_field_names'] : null; $signed_field_names = explode(",", $signed_field_names_string); $signed_data = array(); foreach ($signed_field_names as $field) { $signed_data[] = $field . "=" . $this->data[$field]; } $our_signature = base64_encode(hash_hmac('sha256', implode(",", $signed_data), $secret_key, true)); if ($our_signature != $this->data['signature']) { return false; } return true; } public function getCVNCode() { return isset($this->data['auth_cv_result']) ? $this->data['auth_cv_result'] : null; } public function getAVSCode() { return isset($this->data['auth_avs_code']) ? $this->data['auth_avs_code'] : null; } public function getReasonCode() { return isset($this->data['reason_code']) ? $this->data['reason_code'] : null; } public function getInvalidFields() { $array = array(); if (!empty($this->data['invalid_fields'])) { $array = explode(",", $this->data['invalid_fields']); } return $array; } } PK ! mX(� � src/Message/Response.phpnu �[��� <?php namespace Omnipay\Cybersource\Message; use Omnipay\Common\Message\AbstractResponse; use Omnipay\Common\Message\RequestInterface; use Omnipay\Common\Message\RedirectResponseInterface; /** * Cybersource Response */ class Response extends AbstractResponse implements RedirectResponseInterface { public function __construct(RequestInterface $request, $data, $redirectUrl) { $this->request = $request; $this->data = $data; $this->redirectUrl = $redirectUrl; } public function isSuccessful() { return false; } public function isRedirect() { return true; } public function isTransparentRedirect() { return true; } public function getRedirectUrl() { return $this->redirectUrl; } public function getRedirectMethod() { return 'POST'; } public function getRedirectData() { return $this->getData(); } public function getRedirectResponseHiddenFields() { $hiddenFields = ''; foreach ($this->getRedirectData() as $key => $value) { $hiddenFields .= sprintf( '<input type="hidden" name="%1$s" value="%2$s" />', htmlentities($key, ENT_QUOTES, 'UTF-8', false), htmlentities($value, ENT_QUOTES, 'UTF-8', false) ) . "\n"; } return $hiddenFields; } } PK ! r4�� src/Message/AuthorizeRequest.phpnu �[��� <?php namespace Omnipay\Cybersource\Message; /** * Cybersource Authorize Request */ class AuthorizeRequest extends AbstractRequest { public function getData() { $this->validate('currency', 'amount'); $data = $this->getBaseData() + $this->getTransactionData(); $data['signed_date_time'] = gmdate("Y-m-d\TH:i:s\Z"); $data['unsigned_field_names'] = 'card_type,card_number,card_expiry_date'; $data['signed_field_names'] = implode(',', array_keys($data)) . ',signed_field_names'; $data['signature'] = $this->signData($data); // this is in progress - at this stage let's just pass the // cc fields through but really we need to return a form for them to enter it $data['card_type'] = $this->getCardType(); $data['card_number'] = $this->getCard()->getNumber(); $data['card_expiry_date'] = $this->getCard()->getExpiryDate('m-Y'); return $data; } public function signData($data) { return base64_encode(hash_hmac('sha256', $this->buildDataToSign($data), $this->getSecretKey(), true)); } public function buildDataToSign($data) { $signedFieldNames = explode(",", $data["signed_field_names"]); foreach ($signedFieldNames as $field) { $dataToSign[] = $field . "=" . $data[$field]; } return implode(",", $dataToSign); } public function getRequiredFields() { $extraFields = $this->getIsUsOrCanada() ? $this->getRequiredFieldsUsAndCanada() : array(); return array_merge(array( 'amount', 'city', 'country', 'address1', 'email', 'firstName', 'lastName', 'currency', ), $extraFields); } public function getRequiredFieldsUsAndCanada() { return array( 'postcode', 'billingState', ); } public function getTransactionData() { return array( 'reference_number' => $this->getTransactionId(), 'amount' => $this->getAmount(), 'currency' => $this->getCurrency(), 'description' => $this->getDescription(), 'payment_method' => $this->getPaymentMethod(), 'bill_to_forename' => $this->getCard()->getFirstName(), 'bill_to_surname' => $this->getCard()->getLastName(), 'bill_to_email' => $this->getCard()->getEmail(), 'bill_to_phone' => $this->getCard()->getBillingPhone(), 'bill_to_address_line1' => $this->getCard()->getAddress1(), 'bill_to_address_line2' => $this->getCard()->getAddress2(), 'bill_to_address_city' => $this->getCard()->getCity(), 'bill_to_address_state' => $this->getCard()->getBillingState(), 'bill_to_address_country' => strtoupper($this->getCard()->getCountry()), 'bill_to_address_postal_code' => $this->getCard()->getPostcode(), 'bill_to_company_name' => $this->getCard()->getCompany(), ); } /** * @return array */ public function getBaseData() { return array( 'access_key' => $this->getAccessKey(), 'profile_id' => $this->getProfileId(), //@todo allow setting locale 'locale' => 'en', 'transaction_uuid' => $this->getUniqueID(), 'transaction_type' => $this->getTransactionType(), ); } /** * @return string */ public function getUniqueID() { return uniqid(); } public function getEndpoint() { return parent::getEndpoint() . '/pay'; } public function getPaymentMethod() { return 'card'; } public function getTransactionType() { return 'authorization'; } } PK ! ��s�� � ( src/Message/CompleteAuthorizeRequest.phpnu �[��� <?php namespace Omnipay\Cybersource\Message; /** * * @author Rafael Diaz-Tushman * */ class CompleteAuthorizeRequest extends AbstractRequest { public function getData() { $data = $this->httpRequest->request->all(); return $data; } public function sendData($data) { return $this->response = new CompleteAuthorizeResponse($this, $data); } } PK ! I�W�� � ! src/Message/CreateCardRequest.phpnu �[��� <?php namespace Omnipay\Cybersource\Message; /** * Stripe Create Credit Card Request */ class CreateCardRequest extends AbstractRequest { public function getData() { $data = array(); $data['description'] = $this->getDescription(); if ($this->getToken()) { $data['card'] = $this->getToken(); } elseif ($this->getCard()) { $data['card'] = $this->getCardData(); $data['email'] = $this->getCard()->getEmail(); } else { // one of token or card is required $this->validate('card'); } return $data; } public function getEndpoint() { return parent::$endpoint . '/token/create'; } } PK ! 2r�� � '