==== API ==== Grundsaetzliches: * Tokens sehen so aus: * {"token": "[A-Fa-f0-9]{64}", "value": "\d{3}\.\d{2}", "created": "ISO 8601 Date"} * Beispiel: {"token": "9ec56cf7b3430bde01d2fd67d8195ac8ed8bf1563eab653cad9b244f8014a966", "value": "000.50", "created": "2014-04-29T19:21:00.372274"} * Alle Parameter kommen als JSON. Tokens kommen immer in Listen. * API zu erreichen unter https://payment.club.muc.ccc.de * Fingerprints (Testbetrieb): * SHA1 Fingerprint=EA:3B:FA:2A:9D:1D:9F:27:8F:16:7C:E2:B4:4A:37:49:AD:02:50:3C * SHA256 Fingerprint=1D:FC:68:E5:80:40:AD:0B:F9:41:71:E9:BA:D7:58:A7:97:C9:AC:1C:8C:73:80:3B:F5:44:58:E0:FB:85:F8:E1 === Bezahlen === Die Bezahl-API funktioniert grundsaetzlich in 3 Schritten: **Tokenvalidierung**, **Tokenerstellung**, **Tokentransformation**. ^ Schritt ^ URL ^ Parameter (POST) ^ Response (JSON) ^ Bemerkung ^ | (1) Tokenvalidierung | /v1.0/validate | tokens[] | valid_tokens[] | Filter fuer valide (nicht benutzte) Tokens. | | (2) Tokenerstellung | /v1.0/create | values[] | created_tokens[] | Erzeugt Tokens, traegt sie aber nicht in die Datenbank ein. | | (3) Tokentransformation | /v1.0/transform | input_tokens[], output_tokens[] | transformed_tokens[] | input_tokens werden invalidiert, output_tokens werden in die Datenbank eingetragen. | Herz ist die Tokentransformation. Sie nimmt Listen von von tokens an, die zusammen den gleichen Wert haben muessen. Nur in diesem Fall werden alle Tokens in input_tokens invalidiert und die Tokens aus output_tokens eingetragen. === Fehlercodes === Falls ein HTTP Code != 200 (OK) zurueckgeliefert wird, ist ein Fehler aufgetreten. Die Fehler koennen wie folgt interpretiert werden: ^ HTTP Error Code ^ Fehler ^ | 400 Bad Request | Fehler beim Parsen des Requests | | 404 Not Found | | | 504 Gateway Timeout | Datenbank nicht erreichbar | ==== API (Zukunft...) ==== === Token-Management === ^ Aktion ^ URL ^ Parameter (POST) ^ Response (JSON) ^ Bemerkungen ^ | Tokens auf Server ablegen (neu generierte mit PIN) | /v1.1/deposit | tokens | pin | PIN nur 10 Min. gueltig! | | Neue Tokens holen (mit PIN) | /v1.1/withdraw | pin | tokens | Falls PIN schon gesperrt, zu einem Admin der manuell freischaltet |