This document describes the Server to Server API which enables merchants and PSPs to integrate Payzone payment solutions transparent and seamlessly.
Prior to use you should have submitted an application and supporting documents to receive an originator ID and a password. All examples are using a generic originatorId
and password
that must be change prior to their execution.
Using the Server to Server API, the merchant transmits all the informations required to make the payment directly to Payzone system via an HTTP request. The merchant is responsible for collecting and storing sensitive payment details of his customers. He must ensure the confidentiality and security of those details.
A separate account permits to access the backoffice where summary statistics, individual transactions details are available. Operation can also be manually done on transactions (like refunds, rebill…). The backoffice is available at: https://backoffice.payzone.ma
For integration questions please email: support@vpscorp.ma .
The Payment Gateway API is based on the REST principle. In short the calls are manipulating (fetching, creating, deleting…) resources identified by URIs by applying a method (standard HTTP methods).
Environment | Base Url |
---|---|
Production | https://api.payzone.ma/ |
Type | Url | Method | Version |
---|---|---|---|
CCSale | /transaction/sale/creditcard | POST | >= 0200 |
CCAuthorize | /transaction/authorize/creditcard | POST | >= 0200 |
3DSCheck | /transaction/3dscheck/creditcard | POST | >= 0200 |
3DSParse | /transaction/{transactionID}/3dsparse | POST | >= 0200 |
3DSAuth | /transaction/3dsauth | POST | >= 0200 |
Refund | /transaction/{transactionID}/refund | POST | >= 0200 |
Credit | /transaction/{transactionID}/credit | POST | >= 0200 |
Capture | /transaction/{transactionID}/capture | POST | >= 0200 |
Cancel | /transaction/{transactionID}/cancel | POST | >= 0200 |
Rebill | /transaction/{transactionID}/rebill | POST | >= 0200 |
CancelSubscription | /subscription/{subscriptionID}/cancel | POST | >= 0200 |
InstantConversion | /subscription/{subscriptionID}/instantconversion | POST | >= 0200 |
StatusTransaction | /transaction/{transactionID} | GET | >= 0200 |
StatusSubscription | /subscription/{subscriptionID} | GET | >= 0200 |
BlacklistTransaction | /transaction/{transactionID}/blacklist | POST | >= 0200 |
BlacklistValue | /blacklist | POST | >= 0200 |
ExportTransaction | /transactions(/{transactionOperation}) | GET | >= 0200 |
ExportSubscription | /subscriptions | GET | >= 0200 |
ExportSubscriptionOffer | /subscription/offer/{offerID} | GET | >= 0200 |
The strings in the URL between {} are dynamic parameters that must be replaced by the corresponding references (for example the transaction ID on which the call will act on).
The strings in the URL between () are optional parameters.
The authentication during the API calls is using the standard HTTP basic authentication. The user and password to use are the originator ID and password provided at subscription.
The API uses the camelCase naming convention for parameter names as in cardSecurityCode
.
Acronyms and initials such as IP or ID remain in upper case as in customerIP
, AVSPolicy
or CAVV
.
Requests towards the payment gateway consists in standard HTTP method with parameters.
In case of POST
requests, the parameters must be transmitted in the body of the request as a JSON
structure.
In case of GET
requests, the parameters are transmitted as standard parameters in the URL.
Every responses from the payment gateway consist in a JSON structure in the body of the response.
This is a sample of the output you will get in when calling a CCSale function:
{"transactionID":512345,"errorCode":"000","errorMessage":"Transaction successfully
completed","statementDescriptor":"payzone.ma"}
API revisions
Revision | Date | Description |
---|---|---|
0200 | 2011-07-19 | Draft |
0202 | 2012-08-27 | Stable |
0203 | 2015-01-21 | Stable |
0204 | 2015-11-18 | Stable |
0205 | 2016-04-12 | Stable |
0206 | 2016-05-31 | Stable |
0207 | 2016-08-22 | Stable |
0208 | 2020-12-15 | Stable |