Der folgende Inhalt setzt voraus, dass Sie die erforderliche PCI-Zertifizierung erhalten haben, um sensible Karteninhaberdaten in der Anfrage an unsere Webservices API zu verarbeiten und zu übermitteln.
Lesen Sie diesen Artikel, um mehr zu erfahren.
Um ein Abonnement zu aktualisieren oder zu kündigen, können Sie eine Anfrage an TRANSACTIONUPDATE senden, die über die transactionreference der SUBSCRIPTION.
Die subscriptionbegindate und subscriptionnumber Felder können niemals aktualisiert werden.
Beispiele anfordern
Die Struktur der Anfrage, die bei der Aktualisierung von Abonnements verwendet wird, ist die gleiche wie bei einer Standardanfrage TRANSACTIONUPDATE , mit dem Zusatz von abonnementspezifischen Feldern. Weitere Informationen finden Sie in den nachstehenden Beispielen.
Abonnement aktualisieren
Die folgende Beispielanfrage würde die baseamount des Abonnements auf 100 (£1,00), die Häufigkeit der Zahlungen auf einmal alle 7 Tage und die subscriptionfinalnumber 24 sein (was die Gesamtzahl der verarbeiteten Abonnements ändert).
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
update = {
"requesttypedescriptions": ["TRANSACTIONUPDATE"],
"filter":{
"sitereference": [{"value":"test_site12345"}],
"transactionreference": [{"value":"1-2-345679"}]
},
"updates":{
"baseamount":"100",
"subscriptionfrequency":"7",
"subscriptionunit":"DAY",
"subscriptionfinalnumber":"24"
}
}
strequest = securetrading.Request()
strequest.update(update)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php
if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);
$configData = array(
'username' => 'webservices@example.com',
'password' => 'Password1^',
);
$requestData = array(
'requesttypedescriptions' => array('TRANSACTIONUPDATE'),
'filter' => array(
'sitereference' => array(array('value' => 'test_site12345')),
'transactionreference' => array(array('value' => '1-2-345679'))
),
'updates' => array(
'baseamount' => '100',
'subscriptionfrequency' => '7',
'subscriptionunit' => 'DAY',
'subscriptionfinalnumber' => '24'
)
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias": "webservices@example.com",
"version": "1.00",
"request": [{
"requesttypedescriptions": ["TRANSACTIONUPDATE"],
"filter":{
"sitereference": [{"value":"test_site12345"}],
"transactionreference": [{"value":"1-2-345679"}]
},
"updates":{
"baseamount":"100",
"subscriptionfrequency":"7",
"subscriptionunit":"DAY",
"subscriptionfinalnumber":"24"
}
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"requesttypedescriptions":["TRANSACTIONUPDATE"],
"filter":{
"sitereference":[{"value":"test_site12345"}],
"transactionreference":[{"value":"1-2-345679"}]
},
"updates":{
"baseamount":"100",
"subscriptionfrequency":"7",
"subscriptionunit":"DAY",
"subscriptionfinalnumber":"24"
}
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="TRANSACTIONUPDATE">
<filter>
<sitereference>test_site12345</sitereference>
<transactionreference>17-9-2</transactionreference>
</filter>
<updates>
<billing>
<amount>2000</amount>
<subscription>
<finalnumber>12</finalnumber>
<frequency>1</frequency>
<unit>MONTH</unit>
</subscription>
</billing>
</updates>
</request>
</requestblock>
Ersetzen Sie <DOMAIN>
mit einer unterstützten Domäne. Klicken Sie hier für eine vollständige Liste.
Vorsicht: Es ist möglich, die subscriptionfinalnumber Feld, um ein Abonnement zu verlängern. Wenn dies jedoch nach Abschluss eines Abonnements geschieht, werden alle Zahlungen, die bei einer Fortsetzung des Abonnements erfolgt wären, sofort verarbeitet.
Wenn z. B. ein Abonnement über 10 £/Monat abgeschlossen wurde und fünf Monate nach Abschluss der subscriptionfinalnumber um fünf erhöht wird, werden im nächsten Lauf von Abrechnung (normalerweise innerhalb der nächsten 24 Stunden) fünf £10-Zahlungen verarbeitet.
Um ein Abonnement mit denselben Rechnungsdaten zu verlängern, ohne die Zahlungen "nachzuholen", müssen Sie das bestehende Abonnement beenden und einen neuen Antrag stellen, der die folgenden Angaben enthält transactionreference des übergeordneten Antrag (um die gleichen Rechnungsdaten zu verwenden). Reichen Sie den folgenden Antrag ein:
Einreichen einer neuen AUTH SUBSCRIPTION den Tag des Monats an, an dem Sie möchten, dass die automatischen Zahlungen in Zukunft ausgeführt werden.
Vorübergehende Deaktivierung des Abonnements
Um ein aktives Abonnement vorübergehend zu deaktivieren, muss die transactionactive Feld in der TRANSACTIONUPDATE Anfrage muss auf "0", wie im folgenden Beispiel gezeigt:
Inaktive Abonnements können zu einem späteren Zeitpunkt wieder aktiviert werden.
Ein Beispiel finden Sie im Abschnitt Abonnement aktivieren weiter unten.
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
update = {
"requesttypedescriptions": ["TRANSACTIONUPDATE"],
"filter":{
"sitereference": [{"value":"test_site12345"}],
"transactionreference": [{"value":"1-2-345679"}]
},
"updates":{"transactionactive":"0"}
}
strequest = securetrading.Request()
strequest.update(update)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php
if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);
$configData = array(
'username' => 'webservices@example.com',
'password' => 'Password1^',
);
$requestData = array(
'requesttypedescriptions' => array('TRANSACTIONUPDATE'),
'filter' => array(
'sitereference' => array(array('value' => 'test_site12345')),
'transactionreference' => array(array('value' => '1-2-345679'))
),
'updates' => array('transactionactive' => '0')
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias": "webservices@example.com",
"version": "1.00",
"request": [{
"requesttypedescriptions": ["TRANSACTIONUPDATE"],
"filter":{
"sitereference": [{"value":"test_site12345"}],
"transactionreference": [{"value":"1-2-345679"}]
},
"updates":{"transactionactive":"0"}
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"requesttypedescriptions":["TRANSACTIONUPDATE"],
"filter":{
"sitereference":[{"value":"test_site12345"}],
"transactionreference":[{"value":"1-2-345679"}]
},
"updates":{"transactionactive":"0"}
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="TRANSACTIONUPDATE">
<filter>
<sitereference>test_site12345</sitereference>
<transactionreference>12-64-1</transactionreference>
</filter>
<updates>
<billing>
<payment>
<active>0</active>
</payment>
</billing>
</updates>
</request>
</requestblock>
Ersetzen Sie <DOMAIN>
mit einer unterstützten Domäne. Klicken Sie hier für eine vollständige Liste.
Abonnement aktivieren
Um ein ausstehendes oder inaktives Abonnement zu aktivieren, muss der transactionactive Feld in der TRANSACTIONUPDATE Anfrage muss auf "1".
Aktualisieren eines ausstehenden Abonnements (transactionactive von "2") aktiv sein soll, werden die Ergebnisse aller Betrug oder Duplikat Prüfungen bei der ersten Anfrage AUTH .
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
update = {
"requesttypedescriptions": ["TRANSACTIONUPDATE"],
"filter":{
"sitereference": [{"value":"test_site12345"}],
"transactionreference": [{"value":"1-2-345679"}]
},
"updates":{"transactionactive":"1"}
}
strequest = securetrading.Request()
strequest.update(update)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php
if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);
$configData = array(
'username' => 'webservices@example.com',
'password' => 'Password1^',
);
$requestData = array(
'requesttypedescriptions' => array('TRANSACTIONUPDATE'),
'filter' => array(
'sitereference' => array(array('value' => 'test_site12345')),
'transactionreference' => array(array('value' => '1-2-345679'))
),
'updates' => array('transactionactive' => '1')
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias": "webservices@example.com",
"version": "1.00",
"request": [{
"requesttypedescriptions": ["TRANSACTIONUPDATE"],
"filter":{
"sitereference": [{"value":"test_site12345"}],
"transactionreference": [{"value":"1-2-345679"}]
},
"updates":{"transactionactive":"1"}
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"requesttypedescriptions":["TRANSACTIONUPDATE"],
"filter":{
"sitereference":[{"value":"test_site12345"}],
"transactionreference":[{"value":"1-2-345679"}]
},
"updates":{"transactionactive":"1"}
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="TRANSACTIONUPDATE">
<filter>
<sitereference>test_site12345</sitereference>
<transactionreference>12-64-1</transactionreference>
</filter>
<updates>
<billing>
<payment>
<active>1</active>
</payment>
</billing>
</updates>
</request>
</requestblock>
Ersetzen Sie <DOMAIN>
mit einer unterstützten Domäne. Klicken Sie hier für eine vollständige Liste.
Achtung! Bei der Aktivierung eines bereits bestehenden Abonnements werden alle Zahlungen, die während des Zeitraums, in dem das Abonnement ausstehend oder inaktiv war, getätigt worden wären, sofort verarbeitet.
Wenn z. B. ein Abonnement im Wert von €10/Monat vier Monate lang aussteht oder inaktiv ist und dann aktiviert wird, werden beim nächsten Abrechnungslauf (normalerweise innerhalb der nächsten 24 Stunden) vier €10-Zahlungen verarbeitet.
Um ein Abonnement mit denselben Rechnungsdaten fortzusetzen, ohne die Zahlungen "nachzuholen", müssen Sie das bestehende Abonnement beenden und einen neuen Antrag stellen, der die transactionreference des übergeordneten Antrag (um die gleichen Rechnungsdaten zu verwenden). Reichen Sie den folgenden Antrag ein:
Einreichen einer neuen AUTH SUBSCRIPTION den Tag des Monats an, an dem Sie möchten, dass die automatischen Zahlungen in Zukunft ausgeführt werden.
Ein Abonnement wird niemals Zahlungen verarbeiten, wenn die subscriptionnumber größer ist als die subscriptionfinalnumber. Um in einem solchen Fall ein Abonnement zu aktivieren, müssen Sie auch einen höheren subscriptionfinalnumber in der Anfrage TRANSACTIONUPDATE .
Dauerhaftes Beenden des Abonnements
Um ein Abonnement dauerhaft zu beenden, muss die transactionactive Feld in der TRANSACTIONUPDATE Anfrage muss auf "3", wie im folgenden Beispiel gezeigt:
Beendete Abonnements werden dauerhaft gekündigt und können nicht zu einem späteren Zeitpunkt wieder aktiviert werden.
Wenn Sie das Abonnement fortsetzen wollen, müssen Sie einen völlig neuen AUTH SUBSCRIPTION Anfrage stellen.
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
update = {
"requesttypedescriptions": ["TRANSACTIONUPDATE"],
"filter":{
"sitereference": [{"value":"test_site12345"}],
"transactionreference": [{"value":"1-2-345679"}]
},
"updates":{"transactionactive":"3"}
}
strequest = securetrading.Request()
strequest.update(update)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php
if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);
$configData = array(
'username' => 'webservices@example.com',
'password' => 'Password1^',
);
$requestData = array(
'requesttypedescriptions' => array('TRANSACTIONUPDATE'),
'filter' => array(
'sitereference' => array(array('value' => 'test_site12345')),
'transactionreference' => array(array('value' => '1-2-345679'))
),
'updates' => array('transactionactive' => '3')
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias": "webservices@example.com",
"version": "1.00",
"request": [{
"requesttypedescriptions": ["TRANSACTIONUPDATE"],
"filter":{
"sitereference": [{"value":"test_site12345"}],
"transactionreference": [{"value":"1-2-345679"}]
},
"updates":{"transactionactive":"3"}
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"requesttypedescriptions":["TRANSACTIONUPDATE"],
"filter":{
"sitereference":[{"value":"test_site12345"}],
"transactionreference":[{"value":"1-2-345679"}]
},
"updates":{"transactionactive":"3"}
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="TRANSACTIONUPDATE">
<filter>
<sitereference>test_site12345</sitereference>
<transactionreference>12-64-1</transactionreference>
</filter>
<updates>
<billing>
<payment>
<active>3</active>
</payment>
</billing>
</updates>
</request>
</requestblock>
Ersetzen Sie <DOMAIN>
mit einer unterstützten Domäne. Klicken Sie hier für eine vollständige Liste.
Verfallsdatum aktualisieren
Sie müssen sicherstellen, dass die Ablaufdaten auf Ihren aktiven Abonnements gültig und aktuell sind, da einige Kartenaussteller Karten mit veralteten Ablaufdaten ablehnen können. Sie können das Verfallsdatum auf der Karte eines Kunden für seine geplanten Abonnementzahlungen aktualisieren, indem Sie eine TRANSACTIONUPDATE Anfrage mit dem Feld expirydate, die den neuen Wert enthält.
#!/usr/bin/python
import securetrading
stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)
update = {
"requesttypedescriptions": ["TRANSACTIONUPDATE"],
"filter":{
"sitereference": [{"value":"test_site12345"}],
"transactionreference": [{"value":"1-2-345679"}]
},
"updates":{"expirydate":"05/2025"}
}
strequest = securetrading.Request()
strequest.update(update)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php
if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);
$configData = array(
'username' => 'webservices@example.com',
'password' => 'Password1^',
);
$requestData = array(
'requesttypedescriptions' => array('TRANSACTIONUPDATE'),
'filter' => array(
'sitereference' => array(array('value' => 'test_site12345')),
'transactionreference' => array(array('value' => '1-2-345679'))
),
'updates' => array('expirydate' => '05/2025')
);
$api = \Securetrading\api($configData);
$response = $api->process($requestData);
var_dump($response->toArray());
?>
curl --user webservices@example.com:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias": "webservices@example.com",
"version": "1.00",
"request": [{
"requesttypedescriptions": ["TRANSACTIONUPDATE"],
"filter":{
"sitereference": [{"value":"test_site12345"}],
"transactionreference": [{"value":"1-2-345679"}]
},
"updates":{"expirydate":"05/2025"}
}]
}'
{
"alias":"webservices@example.com",
"version":"1.00",
"request":[{
"requesttypedescriptions":["TRANSACTIONUPDATE"],
"filter":{
"sitereference":[{"value":"test_site12345"}],
"transactionreference":[{"value":"1-2-345679"}]
},
"updates":{"expirydate":"05/2025"}
}]
}
<requestblock version="3.67">
<alias>webservices@example.com</alias>
<request type="TRANSACTIONUPDATE">
<filter>
<sitereference>test_site12345</sitereference>
<transactionreference>12-64-1</transactionreference>
</filter>
<updates>
<billing>
<payment>
<expirydate>05/2025</expirydate>
</payment>
</billing>
</updates>
</request>
</requestblock>
Ersetzen Sie <DOMAIN>
mit einer unterstützten Domäne. Klicken Sie hier für eine vollständige Liste.
Feldspezifikation
Die folgenden Felder beziehen sich auf die Art des eingereichten Antrags:
Feld | Format | Beschreibung | |
requesttypedescriptions XPath: /@type |
Alpha (20) | Sie müssen "TRANSACTIONUPDATE" eingeben, wie im Beispiel des Antrags gezeigt. | |
sitereference XPath: /filter/sitereference |
Alphanumerisch & Unterstrich (50) |
Die Website-Referenz , über die das Abonnement abgewickelt wird. | |
expirydate XPath: /billing/payment/expirydate |
Datum MM/JJJJ | Einreichen einer neuen expirydate um den Wert zu aktualisieren, den wir bei der Verarbeitung künftiger planmäßiger Abonnementzahlungen verwenden werden. | |
subscriptionfinalnumber XPath: /updates/billing/subscription/finalnumber |
Numerisch (5) |
subscriptionfinalnumber steht für die Position der letzten Zahlung in einer Reihe von Abonnementzahlungen. Sobald diese Zahl erreicht ist, werden keine weiteren Zahlungen mehr verarbeitet. Durch die Aktualisierung dieses Feldes wird die Anzahl der insgesamt verarbeiteten Abonnementzahlungen geändert.
Beispiele für von uns unterstützte Aktualisierungen:
|
|
subscriptionfrequency XPath: /updates/billing/subscription/frequency |
Numerisch (11) |
subscriptionfrequency ist die Anzahl der Einheiten, die vergehen müssen, bevor die nächste Autorisierung verarbeitet wird. Sie wird in Verbindung mit der Option subscriptionunit um das Intervall zwischen den Zahlungen zu bestimmen.
z.B. Aktualisieren subscriptionfrequency von 2 bis 5, wenn subscriptionunit auf "DAY" gesetzt ist, werden die Abonnements nicht mehr alle 2 Tage, sondern alle 5 Tage bearbeitet. |
|
subscriptionunit XPath: /updates/billing/subscription/unit |
Alpha (5) |
subscriptionunit steht für die Zeiteinheit, in der die Zahlungen geplant werden ("DAY" oder "MONTH"). Sie wird in Verbindung mit dem subscriptionfrequency um das Intervall zwischen den Zahlungen zu bestimmen.
z.B. Aktualisieren subscriptionunit von "DAY" bis "MONTH", wenn subscriptionfrequency 2 ist, werden die Abonnements nicht mehr alle 2 Tage, sondern alle 2 Monate bearbeitet. |
|
transactionactive XPath: /updates/billing/payment/active |
Numerisch (1) |
Sie können den Abonnementstatus auf einen der beiden folgenden Werte aktualisieren:
"0" - Inaktiv: Setzt die geplanten Zahlungen aus, bis sie manuell wieder aktiviert werden. "1" - Aktiv: Ermöglicht die Fortsetzung der geplanten Zahlungen. "3" - Angehalten: Stellt geplante Zahlungen dauerhaft ein. |
|
transactionreference XPath: /filter/transactionreference |
Alphanumerisch einschließlich Bindestriche (25) |
Der Transaktionsnummer Wert, der mit der SUBSCRIPTION Anfrage verbunden ist. |
Beispiel für eine Antwort
Nachdem Sie eine TRANSACTIONUPDATE Anfrage erfolgreich abgeschickt haben, erhalten Sie eine Antwort zurück. Die Antwort hat eine ähnliche Struktur wie eine Standardantwort von TRANSACTIONUPDATE, enthält aber zusätzliche Abonnementfelder.
{
u 'requestreference': u 'A3jbd6w7a',
u 'version': u '1.00',
u 'response': [{
u 'errorcode': u '0',
u 'requesttypedescription': u 'TRANSACTIONUPDATE',
u 'transactionstartedtimestamp': u '2017-09-28 09:32:42',
u 'errormessage': u 'Ok'
}]
}
array(3) {
["requestreference"] => string(9) "A057aegmt"
["version"] => string(4) "1.00"
["response"] => array(1) {
[0] => array(4) {
["errorcode"] => string(1) "0"
["requesttypedescription"] => string(17) "TRANSACTIONUPDATE"
["transactionstartedtimestamp"] => string(19) "2017-09-28 09:32:42"
["errormessage"] => string(2) "Ok"
}
}
}
{
"requestreference":"W23-tkrxwkc6",
"version":"1.00",
"response":[{
"errorcode":"0",
"requesttypedescription":"TRANSACTIONUPDATE",
"transactionstartedtimestamp":"2017-09-28 09:32:42",
"errormessage":"Ok"
}],
"secrand":"SptlJutnBnQ"
}
<responseblock version="3.67">
<requestreference>X675136983</requestreference>
<response type="TRANSACTIONUPDATE">
<timestamp>2010-03-11 16:38:47</timestamp>
<error>
<message>Ok</message>
<code>0</code>
</error>
</response>
<secrand>9PyI</secrand>
</responseblock>
Feldspezifikation
Die folgenden Felder beziehen sich auf die Art des eingereichten Antrags:
Feld | Format | Beschreibung | |
errorcode XPath: /error/code |
Numerisch (1-5) |
Die Fehlercode sollte verwendet werden, um festzustellen, ob die Aktualisierung erfolgreich war oder nicht.
Klicken Sie hier für eine vollständige Liste der errorcode und Nachrichtenwerte. |
|
errormessage XPath: /error/message |
Alphanumerisch (255) |
Dies ist die entsprechende Meldung zum obigen Code. Klicken Sie hier für eine vollständige Liste der errorcode und Nachrichtenwerte. |
|
requesttypedescription XPath: /@type |
Alpha (20) | "TRANSACTIONUPDATE" wird in der Antwort zurückgegeben. | |
transactionstartedtimestamp XPath: /timestamp |
Datum Uhrzeit JJJJ-MM-TT hh:mm:ss | Der Zeitpunkt, zu dem die Anfrage bearbeitet wurde. |
Datum des monatlichen Abonnements aktualisieren
Um das Datum zu ändern, an dem ein Monatsabonnement Zahlungen verarbeitet (z. B. vom 1. eines jeden Monats auf den 15.), müssen Sie das bestehende Abonnement beenden und manuell einen neuen Antrag an AUTH stellen (unter Verwendung unserer Webservices API) an dem Tag des Monats, an dem Sie möchten, dass automatische Zahlungen in Zukunft verarbeitet werden. Sie müssen durch die transactionreference des übergeordneten Antrag, um die Rechnungsdaten zu erben.