more FIX for unified stripe's payment class

This commit is contained in:
ptibogxiv 2018-03-13 12:07:53 +01:00 committed by GitHub
parent eabc5c0812
commit 7feaeb1b89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -123,8 +123,8 @@ class Stripe extends CommonObject
}
/**
* customerStripe Call customer in stripe && create/update and save it on dolibarr
/**
* customerStripe
*
* @param int $id Id of third party
* @return string Stripe account ref 'acc_xxxxxxxxxxxxx'
@ -146,7 +146,7 @@ class Stripe extends CommonObject
$sql.= " FROM " . MAIN_DB_PREFIX . "societe_account as sa";
$sql.= " WHERE sa.fk_soc = " . $id;
$sql.= " AND sa.entity IN (".getEntity('societe').")";
$sql.= " AND sa.site = 'stripe' AND sa.status = 0".((int) $status);
$sql.= " AND sa.site = 'stripe' AND sa.status = ".((int) $status);
dol_syslog(get_class($this) . "::fetch", LOG_DEBUG);
$resql = $this->db->query($sql);
@ -189,44 +189,41 @@ class Stripe extends CommonObject
}
/**
* createPaymentStripe
* createPaymentStripe Create charge with public/payment/newpayment.php, stripe/card.php, cronjobs or REST API
*
* @param unknown $amount ???
* @param unknown $currency ???
* @param unknown $origin ???
* @param unknown $item ???
* @param unknown $source ???
* @param unknown $customer ???
* @param unknown $account ???
* @param int $amount amount to pay
* @param string $currency EUR, GPB...
* @param string $origin order, invoice, contract...
* @param int $item if of element to pay
* @param string $source src_xxxxx or card_xxxxx or ac_xxxxx
* @param string $customer Stripe account ref 'cu_xxxxxxxxxxxxx' via customerStripe()
* @param string $account Stripe account ref 'acc_xxxxxxxxxxxxx' via getStripeAccount()
* @param int $status Status
* @return Stripe
*/
public function createPaymentStripe($amount, $currency, $origin, $item, $source, $customer, $account)
public function createPaymentStripe($amount, $currency, $origin, $item, $source, $customer, $account, $status=0)
{
global $conf;
if (empty($conf->global->STRIPECONNECT_LIVE)) {
$mode = 0;
} else {
if (empty($conf->global->STRIPE_LIVE)) {
$mode = 0;
} else {
$mode = $conf->global->STRIPE_LIVE;
}
}
$sql = "SELECT fk_soc,fk_key,mode,entity";
$sql .= " FROM " . MAIN_DB_PREFIX . "societe_stripe";
$sql .= " WHERE fk_key = '$customer' ";
$sql .= " AND mode=" . $mode . " ";
$sql = "SELECT sa.key_account as key_account, sa.entity";
$sql.= " FROM " . MAIN_DB_PREFIX . "societe_account as sa";
$sql.= " WHERE sa.key_account = " . $customer;
//$sql.= " AND sa.entity IN (".getEntity('societe').")";
$sql.= " AND sa.site = 'stripe' AND sa.status = ".((int) $status);
dol_syslog(get_class($this) . "::fetch", LOG_DEBUG);
$result = $this->db->query($sql);
if ($result) {
if ($this->db->num_rows($result)) {
$obj = $this->db->fetch_object($result);
$entite = $obj->entity;
$fksoc = $obj->fk_soc;
$key = $obj->fk_soc;
} else {
$key = NULL;
}
} else {
$key = NULL;
}
$stripeamount = round($amount * 100);
$societe = new Societe($this->db);
$societe->fetch($fksoc);