diff --git a/htdocs/societe/paymentmodes.php b/htdocs/societe/paymentmodes.php
index 62013f1956d..8e1ad71f5b0 100644
--- a/htdocs/societe/paymentmodes.php
+++ b/htdocs/societe/paymentmodes.php
@@ -788,10 +788,8 @@ if ($socid && $action != 'edit' && $action != 'create' && $action != 'editcard'
$permissiontowrite = $user->rights->societe->creer;
// Stripe customer key 'cu_....' stored into llx_societe_account
print '
| ';
- //print $langs->trans('StripeCustomerId');
print $form->editfieldkey("StripeCustomerId", 'key_account', $stripecu, $object, $permissiontowrite, 'string', '', 0, 2, 'socid');
print ' | ';
- //print $stripecu;
print $form->editfieldval("StripeCustomerId", 'key_account', $stripecu, $object, $permissiontowrite, 'string', '', null, null, '', 2, '', 'socid');
if (! empty($conf->stripe->enabled) && $stripecu && $action != 'editkey_account')
{
@@ -817,6 +815,60 @@ if ($socid && $action != 'edit' && $action != 'create' && $action != 'editcard'
print ' |
';
}
}
+
+ if ($object->fournisseur)
+ {
+ print '| ';
+ print $langs->trans('SupplierCode').' | ';
+ print $object->code_fournisseur;
+ if ($object->check_codefournisseur() <> 0) print ' ('.$langs->trans("WrongSupplierCode").')';
+ print ' |
';
+ $sql = "SELECT count(*) as nb from ".MAIN_DB_PREFIX."facture where fk_soc = ".$socid;
+ $resql=$db->query($sql);
+ if (!$resql) dol_print_error($db);
+ $obj = $db->fetch_object($resql);
+ $nbFactsClient = $obj->nb;
+ $thirdTypeArray['customer']=$langs->trans("customer");
+ if ($conf->propal->enabled && $user->rights->propal->lire) $elementTypeArray['propal']=$langs->transnoentitiesnoconv('Proposals');
+ if ($conf->commande->enabled && $user->rights->commande->lire) $elementTypeArray['order']=$langs->transnoentitiesnoconv('Orders');
+ if ($conf->facture->enabled && $user->rights->facture->lire) $elementTypeArray['invoice']=$langs->transnoentitiesnoconv('Invoices');
+ if ($conf->contrat->enabled && $user->rights->contrat->lire) $elementTypeArray['contract']=$langs->transnoentitiesnoconv('Contracts');
+ }
+
+ if (! empty($conf->stripe->enabled) && ! empty($conf->stripeconnect->enabled) && $conf->global->MAIN_FEATURES_LEVEL >= 2)
+ {
+ $permissiontowrite = $user->rights->societe->creer;
+ $stripesupplieracc = $stripe->getStripeAccount($service, $object->id); // Get Stripe OAuth connect account (no network access here)
+
+ // Stripe customer key 'cu_....' stored into llx_societe_account
+ print '| ';
+ print $form->editfieldkey("StripeConnectAccount", 'key_account_supplier', $stripesupplieracc, $object, $permissiontowrite, 'string', '', 0, 2, 'socid');
+ print ' | ';
+ print $form->editfieldval("StripeConnectAccount", 'key_account_supplier', $stripesupplieracc, $object, $permissiontowrite, 'string', '', null, null, '', 2, '', 'socid');
+ if (! empty($conf->stripe->enabled) && $stripesupplieracc && $action != 'editkey_account')
+ {
+ $connect='';
+
+ $url='https://dashboard.stripe.com/test/connect/accounts/'.$stripesupplieracc;
+ if ($servicestatus)
+ {
+ $url='https://dashboard.stripe.com/connect/accounts/'.$stripesupplieracc;
+ }
+ print ' '.img_picto($langs->trans('ShowInStripe'), 'object_globe').'';
+ }
+ print ' | ';
+ if (empty($stripesupplieracc))
+ {
+ print '';
+ }
+ print ' |
';
+ }
print '';
print '';
@@ -1188,7 +1240,38 @@ if ($socid && $action != 'edit' && $action != 'create' && $action != 'editcard'
}
print "";
print "";
- print '
';
+ print '
';
+ }
+
+ // List of Stripe payment modes
+ if (! empty($conf->stripe->enabled) && ! empty($conf->stripeconnect->enabled) && $object->fournisseur && ! empty($stripesupplieracc))
+ {
+ print load_fiche_titre($langs->trans('StripeBalance').($stripesupplieracc?' (Stripe connection with StripeConnect account '.$stripesupplieracc.')':' (Stripe connection with keys from Stripe module setup)'), $morehtmlright, '');
+ $balance = \Stripe\Balance::retrieve(array("stripe_account" => $stripesupplieracc));
+ print ''."\n";
+ print '';
+ print '| '.$langs->trans('Status').' | ';
+ print ''.$langs->trans('Amount').' | ';
+ print ''.$langs->trans('Currency').' | ';
+ print '
';
+
+ if (is_array($balance->available) && count($balance->available))
+ {
+ foreach ($balance->available as $cpt)
+ {
+ print '| '.$langs->trans("Available").' | '.price($cpt->amount, 0, '', 1, - 1, - 1, strtoupper($cpt->currency)).' | '.$langs->trans("Currency".strtoupper($cpt->currency)).' |
';
+ }
+ }
+
+ if (is_array($balance->pending) && count($balance->pending))
+ {
+ foreach ($balance->pending as $cpt)
+ {
+ print '| '.$langs->trans("Pending").' | '.price($cpt->amount, 0, '', 1, - 1, - 1, strtoupper($cpt->currency)).' | '.$langs->trans("Currency".strtoupper($cpt->currency)).' |
';
+ }
+ }
+ print '
';
+ print '
';
}
// List of bank accounts