Mein Problem ist, dass ich kein Plugin finde, mit dem ich die Zahlung an Freunde realisieren kann. Auch funktioniert mein selbst zusammengebasteltes Plugin nicht. Wer hat eine Idee?
[PLAIN]
<?php
defined( 'ABSPATH' );
[/PLAIN]
Dies gibt einen booleschen Wert zurück, der angibt, ob die Konstante `ABSPATH` definiert ist oder nicht.
verwende- schon aus Sicherheitsgründen besser
if (!defined('ABSPATH')) die('No direct access allowed');
// Add the settings page.
add_action( 'admin_menu', function() {
add_submenu_page(
'woocommerce',
'PayPal Send to Friend',
'PayPal Send to Friend',
'manage_options',
'wc-settings-paypal-send-to-friend',
function() {
include 'views/settings-page.php';
}
);
Alles anzeigen
Dieser Code fügt eine Einstellungsseite für das Plugin "PayPal Send to Friend" hinzu, das es ermöglicht, Zahlungen an Freunde über PayPal zu senden. Der Code verwendet die Funktion `add_action` mit dem Hook `admin_menu`, um die Funktion zu registrieren, die die Einstellungsseite erstellt.
Die Funktion `add_submenu_page` fügt dann einen Untermenüpunkt unter dem WooCommerce-Menü hinzu, der den Titel, den Menütitel, die Berechtigung und den Slug der Einstellungsseite angibt. Die letzte Parameter der Funktion `add_submenu_page` ist eine anonyme Funktion, die die Datei `views/settings-page.php` einbindet, die den Inhalt der Einstellungsseite enthält.
In der Regel muss man weitere Schlüssel für die Nutzung von PayPal verwenden. Die Erfassung fehlt hier.
hier ein Beispiel wie ich dies früher gemacht habe.
<?php
// Laden Sie die PayPal-API
require 'vendor/autoload.php';
// Erstellen Sie einen API-Kontext mit Ihren Zugangsdaten und Einstellungen
$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
'YOUR_CLIENT_ID', // ClientID
'YOUR_CLIENT_SECRET' // ClientSecret
)
);
// Erstellen Sie eine Zahlung an Freunde mit der Klasse Payout
$payouts = new \PayPal\Api\Payout();
// Erstellen Sie einen Absenderbatch-Header mit einer eindeutigen Batch-ID
$senderBatchHeader = new \PayPal\Api\PayoutSenderBatchHeader();
$senderBatchHeader->setSenderBatchId(uniqid())
->setEmailSubject("Sie haben eine Zahlung erhalten");
// Erstellen Sie einen PayoutItem für jeden Empfänger
$payoutItem = new \PayPal\Api\PayoutItem();
$payoutItem->setRecipientType('Email')
->setReceiver('freund@example.com') // E-Mail-Adresse des Empfängers
->setAmount(new \PayPal\Api\Currency('{
"value":"10.00",
"currency":"EUR"
}')) // Betrag und Währung der Zahlung
->setNote('Danke für deine Hilfe') // Optionale Nachricht an den Empfänger
->setSenderItemId("item-1-" . uniqid()); // Eindeutige ID für den PayoutItem
// Fügen Sie den PayoutItem zum Payout hinzu
$payouts->setSenderBatchHeader($senderBatchHeader)
->addItem($payoutItem);
// Führen Sie die Zahlung aus, indem Sie die create-Methode aufrufen und den API-Kontext übergeben
try {
$output = $payouts->create(null, $apiContext);
echo "Zahlung erfolgreich erstellt\n";
} catch (Exception $ex) {
echo "Zahlung fehlgeschlagen\n";
echo "Fehler: " . $ex->getMessage() . "\n";
}
Alles anzeigen
heute verwendet man von Paypal eine rest api oder Javascript SDK... aber vom Prinzip noch geleich... ohne 'YOUR_CLIENT_ID', // ClientID
und 'YOUR_CLIENT_SECRET' // ClientSecret läuft nichts. bei PayPla gibt es für Entwickler einen Sandkasten (nennen die halt so) Get Started (paypal.com)