paddle_pay 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +20 -0
  3. data/README.md +207 -0
  4. data/lib/paddle_pay.rb +40 -0
  5. data/lib/paddle_pay/configuration.rb +17 -0
  6. data/lib/paddle_pay/connection.rb +69 -0
  7. data/lib/paddle_pay/errors/paddle_pay_error.rb +54 -0
  8. data/lib/paddle_pay/models/alert/webhook.rb +14 -0
  9. data/lib/paddle_pay/models/product/coupon.rb +36 -0
  10. data/lib/paddle_pay/models/product/license.rb +14 -0
  11. data/lib/paddle_pay/models/product/pay_link.rb +14 -0
  12. data/lib/paddle_pay/models/product/payment.rb +15 -0
  13. data/lib/paddle_pay/models/product/product.rb +12 -0
  14. data/lib/paddle_pay/models/subscription/charge.rb +14 -0
  15. data/lib/paddle_pay/models/subscription/modifier.rb +24 -0
  16. data/lib/paddle_pay/models/subscription/payment.rb +25 -0
  17. data/lib/paddle_pay/models/subscription/plan.rb +19 -0
  18. data/lib/paddle_pay/models/subscription/user.rb +31 -0
  19. data/lib/paddle_pay/models/transaction/checkout.rb +13 -0
  20. data/lib/paddle_pay/models/transaction/order.rb +13 -0
  21. data/lib/paddle_pay/models/transaction/product.rb +13 -0
  22. data/lib/paddle_pay/models/transaction/subscription.rb +13 -0
  23. data/lib/paddle_pay/models/transaction/user.rb +13 -0
  24. data/lib/paddle_pay/util.rb +36 -0
  25. data/lib/paddle_pay/version.rb +5 -0
  26. data/test/spec/paddle_pay/configuration_spec.rb +24 -0
  27. data/test/spec/paddle_pay/connection_spec.rb +115 -0
  28. data/test/spec/paddle_pay/models/alert/webhook_spec.rb +41 -0
  29. data/test/spec/paddle_pay/models/product/coupon_spec.rb +98 -0
  30. data/test/spec/paddle_pay/models/product/license_spec.rb +33 -0
  31. data/test/spec/paddle_pay/models/product/pay_link_spec.rb +33 -0
  32. data/test/spec/paddle_pay/models/product/payment_spec.rb +31 -0
  33. data/test/spec/paddle_pay/models/product/product_spec.rb +42 -0
  34. data/test/spec/paddle_pay/models/subscription/charge_spec.rb +31 -0
  35. data/test/spec/paddle_pay/models/subscription/modifier_spec.rb +70 -0
  36. data/test/spec/paddle_pay/models/subscription/payment_spec.rb +68 -0
  37. data/test/spec/paddle_pay/models/subscription/plan_spec.rb +57 -0
  38. data/test/spec/paddle_pay/models/subscription/user_spec.rb +87 -0
  39. data/test/spec/paddle_pay/models/transaction/checkout_spec.rb +41 -0
  40. data/test/spec/paddle_pay/models/transaction/order_spec.rb +41 -0
  41. data/test/spec/paddle_pay/models/transaction/product_spec.rb +41 -0
  42. data/test/spec/paddle_pay/models/transaction/subscription_spec.rb +41 -0
  43. data/test/spec/paddle_pay/models/transaction/user_spec.rb +41 -0
  44. data/test/spec/paddle_pay/util_spec.rb +41 -0
  45. data/test/spec/paddle_pay/version_spec.rb +9 -0
  46. data/test/test_helper.rb +18 -0
  47. data/test/vcr_cassettes/paddle_pay/alert/webhook/test_0001_should_list_all_webhooks.yml +61 -0
  48. data/test/vcr_cassettes/paddle_pay/alert/webhook/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml +61 -0
  49. data/test/vcr_cassettes/paddle_pay/alert/webhook/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml +61 -0
  50. data/test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_list_all_coupons.yml +60 -0
  51. data/test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_raise_an_error_if_the_coupon_deletion_is_invalid.yml +61 -0
  52. data/test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_raise_an_error_if_the_coupon_is_invalid.yml +61 -0
  53. data/test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_return_updated_0_if_the_coupon_group_update_is_invalid.yml +62 -0
  54. data/test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_return_updated_0_if_the_coupon_update_is_invalid.yml +62 -0
  55. data/test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml +61 -0
  56. data/test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_return_coupon_codes_if_the_coupon_is_valid.yml +60 -0
  57. data/test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_return_success_if_the_coupon_deletion_is_valid.yml +62 -0
  58. data/test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_return_updated_0_if_the_coupon_group_update_is_valid.yml +62 -0
  59. data/test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_return_updated_0_if_the_coupon_update_is_valid.yml +62 -0
  60. data/test/vcr_cassettes/paddle_pay/product/coupon/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml +61 -0
  61. data/test/vcr_cassettes/paddle_pay/product/license/test_0001_should_raise_an_error_if_license_generation_request_is_invalid.yml +61 -0
  62. data/test/vcr_cassettes/paddle_pay/product/license/test_0002_should_return_a_license_code_if_license_generation_request_is_valid.yml +61 -0
  63. data/test/vcr_cassettes/paddle_pay/product/pay_link/test_0001_should_raise_an_error_if_pay_link_generation_request_is_invalid.yml +61 -0
  64. data/test/vcr_cassettes/paddle_pay/product/pay_link/test_0002_should_return_an_url_if_pay_link_generation_request_is_valid.yml +60 -0
  65. data/test/vcr_cassettes/paddle_pay/product/payment/test_0001_should_raise_an_error_if_the_payment_refund_is_invalid.yml +61 -0
  66. data/test/vcr_cassettes/paddle_pay/product/payment/test_0002_should_return_success_if_the_payment_refund_is_valid.yml +60 -0
  67. data/test/vcr_cassettes/paddle_pay/product/test_0001_should_list_all_products.yml +60 -0
  68. data/test/vcr_cassettes/paddle_pay/product/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml +61 -0
  69. data/test/vcr_cassettes/paddle_pay/product/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml +61 -0
  70. data/test/vcr_cassettes/paddle_pay/subscription/charge/test_0001_should_raise_an_error_if_the_charge_is_invalid.yml +61 -0
  71. data/test/vcr_cassettes/paddle_pay/subscription/charge/test_0002_should_return_invoice_id_if_the_charge_is_valid.yml +61 -0
  72. data/test/vcr_cassettes/paddle_pay/subscription/modifier/test_0001_should_list_all_modifiers.yml +62 -0
  73. data/test/vcr_cassettes/paddle_pay/subscription/modifier/test_0001_should_raise_an_error_if_the_modifier_deletion_is_invalid.yml +61 -0
  74. data/test/vcr_cassettes/paddle_pay/subscription/modifier/test_0001_should_raise_an_error_if_the_modifier_is_invalid.yml +61 -0
  75. data/test/vcr_cassettes/paddle_pay/subscription/modifier/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml +61 -0
  76. data/test/vcr_cassettes/paddle_pay/subscription/modifier/test_0002_should_return_a_modifier_id_if_the_modifier_is_valid.yml +60 -0
  77. data/test/vcr_cassettes/paddle_pay/subscription/modifier/test_0002_should_return_a_product_id_if_the_modifier_deletion_is_valid.yml +60 -0
  78. data/test/vcr_cassettes/paddle_pay/subscription/modifier/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml +61 -0
  79. data/test/vcr_cassettes/paddle_pay/subscription/payment/test_0001_should_list_all_payments.yml +60 -0
  80. data/test/vcr_cassettes/paddle_pay/subscription/payment/test_0001_should_raise_an_error_if_the_payment_refund_is_invalid.yml +61 -0
  81. data/test/vcr_cassettes/paddle_pay/subscription/payment/test_0001_should_raise_an_error_if_the_payment_reschedule_is_invalid.yml +313 -0
  82. data/test/vcr_cassettes/paddle_pay/subscription/payment/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml +61 -0
  83. data/test/vcr_cassettes/paddle_pay/subscription/payment/test_0002_should_return_success_if_the_payment_refund_is_valid.yml +60 -0
  84. data/test/vcr_cassettes/paddle_pay/subscription/payment/test_0002_should_return_success_if_the_payment_reschedule_is_valid.yml +62 -0
  85. data/test/vcr_cassettes/paddle_pay/subscription/payment/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml +61 -0
  86. data/test/vcr_cassettes/paddle_pay/subscription/plan/test_0001_should_list_all_plans.yml +60 -0
  87. data/test/vcr_cassettes/paddle_pay/subscription/plan/test_0001_should_raise_an_error_if_the_plan_is_invalid.yml +61 -0
  88. data/test/vcr_cassettes/paddle_pay/subscription/plan/test_0002_should_be_successful_if_the_plan_is_valid.yml +62 -0
  89. data/test/vcr_cassettes/paddle_pay/subscription/plan/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml +61 -0
  90. data/test/vcr_cassettes/paddle_pay/subscription/plan/test_0002_should_return_a_product_id_if_the_plan_is_valid.yml +62 -0
  91. data/test/vcr_cassettes/paddle_pay/subscription/plan/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml +61 -0
  92. data/test/vcr_cassettes/paddle_pay/subscription/user/test_0001_should_list_all_users.yml +61 -0
  93. data/test/vcr_cassettes/paddle_pay/subscription/user/test_0001_should_raise_an_error_if_the_cancelation_is_invalid.yml +61 -0
  94. data/test/vcr_cassettes/paddle_pay/subscription/user/test_0001_should_raise_an_error_if_the_subscription_update_is_invalid.yml +61 -0
  95. data/test/vcr_cassettes/paddle_pay/subscription/user/test_0001_should_raise_an_error_if_the_subscription_update_preview_is_invalid.yml +61 -0
  96. data/test/vcr_cassettes/paddle_pay/subscription/user/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml +61 -0
  97. data/test/vcr_cassettes/paddle_pay/subscription/user/test_0002_should_return_a_subscription_id_if_the_subscription_update_is_valid.yml +60 -0
  98. data/test/vcr_cassettes/paddle_pay/subscription/user/test_0002_should_return_a_subscription_id_if_the_subscription_update_preview_is_valid.yml +60 -0
  99. data/test/vcr_cassettes/paddle_pay/subscription/user/test_0002_should_return_success_if_the_cancelation_is_valid.yml +62 -0
  100. data/test/vcr_cassettes/paddle_pay/subscription/user/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml +61 -0
  101. data/test/vcr_cassettes/paddle_pay/transaction/checkout/test_0001_should_list_all_checkouts.yml +61 -0
  102. data/test/vcr_cassettes/paddle_pay/transaction/checkout/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml +61 -0
  103. data/test/vcr_cassettes/paddle_pay/transaction/checkout/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml +61 -0
  104. data/test/vcr_cassettes/paddle_pay/transaction/order/test_0001_should_list_all_orders.yml +61 -0
  105. data/test/vcr_cassettes/paddle_pay/transaction/order/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml +61 -0
  106. data/test/vcr_cassettes/paddle_pay/transaction/order/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml +61 -0
  107. data/test/vcr_cassettes/paddle_pay/transaction/product/test_0001_should_list_all_products.yml +62 -0
  108. data/test/vcr_cassettes/paddle_pay/transaction/product/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml +61 -0
  109. data/test/vcr_cassettes/paddle_pay/transaction/product/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml +61 -0
  110. data/test/vcr_cassettes/paddle_pay/transaction/subscription/test_0001_should_list_all_subscriptions.yml +61 -0
  111. data/test/vcr_cassettes/paddle_pay/transaction/subscription/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml +61 -0
  112. data/test/vcr_cassettes/paddle_pay/transaction/subscription/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml +61 -0
  113. data/test/vcr_cassettes/paddle_pay/transaction/user/test_0001_should_list_all_users.yml +62 -0
  114. data/test/vcr_cassettes/paddle_pay/transaction/user/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml +61 -0
  115. data/test/vcr_cassettes/paddle_pay/transaction/user/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml +61 -0
  116. metadata +358 -0
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://vendors.paddle.com/api/2.0/product/594469/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: vendor_auth_code&vendor_id=<VENDOR_ID>
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v1.0.1
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Sat, 23 May 2020 10:43:39 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Set-Cookie:
32
+ - __cfduid=d9c8fd180b4a7c9e7f6c8113dae69d6421590230619; expires=Mon, 22-Jun-20
33
+ 10:43:39 GMT; path=/; domain=.paddle.com; HttpOnly; SameSite=Lax
34
+ - paddle_session_vendor=eyJpdiI6Imk1YkFuUTVZaVVkTFBKczZQS1g4N292VUNHNVFNdks3MGVkYnVSdkgrWG89IiwidmFsdWUiOiJcL1RuZW9Vc2lsTHJ2dUZiMXZPY2huXC9RaUw1UWU3aVV0eDRIXC9mSUxLcHRSV3dPUmFiTW9IOVY3eGtlM2hPNnlJVFF3SERpSkNWTmxvMGRvTFI5TDhsdz09IiwibWFjIjoiY2NjN2RjODZmMzFmYzc1YWJmZTE0ZDA0Yjc2OTU4OGFhNzk4ODc3OTUwN2Q5YWViN2MzYzE1ZGE4ZDFjNDRiMSJ9;
35
+ expires=Sat, 23-May-2020 12:43:39 GMT; Max-Age=7200; path=/; domain=vendors.paddle.com;
36
+ secure; HttpOnly;SameSite=none;Secure
37
+ X-Powered-By:
38
+ - PHP/7.2.31
39
+ Cache-Control:
40
+ - no-cache
41
+ X-Frame-Options:
42
+ - sameorigin
43
+ P3p:
44
+ - CP="CAO CUR ADMa DEVa TAIa OUR DELa STP ONL NAV STA PUR"
45
+ Cf-Cache-Status:
46
+ - DYNAMIC
47
+ Expect-Ct:
48
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
49
+ Server:
50
+ - cloudflare
51
+ Cf-Ray:
52
+ - 597e2d5d1b349d42-AMS
53
+ Cf-Request-Id:
54
+ - 02e2baae3200009d42a6b6b200000001
55
+ body:
56
+ encoding: ASCII-8BIT
57
+ string: '{"success":false,"error":{"code":107,"message":"You don''t have permission
58
+ to access this resource"}}'
59
+ http_version: null
60
+ recorded_at: Sat, 23 May 2020 10:43:39 GMT
61
+ recorded_with: VCR 5.1.0
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://vendors.paddle.com/api/2.0/subscription/3484448/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: vendor_auth_code=<VENDOR_AUTH_CODE>&vendor_id=<VENDOR_ID>
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v1.0.1
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Sat, 23 May 2020 10:52:16 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Set-Cookie:
32
+ - __cfduid=d374fd9c631784a0a3a6a9c145f6c28461590231136; expires=Mon, 22-Jun-20
33
+ 10:52:16 GMT; path=/; domain=.paddle.com; HttpOnly; SameSite=Lax
34
+ - paddle_session_vendor=eyJpdiI6IkpJXC9oWENtVk9qUDFXYlJjZDM4RGlqcU9zOXlMMUw4cW9VWTNwbmZOY3dRPSIsInZhbHVlIjoiWDJEM2gwTXpiTXc5R2ViajIyOHNaK1FEMjhhWlZhVVBwTEZ1TjNqSk41SkdNSHFSTERkZHFpeURcL1BNSmRyb3lcL0hOdzd2UUJVS0tKOUZRbWRMTWprZz09IiwibWFjIjoiM2QyYThhN2QxODI4MDk2ZGM3MDE0YzAwOWRjODE3ZGRmN2JhMDIxMmIyMzhkN2Y4YmE5NzFlZTZjM2FmMjMwZSJ9;
35
+ expires=Sat, 23-May-2020 12:52:16 GMT; Max-Age=7200; path=/; domain=vendors.paddle.com;
36
+ secure; HttpOnly;SameSite=none;Secure
37
+ X-Powered-By:
38
+ - PHP/7.2.31
39
+ Cache-Control:
40
+ - no-cache
41
+ X-Frame-Options:
42
+ - sameorigin
43
+ P3p:
44
+ - CP="CAO CUR ADMa DEVa TAIa OUR DELa STP ONL NAV STA PUR"
45
+ Cf-Cache-Status:
46
+ - DYNAMIC
47
+ Expect-Ct:
48
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
49
+ Server:
50
+ - cloudflare
51
+ Cf-Ray:
52
+ - 597e39facc56fa3c-AMS
53
+ Cf-Request-Id:
54
+ - 02e2c290b90000fa3ca927b200000001
55
+ body:
56
+ encoding: ASCII-8BIT
57
+ string: '{"success":true,"response":[{"order_id":"14854225-10710435","checkout_id":"57064784-chrec5910826421-58f0e94797","amount":"0.00","currency":"USD","status":"completed","created_at":"2020-05-23
58
+ 08:47:55","passthrough":null,"product_id":594469,"is_subscription":true,"is_one_off":false,"subscription":{"subscription_id":3484448,"status":"active"},"user":{"user_id":17368056,"email":"test@example.com","marketing_consent":false},"receipt_url":"https:\/\/my.paddle.com\/receipt\/14854225-10710435\/57064784-chrec5910816421-58f0e34797"}]}'
59
+ http_version: null
60
+ recorded_at: Sat, 23 May 2020 10:52:16 GMT
61
+ recorded_with: VCR 5.1.0
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://vendors.paddle.com/api/2.0/subscription/3484448/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: vendor_auth_code=<VENDOR_AUTH_CODE>&vendor_id
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v1.0.1
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Sat, 23 May 2020 10:52:17 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Set-Cookie:
32
+ - __cfduid=dee7cff3bfc5d978ef5e5899d691caf111590231136; expires=Mon, 22-Jun-20
33
+ 10:52:16 GMT; path=/; domain=.paddle.com; HttpOnly; SameSite=Lax
34
+ - paddle_session_vendor=eyJpdiI6IjkxZnlRUzdWK1FqaHV0bFwvVG9Memc3cmVLc2xWT09jaXVNaUJPS003K1p3PSIsInZhbHVlIjoiMDh1RzBpQTg0dHptMzQ5bXRpQ0JwOEhCbDVWYXJUVlRHUkdmOG8ybkxNb1kwQTBYOEpSVzFxSjZxQjBZNU4zQ0RBWW1jeVdcLzlLNCtPTDg3RGZqVUlBPT0iLCJtYWMiOiJjODkwMTYxMmQ2NTEyMGQwZGZlMTQyN2QxOGE1OWZiZjEzYmI5MDQxYjJlYjFiMGQ2MWMwNGY3OTdlMGQ5ZTliIn0%3D;
35
+ expires=Sat, 23-May-2020 12:52:16 GMT; Max-Age=7200; path=/; domain=vendors.paddle.com;
36
+ secure; HttpOnly;SameSite=none;Secure
37
+ X-Powered-By:
38
+ - PHP/7.2.31
39
+ Cache-Control:
40
+ - no-cache
41
+ X-Frame-Options:
42
+ - sameorigin
43
+ P3p:
44
+ - CP="CAO CUR ADMa DEVa TAIa OUR DELa STP ONL NAV STA PUR"
45
+ Cf-Cache-Status:
46
+ - DYNAMIC
47
+ Expect-Ct:
48
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
49
+ Server:
50
+ - cloudflare
51
+ Cf-Ray:
52
+ - 597e39fd5a7afa44-AMS
53
+ Cf-Request-Id:
54
+ - 02e2c292590000fa44c1a5f200000001
55
+ body:
56
+ encoding: ASCII-8BIT
57
+ string: '{"success":false,"error":{"code":107,"message":"You don''t have permission
58
+ to access this resource"}}'
59
+ http_version: null
60
+ recorded_at: Sat, 23 May 2020 10:52:17 GMT
61
+ recorded_with: VCR 5.1.0
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://vendors.paddle.com/api/2.0/subscription/3484448/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: vendor_auth_code&vendor_id=<VENDOR_ID>
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v1.0.1
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Sat, 23 May 2020 10:52:16 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Set-Cookie:
32
+ - __cfduid=d0861317302adabcf0b0c3ad9d209e7c61590231135; expires=Mon, 22-Jun-20
33
+ 10:52:15 GMT; path=/; domain=.paddle.com; HttpOnly; SameSite=Lax
34
+ - paddle_session_vendor=eyJpdiI6IjVTXC9cL2x4R0R3cXhGRmNUWVFSV3phVys2bXQzeXhaTjk4bjFsXC9pckRxMjg9IiwidmFsdWUiOiIzUWxRcE5YM2s1V0M1UDcrWGxWbzNcL3hUcUhDVE1vdVIzcTdIbFdtTnQ4TjR2dCtVUUN3UWVVdmU4ZitOSWlmdkE1eEdoWGhBUDdJSDRTMElPd2VITnc9PSIsIm1hYyI6IjVhOTk0NDI0MWMwMWI4OGE5M2QwMzVkMDFmZDZhMmMxZjFhZmYzZWU0OWFkNjc3NjM5ZDI4NjRkMGNhZjYzNmYifQ%3D%3D;
35
+ expires=Sat, 23-May-2020 12:52:15 GMT; Max-Age=7200; path=/; domain=vendors.paddle.com;
36
+ secure; HttpOnly;SameSite=none;Secure
37
+ X-Powered-By:
38
+ - PHP/7.2.31
39
+ Cache-Control:
40
+ - no-cache
41
+ X-Frame-Options:
42
+ - sameorigin
43
+ P3p:
44
+ - CP="CAO CUR ADMa DEVa TAIa OUR DELa STP ONL NAV STA PUR"
45
+ Cf-Cache-Status:
46
+ - DYNAMIC
47
+ Expect-Ct:
48
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
49
+ Server:
50
+ - cloudflare
51
+ Cf-Ray:
52
+ - 597e39f6b9adbdd2-AMS
53
+ Cf-Request-Id:
54
+ - 02e2c28e300000bdd2058ac200000001
55
+ body:
56
+ encoding: ASCII-8BIT
57
+ string: '{"success":false,"error":{"code":107,"message":"You don''t have permission
58
+ to access this resource"}}'
59
+ http_version: null
60
+ recorded_at: Sat, 23 May 2020 10:52:16 GMT
61
+ recorded_with: VCR 5.1.0
@@ -0,0 +1,62 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://vendors.paddle.com/api/2.0/user/17368056/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: vendor_auth_code=<VENDOR_AUTH_CODE>&vendor_id=<VENDOR_ID>
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v1.0.1
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Sat, 23 May 2020 10:55:14 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Set-Cookie:
32
+ - __cfduid=dcf2981dafe5d3d63c23225edafc86db81590231314; expires=Mon, 22-Jun-20
33
+ 10:55:14 GMT; path=/; domain=.paddle.com; HttpOnly; SameSite=Lax
34
+ - paddle_session_vendor=eyJpdiI6IjFEbFFqMjg5OGtadjVTSHlONzRSVEJSVnlOYmJhXC82VEhwM2k0UUxyenpFPSIsInZhbHVlIjoiZzZEVUhiT0hNTEdnUXNZc2prekdtT25aeldTc3VIOGZSZkVCYytYYTd4V2pKeTBPU1loWWZQcFlkcll3ZkVUUFFPRTJCeCtLOXROQVhZb3JoSDRkNEE9PSIsIm1hYyI6ImEwN2JmOTk4MzRiNDg3ZTYwMzQ4MjMxZDY2NjIwNzMxYjZhMmFmNzMzZjk0OTUyYzFkNzc2YzYxMGIyYmZmZGIifQ%3D%3D;
35
+ expires=Sat, 23-May-2020 12:55:14 GMT; Max-Age=7200; path=/; domain=vendors.paddle.com;
36
+ secure; HttpOnly;SameSite=none;Secure
37
+ X-Powered-By:
38
+ - PHP/7.2.31
39
+ Cache-Control:
40
+ - no-cache
41
+ X-Frame-Options:
42
+ - sameorigin
43
+ P3p:
44
+ - CP="CAO CUR ADMa DEVa TAIa OUR DELa STP ONL NAV STA PUR"
45
+ Cf-Cache-Status:
46
+ - DYNAMIC
47
+ Expect-Ct:
48
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
49
+ Server:
50
+ - cloudflare
51
+ Cf-Ray:
52
+ - 597e3e538a6172f3-AMS
53
+ Cf-Request-Id:
54
+ - 02e2c54830000072f3e7127200000001
55
+ body:
56
+ encoding: ASCII-8BIT
57
+ string: '{"success":true,"response":[{"order_id":"14854225-10710435","checkout_id":"57064784-chrec5910826421-58f0e94797","amount":"0.00","currency":"USD","status":"completed","created_at":"2020-05-23
58
+ 08:47:55","passthrough":null,"product_id":594469,"is_subscription":true,"is_one_off":false,"subscription":{"subscription_id":3484448,"status":"active"},"user":{"user_id":17368056,"email":"test@example.com","marketing_consent":false},"receipt_url":"https:\/\/my.paddle.com\/receipt\/14854225-10710435\/57063784-chrec5910826421-58f0e94697"},{"order_id":"14841377-10693223","checkout_id":"57013079-chre0d8968b883c-94b82a41db","amount":"0.00","currency":"USD","status":"completed","created_at":"2020-05-22
59
+ 16:21:39","passthrough":null,"product_id":594469,"is_subscription":true,"is_one_off":false,"subscription":{"subscription_id":3479984,"status":"deleted"},"user":{"user_id":17368056,"email":"test@example.com","marketing_consent":false},"receipt_url":"https:\/\/my.paddle.com\/receipt\/14841378-10693223\/57013179-chre0d8968b883c-94b82a31db"}]}'
60
+ http_version: null
61
+ recorded_at: Sat, 23 May 2020 10:55:14 GMT
62
+ recorded_with: VCR 5.1.0
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://vendors.paddle.com/api/2.0/user/17368056/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: vendor_auth_code=<VENDOR_AUTH_CODE>&vendor_id
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v1.0.1
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Sat, 23 May 2020 10:55:15 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Set-Cookie:
32
+ - __cfduid=d7a3d9389d7ff4d7ca4b28e8b0e6766dc1590231315; expires=Mon, 22-Jun-20
33
+ 10:55:15 GMT; path=/; domain=.paddle.com; HttpOnly; SameSite=Lax
34
+ - paddle_session_vendor=eyJpdiI6IjJjOCtoemRJcVVVNE9mNVRDNnVPTnJwTVAxWUd3bDdBcStPTEo1XC9VNktFPSIsInZhbHVlIjoiU2I2OWg2QnoreDdXVnNSVXN5WFM3d29KOU1XMXVQQ3c0NzlXMm1IZlUyeWJCT2F3NUI4SHo1Sml4MHdmN0NcLzNpc20zZldNa1ZVRzlFZ2RtVnJUWEZBPT0iLCJtYWMiOiIwM2VjYjY5NTUxMWRiOWM5MDcyYTc0MDg1ZDA5NjEyZGE1OGQ2ZTVjY2VkYTE1ZDc2YjQ1NGViYmRkNzlmNTgyIn0%3D;
35
+ expires=Sat, 23-May-2020 12:55:15 GMT; Max-Age=7200; path=/; domain=vendors.paddle.com;
36
+ secure; HttpOnly;SameSite=none;Secure
37
+ X-Powered-By:
38
+ - PHP/7.2.31
39
+ Cache-Control:
40
+ - no-cache
41
+ X-Frame-Options:
42
+ - sameorigin
43
+ P3p:
44
+ - CP="CAO CUR ADMa DEVa TAIa OUR DELa STP ONL NAV STA PUR"
45
+ Cf-Cache-Status:
46
+ - DYNAMIC
47
+ Expect-Ct:
48
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
49
+ Server:
50
+ - cloudflare
51
+ Cf-Ray:
52
+ - 597e3e588d08d8f9-AMS
53
+ Cf-Request-Id:
54
+ - 02e2c54b560000d8f9858ea200000001
55
+ body:
56
+ encoding: ASCII-8BIT
57
+ string: '{"success":false,"error":{"code":107,"message":"You don''t have permission
58
+ to access this resource"}}'
59
+ http_version: null
60
+ recorded_at: Sat, 23 May 2020 10:55:15 GMT
61
+ recorded_with: VCR 5.1.0
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://vendors.paddle.com/api/2.0/user/17368056/transactions
6
+ body:
7
+ encoding: UTF-8
8
+ string: vendor_auth_code&vendor_id=<VENDOR_ID>
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v1.0.1
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Sat, 23 May 2020 10:55:15 GMT
25
+ Content-Type:
26
+ - application/json
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Set-Cookie:
32
+ - __cfduid=d05655ffad2c7ac2931a98bcc58c4e4211590231314; expires=Mon, 22-Jun-20
33
+ 10:55:14 GMT; path=/; domain=.paddle.com; HttpOnly; SameSite=Lax
34
+ - paddle_session_vendor=eyJpdiI6IkpSNU81TmtyeHJKaklUYkdpZUpDNlBKdXBQNldvNHhYcWs4OWNYXC9SZXhjPSIsInZhbHVlIjoiYnBVVHVuT2RrcFhsQnpwSGNGSUlpWk5iUGtUalFQZStadDlrOW1IcGNDVVBPVmE5NDVzVklcL216d2tMVHluWlU3cHI5cUczV0U5cWpLNkJiUWhWTDJRPT0iLCJtYWMiOiJiMGE3OTFkY2U1YjM3OTU2MzA1ODdmMGI0MGEzYmViMThiY2IwNDE4YWQzMzFlMDZkNjg2ZjQzMmQxZjA1NDQwIn0%3D;
35
+ expires=Sat, 23-May-2020 12:55:15 GMT; Max-Age=7200; path=/; domain=vendors.paddle.com;
36
+ secure; HttpOnly;SameSite=none;Secure
37
+ X-Powered-By:
38
+ - PHP/7.2.31
39
+ Cache-Control:
40
+ - no-cache
41
+ X-Frame-Options:
42
+ - sameorigin
43
+ P3p:
44
+ - CP="CAO CUR ADMa DEVa TAIa OUR DELa STP ONL NAV STA PUR"
45
+ Cf-Cache-Status:
46
+ - DYNAMIC
47
+ Expect-Ct:
48
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
49
+ Server:
50
+ - cloudflare
51
+ Cf-Ray:
52
+ - 597e3e56abf10c15-AMS
53
+ Cf-Request-Id:
54
+ - 02e2c54a2700000c159fadc200000001
55
+ body:
56
+ encoding: ASCII-8BIT
57
+ string: '{"success":false,"error":{"code":107,"message":"You don''t have permission
58
+ to access this resource"}}'
59
+ http_version: null
60
+ recorded_at: Sat, 23 May 2020 10:55:15 GMT
61
+ recorded_with: VCR 5.1.0
metadata ADDED
@@ -0,0 +1,358 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: paddle_pay
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Nicolas Metzger
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-05-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: dotenv
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.7'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.7'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.8'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.8'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest-reporters
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.1'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: vcr
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '5.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '5.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: webmock
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: faraday
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: json
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '2.0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '2.0'
125
+ description: A Ruby wrapper for the paddle.com API
126
+ email:
127
+ executables: []
128
+ extensions: []
129
+ extra_rdoc_files: []
130
+ files:
131
+ - LICENSE
132
+ - README.md
133
+ - lib/paddle_pay.rb
134
+ - lib/paddle_pay/configuration.rb
135
+ - lib/paddle_pay/connection.rb
136
+ - lib/paddle_pay/errors/paddle_pay_error.rb
137
+ - lib/paddle_pay/models/alert/webhook.rb
138
+ - lib/paddle_pay/models/product/coupon.rb
139
+ - lib/paddle_pay/models/product/license.rb
140
+ - lib/paddle_pay/models/product/pay_link.rb
141
+ - lib/paddle_pay/models/product/payment.rb
142
+ - lib/paddle_pay/models/product/product.rb
143
+ - lib/paddle_pay/models/subscription/charge.rb
144
+ - lib/paddle_pay/models/subscription/modifier.rb
145
+ - lib/paddle_pay/models/subscription/payment.rb
146
+ - lib/paddle_pay/models/subscription/plan.rb
147
+ - lib/paddle_pay/models/subscription/user.rb
148
+ - lib/paddle_pay/models/transaction/checkout.rb
149
+ - lib/paddle_pay/models/transaction/order.rb
150
+ - lib/paddle_pay/models/transaction/product.rb
151
+ - lib/paddle_pay/models/transaction/subscription.rb
152
+ - lib/paddle_pay/models/transaction/user.rb
153
+ - lib/paddle_pay/util.rb
154
+ - lib/paddle_pay/version.rb
155
+ - test/spec/paddle_pay/configuration_spec.rb
156
+ - test/spec/paddle_pay/connection_spec.rb
157
+ - test/spec/paddle_pay/models/alert/webhook_spec.rb
158
+ - test/spec/paddle_pay/models/product/coupon_spec.rb
159
+ - test/spec/paddle_pay/models/product/license_spec.rb
160
+ - test/spec/paddle_pay/models/product/pay_link_spec.rb
161
+ - test/spec/paddle_pay/models/product/payment_spec.rb
162
+ - test/spec/paddle_pay/models/product/product_spec.rb
163
+ - test/spec/paddle_pay/models/subscription/charge_spec.rb
164
+ - test/spec/paddle_pay/models/subscription/modifier_spec.rb
165
+ - test/spec/paddle_pay/models/subscription/payment_spec.rb
166
+ - test/spec/paddle_pay/models/subscription/plan_spec.rb
167
+ - test/spec/paddle_pay/models/subscription/user_spec.rb
168
+ - test/spec/paddle_pay/models/transaction/checkout_spec.rb
169
+ - test/spec/paddle_pay/models/transaction/order_spec.rb
170
+ - test/spec/paddle_pay/models/transaction/product_spec.rb
171
+ - test/spec/paddle_pay/models/transaction/subscription_spec.rb
172
+ - test/spec/paddle_pay/models/transaction/user_spec.rb
173
+ - test/spec/paddle_pay/util_spec.rb
174
+ - test/spec/paddle_pay/version_spec.rb
175
+ - test/test_helper.rb
176
+ - test/vcr_cassettes/paddle_pay/alert/webhook/test_0001_should_list_all_webhooks.yml
177
+ - test/vcr_cassettes/paddle_pay/alert/webhook/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
178
+ - test/vcr_cassettes/paddle_pay/alert/webhook/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
179
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_list_all_coupons.yml
180
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_raise_an_error_if_the_coupon_deletion_is_invalid.yml
181
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_raise_an_error_if_the_coupon_is_invalid.yml
182
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_return_updated_0_if_the_coupon_group_update_is_invalid.yml
183
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_return_updated_0_if_the_coupon_update_is_invalid.yml
184
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
185
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_return_coupon_codes_if_the_coupon_is_valid.yml
186
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_return_success_if_the_coupon_deletion_is_valid.yml
187
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_return_updated_0_if_the_coupon_group_update_is_valid.yml
188
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_return_updated_0_if_the_coupon_update_is_valid.yml
189
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
190
+ - test/vcr_cassettes/paddle_pay/product/license/test_0001_should_raise_an_error_if_license_generation_request_is_invalid.yml
191
+ - test/vcr_cassettes/paddle_pay/product/license/test_0002_should_return_a_license_code_if_license_generation_request_is_valid.yml
192
+ - test/vcr_cassettes/paddle_pay/product/pay_link/test_0001_should_raise_an_error_if_pay_link_generation_request_is_invalid.yml
193
+ - test/vcr_cassettes/paddle_pay/product/pay_link/test_0002_should_return_an_url_if_pay_link_generation_request_is_valid.yml
194
+ - test/vcr_cassettes/paddle_pay/product/payment/test_0001_should_raise_an_error_if_the_payment_refund_is_invalid.yml
195
+ - test/vcr_cassettes/paddle_pay/product/payment/test_0002_should_return_success_if_the_payment_refund_is_valid.yml
196
+ - test/vcr_cassettes/paddle_pay/product/test_0001_should_list_all_products.yml
197
+ - test/vcr_cassettes/paddle_pay/product/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
198
+ - test/vcr_cassettes/paddle_pay/product/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
199
+ - test/vcr_cassettes/paddle_pay/subscription/charge/test_0001_should_raise_an_error_if_the_charge_is_invalid.yml
200
+ - test/vcr_cassettes/paddle_pay/subscription/charge/test_0002_should_return_invoice_id_if_the_charge_is_valid.yml
201
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0001_should_list_all_modifiers.yml
202
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0001_should_raise_an_error_if_the_modifier_deletion_is_invalid.yml
203
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0001_should_raise_an_error_if_the_modifier_is_invalid.yml
204
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
205
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0002_should_return_a_modifier_id_if_the_modifier_is_valid.yml
206
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0002_should_return_a_product_id_if_the_modifier_deletion_is_valid.yml
207
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
208
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0001_should_list_all_payments.yml
209
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0001_should_raise_an_error_if_the_payment_refund_is_invalid.yml
210
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0001_should_raise_an_error_if_the_payment_reschedule_is_invalid.yml
211
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
212
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0002_should_return_success_if_the_payment_refund_is_valid.yml
213
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0002_should_return_success_if_the_payment_reschedule_is_valid.yml
214
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
215
+ - test/vcr_cassettes/paddle_pay/subscription/plan/test_0001_should_list_all_plans.yml
216
+ - test/vcr_cassettes/paddle_pay/subscription/plan/test_0001_should_raise_an_error_if_the_plan_is_invalid.yml
217
+ - test/vcr_cassettes/paddle_pay/subscription/plan/test_0002_should_be_successful_if_the_plan_is_valid.yml
218
+ - test/vcr_cassettes/paddle_pay/subscription/plan/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
219
+ - test/vcr_cassettes/paddle_pay/subscription/plan/test_0002_should_return_a_product_id_if_the_plan_is_valid.yml
220
+ - test/vcr_cassettes/paddle_pay/subscription/plan/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
221
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0001_should_list_all_users.yml
222
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0001_should_raise_an_error_if_the_cancelation_is_invalid.yml
223
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0001_should_raise_an_error_if_the_subscription_update_is_invalid.yml
224
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0001_should_raise_an_error_if_the_subscription_update_preview_is_invalid.yml
225
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
226
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0002_should_return_a_subscription_id_if_the_subscription_update_is_valid.yml
227
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0002_should_return_a_subscription_id_if_the_subscription_update_preview_is_valid.yml
228
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0002_should_return_success_if_the_cancelation_is_valid.yml
229
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
230
+ - test/vcr_cassettes/paddle_pay/transaction/checkout/test_0001_should_list_all_checkouts.yml
231
+ - test/vcr_cassettes/paddle_pay/transaction/checkout/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
232
+ - test/vcr_cassettes/paddle_pay/transaction/checkout/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
233
+ - test/vcr_cassettes/paddle_pay/transaction/order/test_0001_should_list_all_orders.yml
234
+ - test/vcr_cassettes/paddle_pay/transaction/order/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
235
+ - test/vcr_cassettes/paddle_pay/transaction/order/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
236
+ - test/vcr_cassettes/paddle_pay/transaction/product/test_0001_should_list_all_products.yml
237
+ - test/vcr_cassettes/paddle_pay/transaction/product/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
238
+ - test/vcr_cassettes/paddle_pay/transaction/product/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
239
+ - test/vcr_cassettes/paddle_pay/transaction/subscription/test_0001_should_list_all_subscriptions.yml
240
+ - test/vcr_cassettes/paddle_pay/transaction/subscription/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
241
+ - test/vcr_cassettes/paddle_pay/transaction/subscription/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
242
+ - test/vcr_cassettes/paddle_pay/transaction/user/test_0001_should_list_all_users.yml
243
+ - test/vcr_cassettes/paddle_pay/transaction/user/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
244
+ - test/vcr_cassettes/paddle_pay/transaction/user/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
245
+ homepage: https://github.com/devmindo/paddle_pay
246
+ licenses:
247
+ - MIT
248
+ metadata: {}
249
+ post_install_message:
250
+ rdoc_options: []
251
+ require_paths:
252
+ - lib
253
+ required_ruby_version: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '2.4'
258
+ required_rubygems_version: !ruby/object:Gem::Requirement
259
+ requirements:
260
+ - - ">="
261
+ - !ruby/object:Gem::Version
262
+ version: '0'
263
+ requirements: []
264
+ rubygems_version: 3.1.2
265
+ signing_key:
266
+ specification_version: 4
267
+ summary: A Ruby wrapper for the paddle.com API
268
+ test_files:
269
+ - test/spec/paddle_pay/configuration_spec.rb
270
+ - test/spec/paddle_pay/version_spec.rb
271
+ - test/spec/paddle_pay/models/transaction/product_spec.rb
272
+ - test/spec/paddle_pay/models/transaction/checkout_spec.rb
273
+ - test/spec/paddle_pay/models/transaction/subscription_spec.rb
274
+ - test/spec/paddle_pay/models/transaction/order_spec.rb
275
+ - test/spec/paddle_pay/models/transaction/user_spec.rb
276
+ - test/spec/paddle_pay/models/alert/webhook_spec.rb
277
+ - test/spec/paddle_pay/models/product/product_spec.rb
278
+ - test/spec/paddle_pay/models/product/payment_spec.rb
279
+ - test/spec/paddle_pay/models/product/coupon_spec.rb
280
+ - test/spec/paddle_pay/models/product/license_spec.rb
281
+ - test/spec/paddle_pay/models/product/pay_link_spec.rb
282
+ - test/spec/paddle_pay/models/subscription/charge_spec.rb
283
+ - test/spec/paddle_pay/models/subscription/plan_spec.rb
284
+ - test/spec/paddle_pay/models/subscription/payment_spec.rb
285
+ - test/spec/paddle_pay/models/subscription/modifier_spec.rb
286
+ - test/spec/paddle_pay/models/subscription/user_spec.rb
287
+ - test/spec/paddle_pay/util_spec.rb
288
+ - test/spec/paddle_pay/connection_spec.rb
289
+ - test/vcr_cassettes/paddle_pay/transaction/order/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
290
+ - test/vcr_cassettes/paddle_pay/transaction/order/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
291
+ - test/vcr_cassettes/paddle_pay/transaction/order/test_0001_should_list_all_orders.yml
292
+ - test/vcr_cassettes/paddle_pay/transaction/user/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
293
+ - test/vcr_cassettes/paddle_pay/transaction/user/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
294
+ - test/vcr_cassettes/paddle_pay/transaction/user/test_0001_should_list_all_users.yml
295
+ - test/vcr_cassettes/paddle_pay/transaction/product/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
296
+ - test/vcr_cassettes/paddle_pay/transaction/product/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
297
+ - test/vcr_cassettes/paddle_pay/transaction/product/test_0001_should_list_all_products.yml
298
+ - test/vcr_cassettes/paddle_pay/transaction/checkout/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
299
+ - test/vcr_cassettes/paddle_pay/transaction/checkout/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
300
+ - test/vcr_cassettes/paddle_pay/transaction/checkout/test_0001_should_list_all_checkouts.yml
301
+ - test/vcr_cassettes/paddle_pay/transaction/subscription/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
302
+ - test/vcr_cassettes/paddle_pay/transaction/subscription/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
303
+ - test/vcr_cassettes/paddle_pay/transaction/subscription/test_0001_should_list_all_subscriptions.yml
304
+ - test/vcr_cassettes/paddle_pay/alert/webhook/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
305
+ - test/vcr_cassettes/paddle_pay/alert/webhook/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
306
+ - test/vcr_cassettes/paddle_pay/alert/webhook/test_0001_should_list_all_webhooks.yml
307
+ - test/vcr_cassettes/paddle_pay/product/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
308
+ - test/vcr_cassettes/paddle_pay/product/license/test_0002_should_return_a_license_code_if_license_generation_request_is_valid.yml
309
+ - test/vcr_cassettes/paddle_pay/product/license/test_0001_should_raise_an_error_if_license_generation_request_is_invalid.yml
310
+ - test/vcr_cassettes/paddle_pay/product/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
311
+ - test/vcr_cassettes/paddle_pay/product/test_0001_should_list_all_products.yml
312
+ - test/vcr_cassettes/paddle_pay/product/payment/test_0002_should_return_success_if_the_payment_refund_is_valid.yml
313
+ - test/vcr_cassettes/paddle_pay/product/payment/test_0001_should_raise_an_error_if_the_payment_refund_is_invalid.yml
314
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_return_success_if_the_coupon_deletion_is_valid.yml
315
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_list_all_coupons.yml
316
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
317
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
318
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_raise_an_error_if_the_coupon_deletion_is_invalid.yml
319
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_return_updated_0_if_the_coupon_group_update_is_valid.yml
320
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_raise_an_error_if_the_coupon_is_invalid.yml
321
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_return_coupon_codes_if_the_coupon_is_valid.yml
322
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_return_updated_0_if_the_coupon_update_is_invalid.yml
323
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0001_should_return_updated_0_if_the_coupon_group_update_is_invalid.yml
324
+ - test/vcr_cassettes/paddle_pay/product/coupon/test_0002_should_return_updated_0_if_the_coupon_update_is_valid.yml
325
+ - test/vcr_cassettes/paddle_pay/product/pay_link/test_0001_should_raise_an_error_if_pay_link_generation_request_is_invalid.yml
326
+ - test/vcr_cassettes/paddle_pay/product/pay_link/test_0002_should_return_an_url_if_pay_link_generation_request_is_valid.yml
327
+ - test/vcr_cassettes/paddle_pay/subscription/charge/test_0002_should_return_invoice_id_if_the_charge_is_valid.yml
328
+ - test/vcr_cassettes/paddle_pay/subscription/charge/test_0001_should_raise_an_error_if_the_charge_is_invalid.yml
329
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
330
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
331
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0001_should_raise_an_error_if_the_modifier_is_invalid.yml
332
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0002_should_return_a_product_id_if_the_modifier_deletion_is_valid.yml
333
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0001_should_list_all_modifiers.yml
334
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0002_should_return_a_modifier_id_if_the_modifier_is_valid.yml
335
+ - test/vcr_cassettes/paddle_pay/subscription/modifier/test_0001_should_raise_an_error_if_the_modifier_deletion_is_invalid.yml
336
+ - test/vcr_cassettes/paddle_pay/subscription/plan/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
337
+ - test/vcr_cassettes/paddle_pay/subscription/plan/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
338
+ - test/vcr_cassettes/paddle_pay/subscription/plan/test_0001_should_raise_an_error_if_the_plan_is_invalid.yml
339
+ - test/vcr_cassettes/paddle_pay/subscription/plan/test_0001_should_list_all_plans.yml
340
+ - test/vcr_cassettes/paddle_pay/subscription/plan/test_0002_should_return_a_product_id_if_the_plan_is_valid.yml
341
+ - test/vcr_cassettes/paddle_pay/subscription/plan/test_0002_should_be_successful_if_the_plan_is_valid.yml
342
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0002_should_return_success_if_the_payment_reschedule_is_valid.yml
343
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
344
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
345
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0001_should_raise_an_error_if_the_payment_reschedule_is_invalid.yml
346
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0001_should_list_all_payments.yml
347
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0002_should_return_success_if_the_payment_refund_is_valid.yml
348
+ - test/vcr_cassettes/paddle_pay/subscription/payment/test_0001_should_raise_an_error_if_the_payment_refund_is_invalid.yml
349
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0001_should_raise_an_error_if_the_subscription_update_is_invalid.yml
350
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0003_should_raise_an_error_if_no_vendor_auth_code_is_present.yml
351
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0002_should_raise_an_error_if_no_vendor_id_is_present.yml
352
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0002_should_return_success_if_the_cancelation_is_valid.yml
353
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0002_should_return_a_subscription_id_if_the_subscription_update_preview_is_valid.yml
354
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0002_should_return_a_subscription_id_if_the_subscription_update_is_valid.yml
355
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0001_should_list_all_users.yml
356
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0001_should_raise_an_error_if_the_subscription_update_preview_is_invalid.yml
357
+ - test/vcr_cassettes/paddle_pay/subscription/user/test_0001_should_raise_an_error_if_the_cancelation_is_invalid.yml
358
+ - test/test_helper.rb