From 85de06e8825d1ca7cc0cc9696a93fdbc0ccdd887 Mon Sep 17 00:00:00 2001 From: Daniel Szatmari Date: Sun, 6 May 2018 11:59:35 +0200 Subject: [PATCH 1/3] add payment_gateway endpoint --- .../payment_gateways/create-request.json | 12 ++ ...erences_payments_write-scope-response.json | 24 ++++ ...erences_payments_write-scope-response.json | 24 ++++ .../payment_gateways/update-request.json | 12 ++ .../reference/endpoints/payment_gateways.md | 110 ++++++++++++++++++ 5 files changed, 182 insertions(+) create mode 100644 api_calls/reference/payment_gateways/create-request.json create mode 100644 api_calls/reference/payment_gateways/preferences_payments_read-preferences_payments_write-scope-response.json create mode 100644 api_calls/reference/payment_gateways/preferences_payments_write-scope-response.json create mode 100644 api_calls/reference/payment_gateways/update-request.json create mode 100644 content/reference/endpoints/payment_gateways.md diff --git a/api_calls/reference/payment_gateways/create-request.json b/api_calls/reference/payment_gateways/create-request.json new file mode 100644 index 00000000..6f90279a --- /dev/null +++ b/api_calls/reference/payment_gateways/create-request.json @@ -0,0 +1,12 @@ +{ + "payment_gateways": [ + { + "name": "Payment Gateway", + "gateway_name": "stripe", + "credentials": { "login": "login" }, + "supported_cardtypes": ["visa", "mastercard"], + "supported_currencies": ["EUR", "USD"], + "test": false + } + ] +} diff --git a/api_calls/reference/payment_gateways/preferences_payments_read-preferences_payments_write-scope-response.json b/api_calls/reference/payment_gateways/preferences_payments_read-preferences_payments_write-scope-response.json new file mode 100644 index 00000000..aa71ef16 --- /dev/null +++ b/api_calls/reference/payment_gateways/preferences_payments_read-preferences_payments_write-scope-response.json @@ -0,0 +1,24 @@ +{ + "links": { + "payment_gateways.account": "https://www.bookingsync.com/api/v3/accounts/{payment_gateways.account}" + }, + "payment_gateways": [ + { + "links": { + "account": 1 + }, + "id": 1, + "test": false, + "name": "Payment Gateway", + "gateway_name": "Gateway name", + "credentials": "login: 12345", + "supported_cardtypes": ["visa", "mastercard"], + "supported_currencies": ["EUR", "USD"], + "tokenize_credit_card_details": "token", + "created_at": "2017-08-10T09:36:10Z", + "updated_at": "2017-08-10T09:36:10Z" + } + ], + "meta": { + } +} diff --git a/api_calls/reference/payment_gateways/preferences_payments_write-scope-response.json b/api_calls/reference/payment_gateways/preferences_payments_write-scope-response.json new file mode 100644 index 00000000..aa71ef16 --- /dev/null +++ b/api_calls/reference/payment_gateways/preferences_payments_write-scope-response.json @@ -0,0 +1,24 @@ +{ + "links": { + "payment_gateways.account": "https://www.bookingsync.com/api/v3/accounts/{payment_gateways.account}" + }, + "payment_gateways": [ + { + "links": { + "account": 1 + }, + "id": 1, + "test": false, + "name": "Payment Gateway", + "gateway_name": "Gateway name", + "credentials": "login: 12345", + "supported_cardtypes": ["visa", "mastercard"], + "supported_currencies": ["EUR", "USD"], + "tokenize_credit_card_details": "token", + "created_at": "2017-08-10T09:36:10Z", + "updated_at": "2017-08-10T09:36:10Z" + } + ], + "meta": { + } +} diff --git a/api_calls/reference/payment_gateways/update-request.json b/api_calls/reference/payment_gateways/update-request.json new file mode 100644 index 00000000..6f90279a --- /dev/null +++ b/api_calls/reference/payment_gateways/update-request.json @@ -0,0 +1,12 @@ +{ + "payment_gateways": [ + { + "name": "Payment Gateway", + "gateway_name": "stripe", + "credentials": { "login": "login" }, + "supported_cardtypes": ["visa", "mastercard"], + "supported_currencies": ["EUR", "USD"], + "test": false + } + ] +} diff --git a/content/reference/endpoints/payment_gateways.md b/content/reference/endpoints/payment_gateways.md new file mode 100644 index 00000000..439e7d98 --- /dev/null +++ b/content/reference/endpoints/payment_gateways.md @@ -0,0 +1,110 @@ +# Payment Gateways + +1. TOC +{:toc} + +### Parameters + +
+
+Name | Type | Read/Write | Description +------------------------------|---------|------------|------------ +id | Integer | Read | Payment Gateway's id. +account_id | Integer | Read | Account id related to the payment gateway. +gateway_name | String | Write | Name of the gateway. Accepted gateways:authorize_net, blue_pay, bogus, braintree, moneris, moneris_us, ogone, omise, paybox_direct, paybox_direct_plus, paymill, paypal, paypal_ca, payu_latam, quickpay, sage, stripe, vacaypay, wepay +credentials | Array | Write | List of credentials. accepted keys: login, password, merchant_id, public_key, private_key, user, signature, signature_encryptor, secret_key, account_id, api_login, api_key, account_uuid, publishable_key, client_id, access_token +supported_cardtypes | Array | Write | List of supported card types. Accepted types depend on the gateway. +supported_currencies | Array | Write | List of supported currencies. +test | Boolean | Write | Set it true if payment gateway is used for testing. +tokenize_credit_card_details | Boolean | Write | If true payments will store tokenized cc data when possible (depends on gateway). +name | String | Write | Name of the payment gateway. +created_at | [Time](/reference/enums#formats) | Read | Payment Gateway's create time. +updated_at | [Time](/reference/enums#formats) | Read | Payment Gateway's update time. +{: class="table table-bordered"} +
+
+Name | Type | Read/Write | Description +------------------------------|---------|------------|------------ +id | Integer | Read | Payment Gateway's id. +account_id | Integer | Read | Account id related to the payment gateway. +gateway_name | String | Read | Name of the gateway. Accepted gateways:authorize_net, blue_pay, bogus, braintree, moneris, moneris_us, ogone, omise, paybox_direct, paybox_direct_plus, paymill, paypal, paypal_ca, payu_latam, quickpay, sage, stripe, vacaypay, wepay +credentials | Array | Read | List of credentials. accepted keys: login, password, merchant_id, public_key, private_key, user, signature, signature_encryptor, secret_key, account_id, api_login, api_key, account_uuid, publishable_key, client_id, access_token +supported_cardtypes | Array | Read | List of supported card types. Accepted types depend on the gateway. +supported_currencies | Array | Read | List of supported currencies. +test | Boolean | Read | Set it true if payment gateway is used for testing. +tokenize_credit_card_details | Boolean | Read | If true payments will store tokenized cc data when possible (depends on gateway). +name | String | Read | Name of the payment gateway. +created_at | [Time](/reference/enums#formats) | Read | Payment Gateway's create time. +updated_at | [Time](/reference/enums#formats) | Read | Payment Gateway's update time. +{: class="table table-bordered"} +
+
+ +## List payment_gateways + +Scope | Read Permissions +-------------------------|------------ +`:preferences_payments_read` | Display all payment_gateways for current account(s) +`:preferences_payments_write` | Display all payment_gateways for current account(s) +{: class="table table-bordered"} + +Returns a list of all payment_gateways for current account(s). + +~~~ +GET /payment_gateways +~~~ + +<%= render 'json_response', endpoint: "payment_gateways", + scopes: %w(preferences_payments_read-preferences_payments_write) %> + +## Get a single payment_gateway + +Returns a single payment_gateway identified by ID + +~~~ +GET /payment_gateways/:payment_gateway_id +~~~ + +<%= render 'json_response', endpoint: "payment_gateways", + scopes: %w(preferences_payments_read-preferences_payments_write) %> + +## Create a new payment_gateway + +
+

Supported card types

+ At least one supported card type must be given. +
+ +Creates a payment_gateway for your account. + +~~~~ +POST /payment_gateways +~~~~ + +<%= render 'json_response', endpoint: "payment_gateways", request: "create", + scopes: %w(preferences_payments_write) %> + +## Update a payment_gateway + +Returns an updated payment_gateway identified by ID. + +~~~ +PUT /payment_gateways/:payment_gateway_id +~~~ + +<%= render 'json_response', endpoint: "payment_gateways", request: "update", + scopes: [ {preferences_payments_write: "preferences_payments_write" }] %> + +## Destroy a payment_gateway + +Required OAuth scope: `:preferences_payments_write` + +Returns an empty response with '204 No Content' status code on success. + +~~~~~~ +DELETE /payment_gateways/:payment_gateway_id +~~~~~~ From a43af3987c5bdb1370eea2e2c214a9f7628b4b4f Mon Sep 17 00:00:00 2001 From: Daniel Szatmari Date: Sun, 6 May 2018 11:59:46 +0200 Subject: [PATCH 2/3] add payment_gateway to payments --- api_calls/reference/payments/create-request.json | 3 ++- ...te_owned-payments_read-payments_write-scope-response.json | 5 ++++- api_calls/reference/payments/update-request.json | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/api_calls/reference/payments/create-request.json b/api_calls/reference/payments/create-request.json index 1f7a69d8..078c6284 100644 --- a/api_calls/reference/payments/create-request.json +++ b/api_calls/reference/payments/create-request.json @@ -13,7 +13,8 @@ "zip": "07671-8254", "city": "East Winifred", "state": "Monatana", - "country_code": "US" + "country_code": "US", + "gateway_id": 1, } ] } diff --git a/api_calls/reference/payments/payments_write_owned-payments_read-payments_write-scope-response.json b/api_calls/reference/payments/payments_write_owned-payments_read-payments_write-scope-response.json index 3f157136..60c27b55 100644 --- a/api_calls/reference/payments/payments_write_owned-payments_read-payments_write-scope-response.json +++ b/api_calls/reference/payments/payments_write_owned-payments_read-payments_write-scope-response.json @@ -1,6 +1,7 @@ { "links": { "payments.account": "https://www.bookingsync.com/api/v3/accounts/{payments.account}", + "payments.payment_gateway": "https://www.bookingsync.com/api/v3/payment_gateways/{payments.payment_gateway}", "payments.bookings": "https://www.bookingsync.com/api/v3/bookings/{payments.bookings}", "payments.bookings_payments": "https://www.bookingsync.com/api/v3/bookings_payments/{payments.bookings_payments}" }, @@ -8,6 +9,7 @@ { "links": { "account": 33, + "payment_gateway": 1, "bookings": [ 21 ], @@ -39,7 +41,8 @@ "zip": "07671-8254", "city": "East Winifred", "state": "Monatana", - "country_code": "US" + "country_code": "US", + "credit_card_token": "credit_card_token" } ] } diff --git a/api_calls/reference/payments/update-request.json b/api_calls/reference/payments/update-request.json index 1f7a69d8..078c6284 100644 --- a/api_calls/reference/payments/update-request.json +++ b/api_calls/reference/payments/update-request.json @@ -13,7 +13,8 @@ "zip": "07671-8254", "city": "East Winifred", "state": "Monatana", - "country_code": "US" + "country_code": "US", + "gateway_id": 1, } ] } From 1b951628254c259700baee67da41a2250f057bf4 Mon Sep 17 00:00:00 2001 From: Daniel Szatmari Date: Mon, 4 Jun 2018 14:57:31 +0200 Subject: [PATCH 3/3] remove payu_latam --- content/reference/endpoints/payment_gateways.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/reference/endpoints/payment_gateways.md b/content/reference/endpoints/payment_gateways.md index 439e7d98..382b3062 100644 --- a/content/reference/endpoints/payment_gateways.md +++ b/content/reference/endpoints/payment_gateways.md @@ -15,7 +15,7 @@ Name | Type | Read/Write | Description ------------------------------|---------|------------|------------ id | Integer | Read | Payment Gateway's id. account_id | Integer | Read | Account id related to the payment gateway. -gateway_name | String | Write | Name of the gateway. Accepted gateways:authorize_net, blue_pay, bogus, braintree, moneris, moneris_us, ogone, omise, paybox_direct, paybox_direct_plus, paymill, paypal, paypal_ca, payu_latam, quickpay, sage, stripe, vacaypay, wepay +gateway_name | String | Write | Name of the gateway. Accepted gateways:authorize_net, blue_pay, bogus, braintree, moneris, moneris_us, ogone, omise, paybox_direct, paybox_direct_plus, paymill, paypal, paypal_ca, quickpay, sage, stripe, vacaypay, wepay credentials | Array | Write | List of credentials. accepted keys: login, password, merchant_id, public_key, private_key, user, signature, signature_encryptor, secret_key, account_id, api_login, api_key, account_uuid, publishable_key, client_id, access_token supported_cardtypes | Array | Write | List of supported card types. Accepted types depend on the gateway. supported_currencies | Array | Write | List of supported currencies.