<commit_before><?php
namespace Df\PaypalClone;
use Df\Payment\WebhookF;
use Magento\Sales\Model\Order\Payment\Transaction as T;
/**
 * 2016-08-27
 * @see \Df\PaypalClone\Method\Normal
 */
abstract class Method extends \Df\Payment\Method {
	/**
	 * 2016-08-31
	 * @param string|null $k [optional]
	 * @return array(string => string)|string|null
	 */
	final public function requestP($k = null) {return dfak($this, function() {return
		df_trans_raw_details($this->transParent())
	;}, $k);}

	/**
	 * 2016-07-18
	 * @used-by \Df\PaypalClone\BlockInfo::responseF()
	 * @param string|null $key [optional]
	 * @return Webhook|string|null
	 */
	public function responseF($key = null) {return $this->response($key);}

	/**
	 * 2016-07-18
	 * @used-by \Df\PaypalClone\BlockInfo::responseL()
	 * @param string|null $key [optional]
	 * @return Webhook|string|null
	 */
	public function responseL($key = null) {return $this->response($key);}

	/**
	 * 2016-07-10
	 * @used-by \Df\PaypalClone\Method\Normal::getConfigPaymentAction()
	 * @param string $id
	 * @param array(string => mixed) $data
	 */
	final protected function addTransaction($id, array $data) {
		$this->ii()->setTransactionId(self::e2i($id));
		$this->iiaSetTR($data);
		//$this->ii()->setIsTransactionClosed(false);
		/**
		 * 2016-07-10
		 * @uses \Magento\Sales\Model\Order\Payment\Transaction::TYPE_PAYMENT —
		 * это единственный транзакция без специального назначения,
		 * и поэтому мы можем безопасно его использовать
		 * для сохранения информации о нашем запросе к платёжной системе.
		 */
		$this->ii()->addTransaction(T::TYPE_PAYMENT);
	}

	/**
	 * 2016-07-18
	 * @used-by responseF()
	 * @used-by responseL()
	 * @param string|null $key [optional]
	 * @return Webhook|string|null
	 */
	private function response($key = null) {
		/** @var Webhook|null $result */
		$result = dfc($this, function($f) {return
 			call_user_func($f, $this->responses())
		;}, [dfa(['L' => 'df_last', 'F' => 'df_first'], substr(df_caller_f(), -1))]);
		return !$result || is_null($key) ? $result : $result->req($key);
	}

	/**
	 * 2016-07-18
	 * @return Webhook[]
	 */
	private function responses() {return dfc($this, function() {
		/** @var string $fc */
		$fc = df_con_heir($this, WebhookF::class);
		return array_map(function(T $t) use($fc) {
			/** @var WebhookF $f */
			$f = new $fc($this, df_trans_raw_details($t));
			return $f->i();
		}, $this->transChildren());
	});}

	/**
	 * 2016-07-13
	 * @return T[]
	 */
	private function transChildren() {return dfc($this, function() {return
		!$this->transParent() ? [] :
			df_usort($this->transParent()->getChildTransactions(), function(T $a, T $b) {return
				$a->getId() - $b->getId();
			})
	;});}

	/**
	 * 2016-07-13
	 * 2016-07-28
	 * Транзакции может не быть в случае каких-то сбоев.
	 * Решил не падать из-за этого, потому что мы можем попасть сюда
	 * в невинном сценарии отображения таблицы заказов
	 * (в контексте рисования колонки с названиями способов оплаты).
	 * @return T|null
	 */
	private function transParent() {return dfc($this, function() {return
		df_trans_by_payment_first($this->ii())
	;});}

	/**
	 * 2016-07-10
	 * 2017-01-05
	 * Преобразует в глобальный внутренний идентификатор транзакции:
	 * 1) Внешний идентификатор транзакции.
	 * Это случай, когда идентификатор формируется платёжной системой.
	 * 2) Локальный внутренний идентификатор транзакции.
	 * Это случай, когда мы сами сформировали идентификатор запроса к платёжной системе.
	 * Мы намеренно передавали идентификатор локальным (без приставки с именем модуля)
	 * для удобства работы с этими идентификаторами в интерфейсе платёжной системы:
	 * ведь там все идентификаторы имели бы одинаковую приставку.
	 * Такой идентификатор формируется в методах:
	 * @see \Df\PaypalClone\Charge::requestId()
	 * @see \Dfe\AllPay\Charge::requestId()
	 *
	 * Глобальный внутренний идентификатор отличается наличием приставки «<имя модуля>-».
	 *
	 * @used-by \Df\PaypalClone\Method::addTransaction()
	 * @used-by \Df\PaypalClone\Webhook::e2i()
	 * @used-by \Dfe\SecurePay\Method::_refund()
	 * @param string $externalId
	 * @return string
	 */
	final public static function e2i($externalId) {return self::codeS() . "-$externalId";}
}<commit_msg>no message<commit_after><?php
namespace Df\PaypalClone;
use Df\Payment\WebhookF;
use Magento\Sales\Model\Order\Payment\Transaction as T;
/**
 * 2016-08-27
 * @see \Df\PaypalClone\Method\Normal
 * @see \Dfe\Klarna\Method
 */
