本文整理汇总了PHP中Purchase::setTXID方法的典型用法代码示例。如果您正苦于以下问题:PHP Purchase::setTXID方法的具体用法?PHP Purchase::setTXID怎么用?PHP Purchase::setTXID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Purchase
的用法示例。
在下文中一共展示了Purchase::setTXID方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: completeTransaction
public static function completeTransaction(Config $cfg, DB $db, Purchase $p)
{
$w = $cfg->getWalletProvider();
if ($p->isCompleted()) {
throw new Exception("completeTransaction() was attempted twice on purchase ticket: " . $p->getId());
}
try {
$db->beginTransaction();
$tx = $w->sendTransaction($p->getCustomerAddress(), $p->recalculateBitcoinAmount());
$p->setTXID($tx->getId())->setNTXID(self::normalizeTXID($tx->getId()))->setStatus(self::COMPLETE)->setMessage($tx->getMessage())->setNotice($tx->getNotice());
self::finalize($db, $p);
self::save($db, $p);
$db->commit();
} catch (Exception $e) {
$db->rollback();
$erroredOut = self::load($cfg, $db, $p->getId());
$erroredOut->setStatus(self::ERROR);
self::save($db, $erroredOut);
throw $e;
}
}