Files
WP-Multi-Formular/integrations/services/stripe/class-service-stripe.php
2026-04-13 18:52:48 +02:00

38 lines
3.1 KiB
PHP

<?php
if(!defined('ABSPATH')) exit;
class WMF_Service_Stripe extends WMF_Service {
public $id='stripe'; public $label='Stripe'; public $group='payments';
protected $credentials=array('mode'=>'test','live_public'=>'','live_secret'=>'','test_public'=>'','test_secret'=>'');
public function is_connected(){$m=$this->credentials['mode']??'test';return($m==='live')?!empty($this->credentials['live_secret']):!empty($this->credentials['test_secret']);}
public function admin_widget($prev=array()){
$c=$this->get_credentials();
$int=wmf_get_integrations();
$act=$int->action_update;
$nonce=wp_create_nonce($act);
$m=$c['mode']??'test';
$conn=$this->is_connected();
echo '<div class="wmf-widget-body">';
if($conn) echo '<div class="wmf-connected-badge">&#10003; Verbunden ('.($m==='live'?'Live':'Test').')</div>';
echo '<form class="wmf-int-form">';
echo '<input type="hidden" name="_wpnonce" value="'.esc_attr($nonce).'">';
echo '<input type="hidden" name="action" value="'.esc_attr($act).'">';
echo '<input type="hidden" name="services[]" value="stripe">';
echo '<div class="wmf-mode-switch">';
echo '<label class="wmf-mode-btn '.($m==='test'?'active':'').'"><input type="radio" name="credentials[stripe][mode]" value="test" '.checked($m,'test',false).' onchange="wmfStripeMode(this)"> Test</label>';
echo '<label class="wmf-mode-btn '.($m==='live'?'active':'').'"><input type="radio" name="credentials[stripe][mode]" value="live" '.checked($m,'live',false).' onchange="wmfStripeMode(this)"> Live</label>';
echo '</div>';
echo '<div id="wmf-stripe-test" '.($m==='live'?'style="display:none"':'').'>';
echo '<p><label>Test Publishable Key</label><input type="text" name="credentials[stripe][test_public]" value="'.esc_attr($c['test_public']??'').'" class="widefat" placeholder="pk_test_..."></p>';
echo '<p><label>Test Secret Key</label><input type="password" name="credentials[stripe][test_secret]" value="'.esc_attr($c['test_secret']??'').'" class="widefat" placeholder="sk_test_..."></p>';
echo '</div>';
echo '<div id="wmf-stripe-live" '.($m==='test'?'style="display:none"':'').'>';
echo '<p><label>Live Publishable Key</label><input type="text" name="credentials[stripe][live_public]" value="'.esc_attr($c['live_public']??'').'" class="widefat" placeholder="pk_live_..."></p>';
echo '<p><label>Live Secret Key</label><input type="password" name="credentials[stripe][live_secret]" value="'.esc_attr($c['live_secret']??'').'" class="widefat" placeholder="sk_live_..."></p>';
echo '</div>';
echo '<p class="description"><a href="https://dashboard.stripe.com/apikeys" target="_blank">Stripe Dashboard &rarr; API-Schluessel</a></p>';
echo '<p><button type="submit" class="button button-primary">Speichern</button></p>';
echo '</form>';
echo '<script>function wmfStripeMode(el){document.getElementById("wmf-stripe-test").style.display=el.value==="test"?"":"none";document.getElementById("wmf-stripe-live").style.display=el.value==="live"?"":"none";}</script>';
echo '</div>';
}
}