/** * 2016-03-26 * Ситуация, когда платёж не найден, является нормальной, * потому что к одной учётной записи Stripe может быть привязано несколько магазинов, * и Stripe будет оповещать сразу все магазины о событиях одного из них. * Магазину надо уметь различать свои события и чужие, * и мы делаем это именно по идентификатору транзакции. * @return Payment|DfPayment|null */ public function payment() { return dfc($this, function () { /** @var int|null $id */ $id = df_fetch_one('sales_payment_transaction', 'payment_id', ['txn_id' => $this->id()]); return !$id ? null : df_load(Payment::class, $id); }); }
/** * 2015-11-03 * @param $table * @param string $cSelect * @param array(string => string) $cCompare * @return int */ function df_fetch_one_int($table, $cSelect, $cCompare) { return df_int(df_fetch_one($table, $cSelect, $cCompare)); }