abstract class Method extends \Df\Payment\Method {
	/**
	 * 2016-08-31
	 * @param string|null $k [optional]
	 * @return array(string => string)|string|null
	 */
	final public function requestP($k = null) {return dfak($this, function() {return
		df_trans_raw_details($this->transParent())
	;}, $k);}

	/**
	 * 2016-07-18
	 * @used-by \Df\PaypalClone\BlockInfo::responseF()
	 * @param string|null $key [optional]
	 * @return Webhook|string|null
	 */
	public function responseF($key = null) {return $this->response($key);}

	/**
	 * 2016-07-18
	 * @used-by \Df\PaypalClone\BlockInfo::responseL()
	 * @param string|null $key [optional]
	 * @return Webhook|string|null
	 */
	public function responseL($key = null) {return $this->response($key);}

	/**
	 * 2016-07-10
	 * @used-by \Df\PaypalClone\Method\Normal::getConfigPaymentAction()
	 * @param string $id
	 * @param array(string => mixed) $data
	 */
	final protected function addTransaction($id, array $data) {
		$this->ii()->setTransactionId(self::e2i($id));
		$this->iiaSetTR($data);
		//$this->ii()->setIsTransactionClosed(false);
		/**
		 * 2016-07-10
		 * @uses \Magento\Sales\Model\Order\Payment\Transaction::TYPE_PAYMENT —
		 * это единственный транзакция без специального назначения,
		 * и поэтому мы можем безопасно его использовать
		 * для сохранения информации о нашем запросе к платёжной системе.
		 */
		$this->ii()->addTransaction(T::TYPE_PAYMENT);
	}

	/**
	 * 2016-07-18
	 * @used-by responseF()
	 * @used-by responseL()
	 * @param string|null $key [optional]
	 * @return Webhook|string|null
	 */
	private function response($key = null) {
		/** @var Webhook|null $result */
		$result = dfc($this, function($f) {return
 			call_user_func($f, $this->responses())
		;}, [dfa(['L' => 'df_last', 'F' => 'df_first'], substr(df_caller_f(), -1))]);
		return !$result || is_null($key) ? $result : $result->req($key);
	}

	/**
	 * 2016-07-18
	 * @return Webhook[]
	 */
	private function responses() {return dfc($this, function() {
		/** @var string $fc */
		$fc = df_con_heir($this, WebhookF::class);
		return array_map(function(T $t) use($fc) {
			/** @var WebhookF $f */
			$f = new $fc($this, df_trans_raw_details($t));
			return $f->i();
		}, $this->transChildren());
	});}

	/**
	 * 2016-07-13
	 * @return T[]
	 */
	private function transChildren() {return dfc($this, function() {return
		!$this->transParent() ? [] :
			df_usort($this->transParent()->getChildTransactions(), function(T $a, T $b) {return
				$a->getId() - $b->getId();
			})
	;});}

	/**
	 * 2016-07-13
	 * 2016-07-28
	 * Транзакции может не быть в случае каких-то сбоев.
	 * Решил не падать из-за этого, потому что мы можем попасть сюда
	 * в невинном сценарии отображения таблицы заказов
	 * (в контексте рисования колонки с названиями способов оплаты).
	 * @return T|null
	 */
	private function transParent() {return dfc($this, function() {return
		df_trans_by_payment_first($this->ii())
	;});}

	/**
	 * 2016-07-10
	 * 2017-01-05
	 * Преобразует в глобальный внутренний идентификатор транзакции:
	 * 1) Внешний идентификатор транзакции.
	 * Это случай, когда идентификатор формируется платёжной системой.
	 * 2) Локальный внутренний идентификатор транзакции.
	 * Это случай, когда мы сами сформировали идентификатор запроса к платёжной системе.
	 * Мы намеренно передавали идентификатор локальным (без приставки с именем модуля)
	 * для удобства работы с этими идентификаторами в интерфейсе платёжной системы:
	 * ведь там все идентификаторы имели бы одинаковую приставку.
	 * Такой идентификатор формируется в методах:
	 * @see \Df\PaypalClone\Charge::requestId()
	 * @see \Dfe\AllPay\Charge::requestId()
	 *
	 * Глобальный внутренний идентификатор отличается наличием приставки «<имя модуля>-».
	 *
	 * @used-by \Df\PaypalClone\Method::addTransaction()
	 * @used-by \Df\PaypalClone\Webhook::e2i()
	 * @used-by \Dfe\SecurePay\Method::_refund()
	 * @param string $externalId
	 * @return string
	 */
	final public static function e2i($externalId) {return self::codeS() . "-$externalId";}
}
{'fraction_non_alphanumeric': 0.1622164461247637, 'fraction_numerical': 0.02599243856332703, 'mean_word_length': 4.041691483025611, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 53, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6776833', 'n_tokens_mistral': 3509, 'n_tokens_neox': 3364, 'n_words': 685}