TRANSACTIONUPDATE für Abonnements

  Zuletzt aktualisiert: 

 

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).

Python PHP cURL Rohes JSON Rohes XML
#!/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

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.

Python PHP cURL Rohes JSON Rohes XML
#!/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

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 .

Python PHP cURL Rohes JSON Rohes XML
#!/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

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.

Python PHP cURL Rohes JSON Rohes XML
#!/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

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.

Python PHP cURL Rohes JSON Rohes XML
#!/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

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
X1-EN.png requesttypedescriptions
XPath: /@type
Alpha (20) Sie müssen "TRANSACTIONUPDATE" eingeben, wie im Beispiel des Antrags gezeigt.
X1-EN.png sitereference
XPath: /filter/sitereference
Alphanumerisch
& Unterstrich (50)
Die Website-Referenz , über die das Abonnement abgewickelt wird.
X3-EN.png 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.
X3-EN.png 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:

  • Ändern Sie, wie viele Abonnementzahlungen verarbeitet werden sollen: Die Aktualisierung der subscriptionfinalnumber von 6 auf 10 erhöht, werden 4 zusätzliche Zahlungen eingeplant.
  • Ändern eines Abonnements, so dass es auf unbestimmte Zeit fortgesetzt wird: Die Aktualisierung der subscriptionfinalnumber von 6 auf 0 zu setzen, wird das Abonnement auf unbestimmte Zeit fortgesetzt, bis es manuell deaktiviert wird.
X3-EN.png 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.

X3-EN.png 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.

X3-EN.png 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.

X1-EN.png 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.

Python PHP Rohes JSON Rohes XML
{
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'
}]
}

 

Feldspezifikation

Die folgenden Felder beziehen sich auf die Art des eingereichten Antrags:

  Feld Format Beschreibung
X4-EN.png errorcode
XPath: /error/code
Numerisch (1-5) Die Fehlercode sollte verwendet werden, um festzustellen, ob die Aktualisierung erfolgreich war oder nicht.
  • Wenn die Fehlercode "0" ist, war die Aktualisierung erfolgreich.
  • Wenn die Fehlercode nicht "0" ist, war die Aktualisierung nicht erfolgreich.

Klicken Sie hier für eine vollständige Liste der errorcode und Nachrichtenwerte.

X4-EN.png 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.

X4-EN.png requesttypedescription
XPath: /@type
Alpha (20) "TRANSACTIONUPDATE" wird in der Antwort zurückgegeben.
X4-EN.png 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.

War dieser Artikel hilfreich?
0 von 0 Personen fanden dies hilfreich