paymaya 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +13 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +75 -0
  5. data/.travis.yml +5 -0
  6. data/CODE_OF_CONDUCT.md +49 -0
  7. data/Gemfile +9 -0
  8. data/LICENSE.md +7 -0
  9. data/README.md +35 -0
  10. data/Rakefile +6 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/fixtures/vcr_cassettes/create_card.yml +54 -0
  14. data/fixtures/vcr_cassettes/create_card_vault_payment.yml +55 -0
  15. data/fixtures/vcr_cassettes/create_checkout.yml +65 -0
  16. data/fixtures/vcr_cassettes/create_customer.yml +58 -0
  17. data/fixtures/vcr_cassettes/create_payment.yml +57 -0
  18. data/fixtures/vcr_cassettes/create_payment_token.yml +54 -0
  19. data/fixtures/vcr_cassettes/create_subscription.yml +54 -0
  20. data/fixtures/vcr_cassettes/delete_card.yml +50 -0
  21. data/fixtures/vcr_cassettes/delete_checkout_webhook.yml +107 -0
  22. data/fixtures/vcr_cassettes/delete_customer.yml +52 -0
  23. data/fixtures/vcr_cassettes/delete_payment_vault_webhook.yml +50 -0
  24. data/fixtures/vcr_cassettes/delete_subscription.yml +50 -0
  25. data/fixtures/vcr_cassettes/get_customization.yml +57 -0
  26. data/fixtures/vcr_cassettes/list_cards.yml +50 -0
  27. data/fixtures/vcr_cassettes/list_checkout_webhooks.yml +54 -0
  28. data/fixtures/vcr_cassettes/list_payment_vault_webhooks.yml +50 -0
  29. data/fixtures/vcr_cassettes/list_refunds.yml +51 -0
  30. data/fixtures/vcr_cassettes/list_subscription_payments.yml +52 -0
  31. data/fixtures/vcr_cassettes/list_subscriptions.yml +50 -0
  32. data/fixtures/vcr_cassettes/refund_payment.yml +54 -0
  33. data/fixtures/vcr_cassettes/register_checkout_webhook.yml +60 -0
  34. data/fixtures/vcr_cassettes/register_payment_vault_webhook.yml +54 -0
  35. data/fixtures/vcr_cassettes/remove_customization.yml +56 -0
  36. data/fixtures/vcr_cassettes/retrieve_card.yml +50 -0
  37. data/fixtures/vcr_cassettes/retrieve_checkout.yml +61 -0
  38. data/fixtures/vcr_cassettes/retrieve_customer.yml +52 -0
  39. data/fixtures/vcr_cassettes/retrieve_payment.yml +51 -0
  40. data/fixtures/vcr_cassettes/retrieve_payment_vault_webhook.yml +50 -0
  41. data/fixtures/vcr_cassettes/retrieve_refund.yml +51 -0
  42. data/fixtures/vcr_cassettes/retrieve_subscription.yml +50 -0
  43. data/fixtures/vcr_cassettes/set_customization.yml +62 -0
  44. data/fixtures/vcr_cassettes/update_card.yml +52 -0
  45. data/fixtures/vcr_cassettes/update_checkout_webhook.yml +113 -0
  46. data/fixtures/vcr_cassettes/update_customer.yml +56 -0
  47. data/fixtures/vcr_cassettes/update_payment_vault_webhook.yml +52 -0
  48. data/fixtures/vcr_cassettes/void_payment.yml +53 -0
  49. data/lib/paymaya.rb +28 -0
  50. data/lib/paymaya/checkout.rb +5 -0
  51. data/lib/paymaya/checkout/checkout.rb +35 -0
  52. data/lib/paymaya/checkout/customization.rb +37 -0
  53. data/lib/paymaya/checkout/webhook.rb +40 -0
  54. data/lib/paymaya/configuration.rb +22 -0
  55. data/lib/paymaya/helper.rb +114 -0
  56. data/lib/paymaya/payment_vault/card_vault/card.rb +44 -0
  57. data/lib/paymaya/payment_vault/card_vault/customer.rb +38 -0
  58. data/lib/paymaya/payment_vault/card_vault/payment.rb +24 -0
  59. data/lib/paymaya/payment_vault/card_vault/subscription.rb +50 -0
  60. data/lib/paymaya/payment_vault/payment.rb +58 -0
  61. data/lib/paymaya/payment_vault/payment_token.rb +20 -0
  62. data/lib/paymaya/payment_vault/webhook.rb +44 -0
  63. data/lib/paymaya/version.rb +4 -0
  64. data/paymaya.gemspec +29 -0
  65. metadata +205 -0
