Ich kann nicht scheinen, das innerhalb einer anderen Funktion zu verwenden. So habe ich eine Funktion namens user_authnet ($ user), wo ich ein Array von meinem DB das Benutzerobjekt übergeben. In diesem Objekt habe ich die authorize.net-Kundenprofil-ID gespeichert. Also versuche ich Auth.net API aufzurufen, um die Zahlungsmethoden und Abonnements zu erhalten.AuthnetJson-Namespace John Conde
Wenn ich
namespace JohnConde\Authnet;
an der Spitze von meinem Skript enthalten, dann bekomme ich
function 'user_authnet' not found or invalid function name
als Fehler. Ich schätze, weil es nicht zu einem deiner Klassen gehört.
Wenn ich nicht die Namespace-Deklaration setzen, bekomme ich
Class 'AuthnetApiFactory' not found
obwohl die autoload.php läuft.
Ich versuche, ein Plugin für Wordpress zu machen. Hier ist meine vollständige Code:
namespace JohnConde\Authnet;
include get_template_directory() . '/assets/vendor/authnetjson/config.inc.php';
include get_template_directory() . '/assets/vendor/authnetjson/src/autoload.php';
$request = AuthnetApiFactory::getJsonApiHandler(AUTHNET_LOGIN, AUTHNET_TRANSKEY, AuthnetApiFactory::USE_DEVELOPMENT_SERVER);
add_action('show_user_profile', 'user_authnet');
add_action('edit_user_profile', 'user_authnet');
function user_authnet($user)
{
global $request;
?>
<h3>Stored Payment Methods</h3>
<input type="text" name="authnet_customerProfileId" value="<?php echo esc_attr(get_the_author_meta('authnet_customerProfileId', $user->ID)); ?>">
<?php
if(get_the_author_meta('authnet_customerProfileId', $user->ID)) {
$response = $request->getCustomerProfileRequest(array(
"customerProfileId" => get_the_author_meta('authnet_customerProfileId', $user->ID)
));
print_r($response);
}
}
add_action('personal_options_update', 'save_authnet');
add_action('edit_user_profile_update', 'save_authnet');
function save_authnet($user_id)
{
update_user_meta($user_id, 'authnet_customerProfileId', $_POST['authnet_customerProfileId']);
}