micropayment Service Client

Beschreibung

Diese Client-Bibliothek bietet bequemen Zugriff, auf die von micropayment zur Verfügung gestellten (kompatiblen) Services.
Dabei können Sie sich voll und ganz auf Verwendung des Service konzentrieren!
Mit dieser Bibliothek können Sie die Services wie eine ganz normale Klasse verwenden.
Um technischen Details wie korrekte Kodierung, Aufruf des Services und Auswertung der Rückgabe müssen Sie sich nicht kümmern.

Hinweis: Die Fehlercodes/-meldungen die der jeweilige Webservice zurückliefert werden durch den ServiceClient automatisch in eine PHP-Exception umgewandelt.

Inhalt der Bibliothek

Downloads

ChangeLog

  • v1.26 2022-11-30
      • CreditcardService v1.5 entfernt
      • CreditcardService v1.6 entfernt
      • CreditcardService v1.6.1 entfernt
  • v1.25 2021-03-22
    • CHG: Anpassungen für PHP Kompatibilität: PHP 7.4, PHP 8.0
  • v1.24 2020-01-22
    • CreditcardService v2.3 hinzugefügt
  • v1.23 2017-11-29
    • CHG: Explicit setting stream context SSL option crypto_method to "STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT" for TLS and "STREAM_CRYPTO_METHOD_ANY_CLIENT" as fallback
  • v1.22 2017-06-12
    • DebitService v2.3 hinzugefügt
  • v1.21 2017-01-18
    • FIX: Line-Break-Style in building HTTP-Request
    • FIX: Remove extra Line-Break after HTTP-Message-Body on POST (RFC7230/RFC 2616)
    • CHG: use stream_socket_client instead of fsockopen in HTTP-Client (Control of SSL options)
  • v1.20 2016-12-07
    • CreditcardService v2.0 hinzugefügt
    • CreditcardService v1.6.1 hinzugefügt
    • CreditcardService v1.6 hinzugefügt
  • v1.19 2016-04-18
    • FIX: Fatal error: Switch statements may only contain one default clause in TDispatchRequestAdapter.php
  • v1.18 2016-02-12
    • DebitService v2.1 hinzugefügt
    • PrepayService v1.1 hinzugefügt
    • CreditcardService < v1.5 entfernt
    • DebitService < v2.1 entfernt
    • PrepayService < v1.1 entfernt
  • v1.17 2014-06-25
    • FIX: TSimpleHttpBase::isHeader() Fehlendes return eingefügt
  • v1.16 2012-09-06
    • QUICKFIX: für Fehler#62715 in PHP 5.3.16 der folgende Meldung verursacht
      Fatal error: Uncaught exception 'ReflectionException' with message 'Parameter is not optional'
  • v1.15 2012-05-08
    • Change: TSimpleHttpClient::request() Forcierung von HTTP/1.0 (Problem mit Chuncked-Encoding)
  • v1.14 2011-12-30
    • PrepayService v1.0 Bugfix: ServiceInterface `transactionGet`
  • v1.13 2011-10-12
    • CreditcardService v1.5 hinzugefügt
    • CreditcardService alle Versionen aktualisiert (DocComments)
  • v1.12 2011-06-29
    • PrepayService v1.0 hinzugefügt
  • v1.11 2011-05-17
    • CreditcardService v1.4.2 hinzugefügt
  • v1.10 2011-05-06
    • CreditcardService v1.4.1 hinzugefügt
  • v1.9 2011-04-0
    • CreditcardService v1.4 hinzugefügt
  • v1.8 2011-02-22
    • DebitService v1.4 hinzugefügt
    • DebitService v1.3 hinzugefügt
    • DebitService v1.2 hinzugefügt
    • DebitService v1.1 hinzugefügt
    • DebitService v1.0 hinzugefügt
  • v1.7 2011-01-18
    • CreditcardService v1.3 hinzugefügt
  • v1.6 2010-12-10
    • CreditcardService v1.2.1 hinzugefügt
  • v1.5 2010-09-09
    • CreditcardService v1.2 hinzugefügt
  • v1.4 2009-08-11
    • Bugfix: in THttpParamsDispatchRequestAdapter für den Fall das in der "php.ini" fü "arg_separator.output" einen anderen Wert als "&" konfiguriert ist
  • v1.3 2009-07-16
    • Bugfix: CreditcardService::customerGet (v1.0, v1.1) Rückgabewerte waren als Pflichtfelder definiert, obwohl Diese bei customerCreate z.T. optional sind
  • v1.2 2009-04-28
    • CreditcardService v1.1 hinzugefügt
  • v1.1 2008-09-08
    • CreditCardService::sessionList gibt keine Ergebnisliste zurück – [HotFix] TDispatchResponseAdapter::formatDataWithReflection())

Allgemeines Beispiel zur Verwendung anhand von CreditcardService v2.3 (NVP)

<?php
if (!defined('MCP__ACCESSKEY')) {
    
define('MCP__ACCESSKEY''ENTER YOUR ACCESSKEY HERE');
}

if (!
defined('MCP__TESTMODE')) {
    
define('MCP__TESTMODE'1);
}

if (!
defined('MCP__CREDITCARDSERVICE_NVP_URL')) {
    
define('MCP__CREDITCARDSERVICE_NVP_URL''https://sipg.micropayment.de/public/creditcard/v2.3/nvp/');
}

if (!
defined('MCP__CREDITCARDSERVICE_INTERFACE')) {
    
define('MCP__CREDITCARDSERVICE_INTERFACE''IMcpCreditcardService_v2_3');
}


require_once(
'path/to/micropayment/lib/init.php');
require_once(
'path/to/micropayment/services/' MCP__CREDITCARDSERVICE_INTERFACE '.php');
require_once(
MCP__SERVICELIB_DISPATCHER 'TNvpServiceDispatcher.php');

try {
    
$dispatcher = new TNvpServiceDispatcher(MCP__CREDITCARDSERVICE_INTERFACEMCP__CREDITCARDSERVICE_NVP_URL);

    
$customerId null// Optional
    
$customerId '5f48390a62c6af665a6e3b9cd04ce5dc'// this is just an example value

    // Possibility 1
    // all parameters must be passed in the order described in the interface, including those that have default values
    
$result $dispatcher->sessionList(MCP__ACCESSKEYMCP__TESTMODE$customerId);

    
// Possibility 2
    
$aParams = [];
    
$aParams['accessKey'] = MCP__ACCESSKEY;
    
//  $aParams['testMode']    = MCP__TESTMODE; // can be omitted
    
$aParams['customerId'] = $customerId;
    
$result $dispatcher->send('sessionList'$aParams);

    
print_r($result);

}
catch (
Throwable $e) {
    echo 
'Exception[' $e->getCode() . '] ' $e->getMessage();
}