@@ -0,0 +1,62 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://sk-VrEDVetYZ6f4R1w4g0npwLzeBXtksd1smJ5lqk9Yh4y:@pg-sandbox.paymaya.com/checkout/v1/customizations
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"logoUrl":"https://cdn.paymaya.com/production/checkout_api/customization_example/yourlogo.svg","iconUrl":"https://cdn.paymaya.com/production/checkout_api/customization_example/youricon.ico","appleTouchIconUrl":"https://cdn.paymaya.com/production/checkout_api/customization_example/youricon_ios.ico","customTitle":"Checkout
9
+ Page Title","colorScheme":"#368d5c"}'
10
+ headers:
11
+ Accept:
12
+ - "*/*"
13
+ Accept-Encoding:
14
+ - gzip, deflate
15
+ User-Agent:
16
+ - rest-client/2.0.0 (darwin15.0.0 x86_64) ruby/2.3.0p0
17
+ Content-Type:
18
+ - application/json
19
+ Content-Length:
20
+ - '360'
21
+ Host:
22
+ - pg-sandbox.paymaya.com
23
+ response:
24
+ status:
25
+ code: 200
26
+ message: OK
27
+ headers:
28
+ Date:
29
+ - Sun, 25 Dec 2016 10:51:36 GMT
30
+ Content-Type:
31
+ - application/json; charset=utf-8
32
+ Content-Length:
33
+ - '360'
34
+ Connection:
35
+ - close
36
+ Access-Control-Allow-Origin:
37
+ - "*"
38
+ Vary:
39
+ - X-HTTP-Method-Override
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ Strict-Transport-Security:
43
+ - max-age=31536000
44
+ Cache-Control:
45
+ - private, no-cache, no-store, must-revalidate, max-age=0
46
+ Pragma:
47
+ - no-cache
48
+ X-Xss-Protection:
49
+ - 1; mode=block
50
+ X-Frame-Options:
51
+ - DENY
52
+ Etag:
53
+ - W/"168-4SUIzIvDitn8lbnZm7RHLA"
54
+ Via:
55
+ - kong/0.4.2
56
+ body:
57
+ encoding: UTF-8
58
+ string: '{"logoUrl":"https://cdn.paymaya.com/production/checkout_api/customization_example/yourlogo.svg","iconUrl":"https://cdn.paymaya.com/production/checkout_api/customization_example/youricon.ico","appleTouchIconUrl":"https://cdn.paymaya.com/production/checkout_api/customization_example/youricon_ios.ico","customTitle":"Checkout
59
+ Page Title","colorScheme":"#368d5c"}'
60
+ http_version:
61
+ recorded_at: Sun, 25 Dec 2016 10:51:36 GMT
62
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://sk-GgVT0xX7YJcWBauR4UqnMkyFt8GpksixEUaV7qWnDJc:@pg-sandbox.paymaya.com/payments/v1/customers/5f39f980-225f-4805-b61f-50e84ce3fcdf/cards/wdi6mkRvsaLNTiTOoMJD3GLUrdC0SdBvr7e6LbJvjxU2gjdr5k9Gynj0GQN7f9fofsDBlqy0Zzq6u4Vwhfd8hug0dCQo3NSb3RDV2GndnhmSEkKoY4eoAlxYaZUtJ4mFObMGGHxPmTaXZC9rBuPXe5JIZwFkzz5X1SXU
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"isDefault":true}'
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - rest-client/2.0.0 (darwin15.0.0 x86_64) ruby/2.3.0p0
16
+ Content-Type:
17
+ - application/json
18
+ Content-Length:
19
+ - '18'
20
+ Host:
21
+ - pg-sandbox.paymaya.com
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Date:
28
+ - Thu, 29 Dec 2016 03:16:32 GMT
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Content-Length:
32
+ - '338'
33
+ Connection:
34
+ - close
35
+ Access-Control-Allow-Origin:
36
+ - "*"
37
+ Etag:
38
+ - W/"152-L7VXPz19UjjZKNt8yR1CEA"
39
+ X-Content-Type-Options:
40
+ - nosniff
41
+ X-Frame-Options:
42
+ - DENY
43
+ X-Xss-Protection:
44
+ - 1; mode=block
45
+ Via:
46
+ - kong/0.4.2
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"state":"VERIFIED","cardTokenId":"wdi6mkRvsaLNTiTOoMJD3GLUrdC0SdBvr7e6LbJvjxU2gjdr5k9Gynj0GQN7f9fofsDBlqy0Zzq6u4Vwhfd8hug0dCQo3NSb3RDV2GndnhmSEkKoY4eoAlxYaZUtJ4mFObMGGHxPmTaXZC9rBuPXe5JIZwFkzz5X1SXU","cardType":"master-card","maskedPan":"2346","createdAt":"2016-12-29T02:41:57.000Z","updatedAt":"2016-12-29T03:16:32.000Z","default":true}'
50
+ http_version:
51
+ recorded_at: Thu, 29 Dec 2016 03:16:31 GMT
52
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,113 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://sk-VrEDVetYZ6f4R1w4g0npwLzeBXtksd1smJ5lqk9Yh4y:@pg-sandbox.paymaya.com/checkout/v1/webhooks/f6be27a8-3b96-4cf4-bcfc-7b86f5e7c93d
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"name":"CHECKOUT_DROPOUT","callbackUrl":"http://userwebsite.com/checkout_droupout"}'
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - rest-client/2.0.0 (darwin15.0.0 x86_64) ruby/2.3.0p0
16
+ Content-Type:
17
+ - application/json
18
+ Content-Length:
19
+ - '84'
20
+ Host:
21
+ - pg-sandbox.paymaya.com
22
+ response:
23
+ status:
24
+ code: 404
25
+ message: Not Found
26
+ headers:
27
+ Date:
28
+ - Sun, 25 Dec 2016 10:21:49 GMT
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Content-Length:
32
+ - '74'
33
+ Connection:
34
+ - close
35
+ Access-Control-Allow-Origin:
36
+ - "*"
37
+ X-Content-Type-Options:
38
+ - nosniff
39
+ Strict-Transport-Security:
40
+ - max-age=31536000
41
+ Cache-Control:
42
+ - private, no-cache, no-store, must-revalidate, max-age=0
43
+ Pragma:
44
+ - no-cache
45
+ X-Xss-Protection:
46
+ - 1; mode=block
47
+ X-Frame-Options:
48
+ - DENY
49
+ Etag:
50
+ - W/"4a-sMCQrZAm6HsNi/P6fhhJgw"
51
+ Via:
52
+ - kong/0.4.2
53
+ body:
54
+ encoding: UTF-8
55
+ string: '{"error":{"code":-3,"message":"Requested resource/information not found"}}'
56
+ http_version:
57
+ recorded_at: Sun, 25 Dec 2016 10:21:49 GMT
58
+ - request:
59
+ method: put
60
+ uri: https://sk-VrEDVetYZ6f4R1w4g0npwLzeBXtksd1smJ5lqk9Yh4y:@pg-sandbox.paymaya.com/checkout/v1/webhooks/d1145ee5-53ac-414a-b5d2-10efd5fd1acb
61
+ body:
62
+ encoding: UTF-8
63
+ string: '{"name":"CHECKOUT_DROPOUT","callbackUrl":"http://userwebsite.com/checkout_droupout"}'
64
+ headers:
65
+ Accept:
66
+ - "*/*"
67
+ Accept-Encoding:
68
+ - gzip, deflate
69
+ User-Agent:
70
+ - rest-client/2.0.0 (darwin15.0.0 x86_64) ruby/2.3.0p0
71
+ Content-Type:
72
+ - application/json
73
+ Content-Length:
74
+ - '84'
75
+ Host:
76
+ - pg-sandbox.paymaya.com
77
+ response:
78
+ status:
79
+ code: 200
80
+ message: OK
81
+ headers:
82
+ Date:
83
+ - Sun, 25 Dec 2016 10:23:03 GMT
84
+ Content-Type:
85
+ - application/json; charset=utf-8
86
+ Content-Length:
87
+ - '128'
88
+ Connection:
89
+ - close
90
+ Access-Control-Allow-Origin:
91
+ - "*"
92
+ X-Content-Type-Options:
93
+ - nosniff
94
+ Strict-Transport-Security:
95
+ - max-age=31536000
96
+ Cache-Control:
97
+ - private, no-cache, no-store, must-revalidate, max-age=0
98
+ Pragma:
99
+ - no-cache
100
+ X-Xss-Protection:
101
+ - 1; mode=block
102
+ X-Frame-Options:
103
+ - DENY
104
+ Etag:
105
+ - W/"80-xUeqJ1gw80zZbSVamWk4+Q"
106
+ Via:
107
+ - kong/0.4.2
108
+ body:
109
+ encoding: UTF-8
110
+ string: '{"name":"CHECKOUT_DROPOUT","callbackUrl":"http://userwebsite.com/checkout_droupout","id":"d1145ee5-53ac-414a-b5d2-10efd5fd1acb"}'
111
+ http_version:
112
+ recorded_at: Sun, 25 Dec 2016 10:23:03 GMT
113
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,56 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://sk-dOxQfFiCZ7ImhHAsLLTVPpuVt3XBtqPzbcpeJa3TBJv:@pg-sandbox.paymaya.com/payments/v1/customers/c52866a8-c30f-4233-afd4-473b069ac751
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"firstName":"Ysabelle","middleName":"Cruz","lastName":"Santos","birthday":"1987-01-01","sex":"F","contact":{"phone":"+63(2)1234567890","email":"ysadcsantos@gmail.com"},"billingAddress":{"line1":"9F
9
+ Robinsons Cybergate 3","line2":"Pioneer Street","city":"Mandaluyong City","state":"Metro
10
+ Manila","zipCode":"12345","countryCode":"PH"},"metadata":{}}'
11
+ headers:
12
+ Accept:
13
+ - "*/*"
14
+ Accept-Encoding:
15
+ - gzip, deflate
16
+ User-Agent:
17
+ - rest-client/2.0.0 (darwin15.0.0 x86_64) ruby/2.3.0p0
18
+ Content-Type:
19
+ - application/json
20
+ Content-Length:
21
+ - '348'
22
+ Host:
23
+ - pg-sandbox.paymaya.com
24
+ response:
25
+ status:
26
+ code: 200
27
+ message: OK
28
+ headers:
29
+ Date:
30
+ - Wed, 28 Dec 2016 19:15:42 GMT
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Content-Length:
34
+ - '456'
35
+ Connection:
36
+ - close
37
+ Access-Control-Allow-Origin:
38
+ - "*"
39
+ Etag:
40
+ - W/"1c8-8cxne/ywLsVx/7sJhTBGCA"
41
+ X-Content-Type-Options:
42
+ - nosniff
43
+ X-Frame-Options:
44
+ - DENY
45
+ X-Xss-Protection:
46
+ - 1; mode=block
47
+ Via:
48
+ - kong/0.4.2
49
+ body:
50
+ encoding: UTF-8
51
+ string: '{"id":"c52866a8-c30f-4233-afd4-473b069ac751","firstName":"Ysabelle","middleName":"Cruz","lastName":"Santos","contact":{"phone":"+63(2)1234567890","email":"ysadcsantos@gmail.com"},"billingAddress":{"line1":"9F
52
+ Robinsons Cybergate 3","line2":"Pioneer Street","city":"Mandaluyong City","state":"Metro
53
+ Manila","zipCode":"12345","countryCode":"PH"},"sex":"F","birthday":"1987-01-01","createdAt":"2016-12-28T19:15:12.000Z","updatedAt":"2016-12-28T19:15:42.000Z"}'
54
+ http_version:
55
+ recorded_at: Wed, 28 Dec 2016 19:15:42 GMT
56
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://sk-GgVT0xX7YJcWBauR4UqnMkyFt8GpksixEUaV7qWnDJc:@pg-sandbox.paymaya.com/payments/v1/webhooks/674a08c7-e68e-4386-a5cb-750db1d3675a
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"name":"3DS_PAYMENT_SUCCESS","callbackUrl":"http://anewwebhook.com/success-webhook"}'
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - rest-client/2.0.0 (darwin15.0.0 x86_64) ruby/2.3.0p0
16
+ Content-Type:
17
+ - application/json
18
+ Content-Length:
19
+ - '85'
20
+ Host:
21
+ - pg-sandbox.paymaya.com
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Date:
28
+ - Wed, 28 Dec 2016 17:53:49 GMT
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Content-Length:
32
+ - '207'
33
+ Connection:
34
+ - close
35
+ Access-Control-Allow-Origin:
36
+ - "*"
37
+ Etag:
38
+ - W/"cf-I64UAqirUZBJIjrHqTQe9A"
39
+ X-Content-Type-Options:
40
+ - nosniff
41
+ X-Frame-Options:
42
+ - DENY
43
+ X-Xss-Protection:
44
+ - 1; mode=block
45
+ Via:
46
+ - kong/0.4.2
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"id":"674a08c7-e68e-4386-a5cb-750db1d3675a","name":"3DS_PAYMENT_SUCCESS","callbackUrl":"http://anewwebhook.com/success-webhook","createdAt":"2016-11-17T04:57:50.000Z","updatedAt":"2016-12-28T17:53:49.000Z"}'
50
+ http_version:
51
+ recorded_at: Wed, 28 Dec 2016 17:53:59 GMT
52
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,53 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: https://sk-GgVT0xX7YJcWBauR4UqnMkyFt8GpksixEUaV7qWnDJc:@pg-sandbox.paymaya.com/payments/v1/payments/4873e908-0a78-416b-b2f4-432080e6ee85
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"reason":"Void reason"}'
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - rest-client/2.0.0 (darwin15.0.0 x86_64) ruby/2.3.0p0
16
+ Content-Type:
17
+ - application/json
18
+ Content-Length:
19
+ - '24'
20
+ Host:
21
+ - pg-sandbox.paymaya.com
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Date:
28
+ - Wed, 28 Dec 2016 17:09:39 GMT
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Content-Length:
32
+ - '418'
33
+ Connection:
34
+ - close
35
+ Access-Control-Allow-Origin:
36
+ - "*"
37
+ Etag:
38
+ - W/"1a2-kRKMzgp9svMkQPps/aWMZg"
39
+ X-Content-Type-Options:
40
+ - nosniff
41
+ X-Frame-Options:
42
+ - DENY
43
+ X-Xss-Protection:
44
+ - 1; mode=block
45
+ Via:
46
+ - kong/0.4.2
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"id":"4873e908-0a78-416b-b2f4-432080e6ee85","isPaid":false,"status":"VOIDED","amount":100,"currency":"PHP","createdAt":"2016-12-28T17:07:41.000Z","updatedAt":"2016-12-28T17:09:39.000Z","description":"Charge
50
+ for ysadcsantos@gmail.com","paymentTokenId":"Vnb2kkHJ5FkzJ8gE3RZquLRe7iKsEVe9V75e2pwWyMH0jeY94VU5XAq5KF7MQAA3xpK6SfxmQfFpusAHIZtgJW2r6rcEu47CE9W5ExsrBAQPgcCVvOa4ymp4GxCAQFmqb36sWxk2MSeZNXg3HlP6B4hE7Ab2G9Nyaac"}'
51
+ http_version:
52
+ recorded_at: Wed, 28 Dec 2016 17:09:48 GMT
53
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+ require 'paymaya/version'
3
+ require 'paymaya/helper'
4
+ require 'paymaya/configuration'
5
+ require 'paymaya/checkout/webhook'
6
+ require 'paymaya/checkout/customization'
7
+ require 'paymaya/checkout/checkout'
8
+ require 'paymaya/payment_vault/card_vault/customer'
9
+ require 'paymaya/payment_vault/card_vault/card'
10
+ require 'paymaya/payment_vault/card_vault/payment'
11
+ require 'paymaya/payment_vault/card_vault/subscription'
12
+ require 'paymaya/payment_vault/payment'
13
+ require 'paymaya/payment_vault/payment_token'
14
+ require 'paymaya/payment_vault/webhook'
15
+
16
+ module Paymaya
17
+ class << self
18
+ attr_accessor :configuration
19
+ end
20
+
21
+ def self.config
22
+ @configuration ||= Configuration.new
23
+ end
24
+
25
+ def self.configure
26
+ yield(config)
27
+ end
28
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+ module Paymaya
3
+ module Checkout
4
+ end
5
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+ require 'rest-client'
3
+
4
+ require 'paymaya/helper'
5
+
6
+ module Paymaya
7
+ module Checkout
8
+ module Checkout
9
+ def self.create(total_amount:, buyer:, items:, redirect_url: nil,
10
+ request_reference_number: nil, metadata: nil)
11
+ currency = total_amount[:currency]
12
+ payload = { total_amount: Helper.stringify_numbers(total_amount, currency),
13
+ buyer: buyer, items: Helper.stringify_numbers(items, currency) }
14
+ payload[:redirect_url] = redirect_url unless redirect_url.nil?
15
+ unless request_reference_number.nil?
16
+ payload[:request_reference_number] = request_reference_number
17
+ end
18
+ payload[:metadata] = metadata unless metadata.nil?
19
+ Helper.request(:post, checkout_url, payload,
20
+ Helper.checkout_public_auth_headers)
21
+ end
22
+
23
+ def self.retrieve(id)
24
+ Helper.request(:get, "#{checkout_url}/#{id}", {},
25
+ Helper.checkout_secret_auth_headers)
26
+ end
27
+
28
+ def self.checkout_url
29
+ "#{Paymaya.config.base_url}/checkout/v1/checkouts"
30
+ end
31
+
32
+ private_class_method :checkout_url
33
+ end
34
+ end
35
+ end