iyzipay-subscriptions 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +12 -0
- data/.rspec +2 -0
- data/.ruby-gemset +1 -0
- data/.travis.yml +17 -0
- data/Gemfile +6 -0
- data/LICENSE +21 -0
- data/README.md +183 -0
- data/Rakefile +5 -0
- data/VERSION +1 -0
- data/contributors +2 -0
- data/examples/options.rb +4 -0
- data/examples/plan.rb +36 -0
- data/examples/product.rb +32 -0
- data/examples/subscription.rb +33 -0
- data/examples/subscription_checkout_form_initialize.rb +39 -0
- data/examples/subscription_initialize.rb +47 -0
- data/gemfiles/Gemfile.nokogiri-1.6.8.1 +7 -0
- data/iyzipay.gemspec +24 -0
- data/lib/iyzipay.rb +16 -0
- data/lib/iyzipay/http_client.rb +39 -0
- data/lib/iyzipay/iyzipay_resource.rb +60 -0
- data/lib/iyzipay/iyzipay_resource_v2.rb +39 -0
- data/lib/iyzipay/model.rb +63 -0
- data/lib/iyzipay/model/address.rb +17 -0
- data/lib/iyzipay/model/api_test.rb +10 -0
- data/lib/iyzipay/model/approval.rb +17 -0
- data/lib/iyzipay/model/basic_bkm.rb +17 -0
- data/lib/iyzipay/model/basic_bkm_initialize.rb +24 -0
- data/lib/iyzipay/model/basic_payment.rb +27 -0
- data/lib/iyzipay/model/basic_payment_post_auth.rb +20 -0
- data/lib/iyzipay/model/basic_payment_pre_auth.rb +27 -0
- data/lib/iyzipay/model/basic_threeds_initialize.rb +27 -0
- data/lib/iyzipay/model/basic_threeds_initialize_pre_auth.rb +27 -0
- data/lib/iyzipay/model/basic_threeds_payment.rb +18 -0
- data/lib/iyzipay/model/basket.rb +26 -0
- data/lib/iyzipay/model/basket_item_type.rb +8 -0
- data/lib/iyzipay/model/bin_number.rb +17 -0
- data/lib/iyzipay/model/bkm.rb +17 -0
- data/lib/iyzipay/model/bkm_initialize.rb +26 -0
- data/lib/iyzipay/model/bounced_bank_transfer_list.rb +17 -0
- data/lib/iyzipay/model/buyer.rb +25 -0
- data/lib/iyzipay/model/cancel.rb +20 -0
- data/lib/iyzipay/model/card.rb +36 -0
- data/lib/iyzipay/model/card_information.rb +17 -0
- data/lib/iyzipay/model/card_list.rb +17 -0
- data/lib/iyzipay/model/checkout_form.rb +17 -0
- data/lib/iyzipay/model/checkout_form_initialize.rb +31 -0
- data/lib/iyzipay/model/checkout_form_initialize_pre_auth.rb +30 -0
- data/lib/iyzipay/model/cross_booking_from_sub_merchant.rb +20 -0
- data/lib/iyzipay/model/cross_booking_to_sub_merchant.rb +20 -0
- data/lib/iyzipay/model/currency.rb +11 -0
- data/lib/iyzipay/model/disapproval.rb +17 -0
- data/lib/iyzipay/model/installment_details.rb +19 -0
- data/lib/iyzipay/model/installment_info.rb +18 -0
- data/lib/iyzipay/model/installment_prices.rb +19 -0
- data/lib/iyzipay/model/locale.rb +8 -0
- data/lib/iyzipay/model/pay_with_iyzico_initialize.rb +31 -0
- data/lib/iyzipay/model/pay_with_iyzico_retrieve.rb +17 -0
- data/lib/iyzipay/model/payment.rb +47 -0
- data/lib/iyzipay/model/payment_card.rb +22 -0
- data/lib/iyzipay/model/payment_channel.rb +14 -0
- data/lib/iyzipay/model/payment_group.rb +9 -0
- data/lib/iyzipay/model/payment_post_auth.rb +20 -0
- data/lib/iyzipay/model/payment_pre_auth.rb +47 -0
- data/lib/iyzipay/model/payout_completed_transaction_list.rb +17 -0
- data/lib/iyzipay/model/pecco_initialize.rb +27 -0
- data/lib/iyzipay/model/pecco_payment.rb +17 -0
- data/lib/iyzipay/model/refund.rb +22 -0
- data/lib/iyzipay/model/refund_charged_from_merchant.rb +20 -0
- data/lib/iyzipay/model/refund_reason.rb +10 -0
- data/lib/iyzipay/model/refund_to_balance.rb +18 -0
- data/lib/iyzipay/model/settlement_to_balance.rb +19 -0
- data/lib/iyzipay/model/sub_merchant.rb +72 -0
- data/lib/iyzipay/model/sub_merchant_type.rb +9 -0
- data/lib/iyzipay/model/threeds_initialize.rb +32 -0
- data/lib/iyzipay/model/threeds_initialize_pre_auth.rb +32 -0
- data/lib/iyzipay/model/threeds_payment.rb +34 -0
- data/lib/iyzipay/model/v2/checkout_form.rb +20 -0
- data/lib/iyzipay/model/v2/checkout_form_initialize.rb +21 -0
- data/lib/iyzipay/model/v2/plan.rb +33 -0
- data/lib/iyzipay/model/v2/product.rb +39 -0
- data/lib/iyzipay/model/v2/subscription.rb +60 -0
- data/lib/iyzipay/model/v2/subscription_initialize.rb +21 -0
- data/lib/iyzipay/options.rb +7 -0
- data/lib/iyzipay/pki_builder.rb +101 -0
- data/spec/api_test_spec.rb +28 -0
- data/spec/approval_spec.rb +41 -0
- data/spec/bin_number_spec.rb +42 -0
- data/spec/bkm_spec.rb +91 -0
- data/spec/builder.rb +9 -0
- data/spec/builder/approval_builder.rb +18 -0
- data/spec/builder/card_builder.rb +27 -0
- data/spec/builder/checkout_form_builder.rb +75 -0
- data/spec/builder/payment_builder.rb +167 -0
- data/spec/builder/pecco_initialize_builder.rb +74 -0
- data/spec/builder/sub_merchant_builder.rb +91 -0
- data/spec/cancel_spec.rb +72 -0
- data/spec/card_storage_spec.rb +153 -0
- data/spec/checkout_form_spec.rb +113 -0
- data/spec/disapproval_spec.rb +47 -0
- data/spec/installment_spec.rb +46 -0
- data/spec/pay_with_iyzico_spec.rb +109 -0
- data/spec/payment_spec.rb +320 -0
- data/spec/pecco_spec.rb +116 -0
- data/spec/refund_spec.rb +76 -0
- data/spec/refund_to_balance_spec.rb +37 -0
- data/spec/retrieve_transactions_spec.rb +55 -0
- data/spec/settlement_to_balance_spec.rb +40 -0
- data/spec/spec_helper.rb +81 -0
- data/spec/spec_options.rb +5 -0
- data/spec/sub_merchant_spec.rb +227 -0
- data/spec/threeds_payment_spec.rb +229 -0
- metadata +226 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4e89a67851fd68dc371024c471c0c828f5b000d8cea48f8730fdd91f09f23182
|
4
|
+
data.tar.gz: f1f038874f64ca016f541edf22e45050ed73af65c4cc2d0eca3c638e75e59ad3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 037b90fe08242963d4a08234728d96697c0a965ae3bab108a14eaa70e22983b0af1a57c5729bc5295bf4a6fac249138ed01553f414e4bd908c884a718487b08a
|
7
|
+
data.tar.gz: aaec9508529eeb8cbe3734c4919745a998f565ef3d760c2e20b096c3f166e21efae89f5f1c0171f3d2768ce8de1240055c01184467810cb546e25cb398b7481d
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
iyzipay
|
data/.travis.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
language: ruby
|
2
|
+
|
3
|
+
rvm:
|
4
|
+
- 2.1
|
5
|
+
- 2.2
|
6
|
+
- 2.3
|
7
|
+
- 2.4
|
8
|
+
deploy:
|
9
|
+
provider: rubygems
|
10
|
+
api_key:
|
11
|
+
secure: oyTMpNUPMM2ExVpmXHCHrMc04aCgMcp0gJwhcDHlTyy7HpJBHZS3abBUCOxQOtBj7RKir7BkMFH+XoQz2OoIt//2+S9yBDTf1Nt15KkcXvJq9fIXSiHgiqnQnnZTuE5M2LE287lqO3mGXcJvTaosxO6Wh9K6K6pA0nSOt7DE4foG53MfjX4no1aazrlIDGqZYO4Ml8cHqph02Kp2U5N/+f5V3EfhYp9QshGa3AeUx+gIcXaIbh2v9fz1mEYA3qPFL4Yi9c36p9tqwhPe62pEYBmo9pDziSShIoGZiWMAKFS8qJXXHlWFAYmt9tFLmSNyiiWl35JPjU7Wz5wC9xQHP/o3ZsIT23/UrI0xBZxtTA0eqoeNRERAUN5kARqhKM4UMWyp4ss7+gA69B6zO58HGu/8ZPVn7zQ6yhSrMSTU03DOl3z05koS5YDNLBDKv903jeNO54j31OMlNXht7ugLTP+DNO35vTitzUvxzvOCpVAGuqoYABfATweVMYRUYf+3m6ypBlEC3k3Z2WLaez2FFEfIZXikhVzjWrxiaKfMdzc2XRgr8Ea3KxPmOeYN4gULGZXQaZJ37xQKTRyAkCbt0G/xi2L4q5bDP9NuvRjeijKGtyarshIpOdb9nTEVm8C43+H3mq2Y9Dwtv9dl5DoNYcJjJMiJv1hbldthlInPTqo=
|
12
|
+
gem: iyzipay
|
13
|
+
on:
|
14
|
+
tags: true
|
15
|
+
repo: iyzico/iyzipay-ruby
|
16
|
+
skip_cleanup: true
|
17
|
+
script: rspec spec
|
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2016 - iyzico Ödeme Hizmetleri A.Ş. (https://iyzico.com)
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,183 @@
|
|
1
|
+
# iyzipay-ruby
|
2
|
+
|
3
|
+
[![Build Status](https://travis-ci.org/iyzico/iyzipay-ruby.svg?branch=master)](https://travis-ci.org/iyzico/iyzipay-ruby)
|
4
|
+
|
5
|
+
You can sign up for an iyzico account at https://iyzico.com
|
6
|
+
|
7
|
+
# Requirements
|
8
|
+
|
9
|
+
* Ruby 2.1 or newer
|
10
|
+
* rest-client
|
11
|
+
|
12
|
+
## Note
|
13
|
+
|
14
|
+
Ruby 1.9.3 will not be supported in March 2018 for TLS 1.2 migration. Please upgrade your Ruby version to minimum 2.1.0. If you have any questions, please open an issue on Github or contact us at integration@iyzico.com.
|
15
|
+
|
16
|
+
# Installation
|
17
|
+
|
18
|
+
gem install iyzipay
|
19
|
+
|
20
|
+
## Bundler
|
21
|
+
|
22
|
+
``` ruby
|
23
|
+
source 'https://rubygems.org'
|
24
|
+
|
25
|
+
gem 'iyzipay'
|
26
|
+
|
27
|
+
```
|
28
|
+
|
29
|
+
# Usage
|
30
|
+
|
31
|
+
```ruby
|
32
|
+
|
33
|
+
before :all do
|
34
|
+
@options = Iyzipay::Options.new
|
35
|
+
@options.api_key = 'your api key'
|
36
|
+
@options.secret_key = 'your secret key'
|
37
|
+
@options.base_url = 'https://sandbox-api.iyzipay.com'
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'should create payment' do
|
41
|
+
payment_card = {
|
42
|
+
cardHolderName: 'John Doe',
|
43
|
+
cardNumber: '5528790000000008',
|
44
|
+
expireYear: '2030',
|
45
|
+
expireMonth: '12',
|
46
|
+
cvc: '123',
|
47
|
+
registerCard: 0
|
48
|
+
}
|
49
|
+
buyer = {
|
50
|
+
id: 'BY789',
|
51
|
+
name: 'John',
|
52
|
+
surname: 'Doe',
|
53
|
+
identityNumber: '74300864791',
|
54
|
+
email: 'email@email.com',
|
55
|
+
gsmNumber: '+905350000000',
|
56
|
+
registrationDate: '2013-04-21 15:12:09',
|
57
|
+
lastLoginDate: '2015-10-05 12:43:35',
|
58
|
+
registrationAddress: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
|
59
|
+
city: 'Istanbul',
|
60
|
+
country: 'Turkey',
|
61
|
+
zipCode: '34732',
|
62
|
+
ip: '85.34.78.112'
|
63
|
+
}
|
64
|
+
address = {
|
65
|
+
address: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
|
66
|
+
zipCode: '34732',
|
67
|
+
contactName: 'John Doe',
|
68
|
+
city: 'Istanbul',
|
69
|
+
country: 'Turkey'
|
70
|
+
}
|
71
|
+
|
72
|
+
item1 = {
|
73
|
+
id: 'BI101',
|
74
|
+
name: 'Binocular',
|
75
|
+
category1: 'Collectibles',
|
76
|
+
category2: 'Accessories',
|
77
|
+
itemType: Iyzipay::Model::BasketItemType::PHYSICAL,
|
78
|
+
price: '0.3'
|
79
|
+
}
|
80
|
+
item2 = {
|
81
|
+
id: 'BI102',
|
82
|
+
name: 'Game code',
|
83
|
+
category1: 'Game',
|
84
|
+
category2: 'Online Game Items',
|
85
|
+
itemType: Iyzipay::Model::BasketItemType::VIRTUAL,
|
86
|
+
price: '0.5'
|
87
|
+
}
|
88
|
+
item3 = {
|
89
|
+
id: 'BI103',
|
90
|
+
name: 'Usb',
|
91
|
+
category1: 'Electronics',
|
92
|
+
category2: 'Usb / Cable',
|
93
|
+
itemType: Iyzipay::Model::BasketItemType::PHYSICAL,
|
94
|
+
price: '0.2'
|
95
|
+
}
|
96
|
+
request = {
|
97
|
+
locale: Iyzipay::Model::Locale::TR,
|
98
|
+
conversationId: '123456789',
|
99
|
+
price: '1.0',
|
100
|
+
paidPrice: '1.1',
|
101
|
+
installment: 1,
|
102
|
+
paymentChannel: Iyzipay::Model::PaymentChannel::WEB,
|
103
|
+
basketId: 'B67832',
|
104
|
+
paymentGroup: Iyzipay::Model::PaymentGroup::SUBSCRIPTION,
|
105
|
+
currency: Iyzipay::Model::Currency::TRY,
|
106
|
+
paymentCard: payment_card,
|
107
|
+
buyer: buyer,
|
108
|
+
billingAddress: address,
|
109
|
+
shippingAddress: address,
|
110
|
+
basketItems: [item1, item2, item3]
|
111
|
+
}
|
112
|
+
payment = Iyzipay::Model::Payment.new.create(request, @options)
|
113
|
+
begin
|
114
|
+
$stderr.puts payment.inspect
|
115
|
+
rescue
|
116
|
+
$stderr.puts 'oops'
|
117
|
+
raise
|
118
|
+
end
|
119
|
+
end
|
120
|
+
```
|
121
|
+
See other samples under iyzipay-ruby/spec module.
|
122
|
+
|
123
|
+
Testing
|
124
|
+
=======
|
125
|
+
|
126
|
+
You can run specs with RSpec under spec module.
|
127
|
+
|
128
|
+
### Mock test cards
|
129
|
+
|
130
|
+
Test cards that can be used to simulate a *successful* payment:
|
131
|
+
|
132
|
+
Card Number | Bank | Card Type
|
133
|
+
----------- | ---- | ---------
|
134
|
+
5890040000000016 | Akbank | Master Card (Debit)
|
135
|
+
5526080000000006 | Akbank | Master Card (Credit)
|
136
|
+
4766620000000001 | Denizbank | Visa (Debit)
|
137
|
+
4603450000000000 | Denizbank | Visa (Credit)
|
138
|
+
4729150000000005 | Denizbank Bonus | Visa (Credit)
|
139
|
+
4987490000000002 | Finansbank | Visa (Debit)
|
140
|
+
5311570000000005 | Finansbank | Master Card (Credit)
|
141
|
+
9792020000000001 | Finansbank | Troy (Debit)
|
142
|
+
9792030000000000 | Finansbank | Troy (Credit)
|
143
|
+
5170410000000004 | Garanti Bankası | Master Card (Debit)
|
144
|
+
5400360000000003 | Garanti Bankası | Master Card (Credit)
|
145
|
+
374427000000003 | Garanti Bankası | American Express
|
146
|
+
4475050000000003 | Halkbank | Visa (Debit)
|
147
|
+
5528790000000008 | Halkbank | Master Card (Credit)
|
148
|
+
4059030000000009 | HSBC Bank | Visa (Debit)
|
149
|
+
5504720000000003 | HSBC Bank | Master Card (Credit)
|
150
|
+
5892830000000000 | Türkiye İş Bankası | Master Card (Debit)
|
151
|
+
4543590000000006 | Türkiye İş Bankası | Visa (Credit)
|
152
|
+
4910050000000006 | Vakıfbank | Visa (Debit)
|
153
|
+
4157920000000002 | Vakıfbank | Visa (Credit)
|
154
|
+
5168880000000002 | Yapı ve Kredi Bankası | Master Card (Debit)
|
155
|
+
5451030000000000 | Yapı ve Kredi Bankası | Master Card (Credit)
|
156
|
+
|
157
|
+
*Cross border* test cards:
|
158
|
+
|
159
|
+
Card Number | Country
|
160
|
+
----------- | -------
|
161
|
+
4054180000000007 | Non-Turkish (Debit)
|
162
|
+
5400010000000004 | Non-Turkish (Credit)
|
163
|
+
|
164
|
+
Test cards to get specific *error* codes:
|
165
|
+
|
166
|
+
Card Number | Description
|
167
|
+
----------- | -----------
|
168
|
+
5406670000000009 | Success but cannot be cancelled, refund or post auth
|
169
|
+
4111111111111129 | Not sufficient funds
|
170
|
+
4129111111111111 | Do not honour
|
171
|
+
4128111111111112 | Invalid transaction
|
172
|
+
4127111111111113 | Lost card
|
173
|
+
4126111111111114 | Stolen card
|
174
|
+
4125111111111115 | Expired card
|
175
|
+
4124111111111116 | Invalid cvc2
|
176
|
+
4123111111111117 | Not permitted to card holder
|
177
|
+
4122111111111118 | Not permitted to terminal
|
178
|
+
4121111111111119 | Fraud suspect
|
179
|
+
4120111111111110 | Pickup card
|
180
|
+
4130111111111118 | General error
|
181
|
+
4131111111111117 | Success but mdStatus is 0
|
182
|
+
4141111111111115 | Success but mdStatus is 4
|
183
|
+
4151111111111112 | 3dsecure initialize failed
|
data/Rakefile
ADDED
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.0.45
|
data/contributors
ADDED
data/examples/options.rb
ADDED
data/examples/plan.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'iyzipay'
|
2
|
+
require_relative 'options.rb'
|
3
|
+
|
4
|
+
# -------------------------------------------------------------
|
5
|
+
# -------------------------------------------------------------
|
6
|
+
# Subscription Plan API end-point
|
7
|
+
# -------------------------------------------------------------
|
8
|
+
# -------------------------------------------------------------
|
9
|
+
plan = Iyzipay::Model::V2::Plan.new
|
10
|
+
# Create new plan
|
11
|
+
plan_create_params = {
|
12
|
+
locale: Iyzipay::Model::Locale::TR,
|
13
|
+
conversationId: '12341234',
|
14
|
+
productReferenceCode: 'YOUR_PRODUCT_REFERENCE_CODE',
|
15
|
+
name: 'Plan Name',
|
16
|
+
price: 100.00,
|
17
|
+
currencyCode: 'TL',
|
18
|
+
paymentInterval: 'MONTHLY',
|
19
|
+
paymentIntervalCount: 1,
|
20
|
+
trialPeriodDays: 7,
|
21
|
+
planPaymentType: 'RECURRING'
|
22
|
+
}
|
23
|
+
result = plan.create(plan_create_params, @options)
|
24
|
+
puts "Plan create: #{result}"
|
25
|
+
|
26
|
+
# Update plan
|
27
|
+
plan_update_params = {
|
28
|
+
locale: Iyzipay::Model::Locale::TR,
|
29
|
+
conversationId: '12341234',
|
30
|
+
pricingPlanReferenceCode: 'YOUR_PRICING_PLAN_REFERENCE_CODE',
|
31
|
+
name: 'Update Plan',
|
32
|
+
trialPeriodDays: 3,
|
33
|
+
}
|
34
|
+
|
35
|
+
result = plan.update(plan_update_params, @options)
|
36
|
+
puts "Plan update: #{result}"
|
data/examples/product.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'iyzipay'
|
2
|
+
require_relative 'options.rb'
|
3
|
+
|
4
|
+
# -------------------------------------------------------------
|
5
|
+
# -------------------------------------------------------------
|
6
|
+
# Subscription Product API end-point
|
7
|
+
# -------------------------------------------------------------
|
8
|
+
# -------------------------------------------------------------
|
9
|
+
product = Iyzipay::Model::V2::Product.new
|
10
|
+
# List all products
|
11
|
+
result = product.list(@options)
|
12
|
+
puts "Product list: #{result.inspect}"
|
13
|
+
|
14
|
+
# Create new product
|
15
|
+
product_create_params = {
|
16
|
+
locale: Iyzipay::Model::Locale::TR,
|
17
|
+
conversationId: '12341234',
|
18
|
+
name: 'New Product',
|
19
|
+
description: 'My Product'
|
20
|
+
}
|
21
|
+
result = product.create(product_create_params, @options)
|
22
|
+
puts "Product create: #{result}"
|
23
|
+
|
24
|
+
# Update product
|
25
|
+
product_update_params = {
|
26
|
+
locale: Iyzipay::Model::Locale::TR,
|
27
|
+
productReferenceCode: 'YOUR_PRODUCT_REFERENCE_CODE',
|
28
|
+
name: 'Update Product',
|
29
|
+
description: 'My Product'
|
30
|
+
}
|
31
|
+
result = product.update(product_update_params, @options)
|
32
|
+
puts "Product update: #{result}"
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'iyzipay'
|
2
|
+
require_relative 'options.rb'
|
3
|
+
|
4
|
+
# -------------------------------------------------------------
|
5
|
+
# -------------------------------------------------------------
|
6
|
+
# Subscription Operations API end-point
|
7
|
+
# -------------------------------------------------------------
|
8
|
+
# -------------------------------------------------------------
|
9
|
+
subscription = Iyzipay::Model::V2::Subscription.new
|
10
|
+
|
11
|
+
# Activate
|
12
|
+
activate_params = {
|
13
|
+
subscriptionReferenceCode: 'YOUR_CODE',
|
14
|
+
}
|
15
|
+
response = subscription.activate(activate_params, @options)
|
16
|
+
puts "Subscription activate: #{response}"
|
17
|
+
|
18
|
+
# Cancel
|
19
|
+
cancel_params = {
|
20
|
+
locale: Iyzipay::Model::Locale::TR,
|
21
|
+
conversationId: '1234512345',
|
22
|
+
subscriptionReferenceCode: 'YOUR_CODE'
|
23
|
+
}
|
24
|
+
response = subscription.cancel(cancel_params, @options)
|
25
|
+
puts "Subscription cancel: #{response}"
|
26
|
+
|
27
|
+
# Retry
|
28
|
+
retry_params = {
|
29
|
+
referenceCode: 'YOUR_CODE'
|
30
|
+
}
|
31
|
+
|
32
|
+
result = subscription.retry(retry_params, @options)
|
33
|
+
puts "Subscription retry: #{result}"
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'iyzipay'
|
2
|
+
require_relative 'options.rb'
|
3
|
+
|
4
|
+
# -------------------------------------------------------------
|
5
|
+
# -------------------------------------------------------------
|
6
|
+
# Subscription Checkout Form API end-point
|
7
|
+
# -------------------------------------------------------------
|
8
|
+
# -------------------------------------------------------------
|
9
|
+
checkout_form = Iyzipay::Model::V2::CheckoutFormInitialize.new
|
10
|
+
|
11
|
+
# Address Params
|
12
|
+
address = {
|
13
|
+
address: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
|
14
|
+
zipCode: '34732',
|
15
|
+
contactName: 'John Doe',
|
16
|
+
city: 'Istanbul',
|
17
|
+
country: 'Turkey'
|
18
|
+
}
|
19
|
+
|
20
|
+
buyer = {
|
21
|
+
name: 'John',
|
22
|
+
surname: 'Doe',
|
23
|
+
email: 'john.doe@gmail.com',
|
24
|
+
gsmNumber: '+905555555555',
|
25
|
+
identityNumber: '16038567668',
|
26
|
+
billingAddress: address,
|
27
|
+
shippingAddress: address
|
28
|
+
}
|
29
|
+
# Checkout form initialize params
|
30
|
+
checkout_form_params = {
|
31
|
+
locale: Iyzipay::Model::Locale::TR,
|
32
|
+
conversationId: '1234512345',
|
33
|
+
callbackUrl: 'YOUR_CALLBACK_URL',
|
34
|
+
pricingPlanReferenceCode: 'YOUR_PRICING_PLAN_REFERENCE_CODE',
|
35
|
+
customer: buyer
|
36
|
+
}
|
37
|
+
|
38
|
+
result = checkout_form.create(checkout_form_params, @options)
|
39
|
+
puts "Result: #{result}"
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'iyzipay'
|
2
|
+
require_relative 'options.rb'
|
3
|
+
|
4
|
+
# -------------------------------------------------------------
|
5
|
+
# -------------------------------------------------------------
|
6
|
+
# Subscription Initialize API end-point
|
7
|
+
# -------------------------------------------------------------
|
8
|
+
# -------------------------------------------------------------
|
9
|
+
subscription = Iyzipay::Model::V2::SubscriptionInitialize.new
|
10
|
+
# Address
|
11
|
+
address = {
|
12
|
+
address: 'Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1',
|
13
|
+
zipCode: '34732',
|
14
|
+
contactName: 'John Doe',
|
15
|
+
city: 'Istanbul',
|
16
|
+
country: 'Turkey'
|
17
|
+
}
|
18
|
+
|
19
|
+
buyer = {
|
20
|
+
name: 'John',
|
21
|
+
surname: 'Doe',
|
22
|
+
email: 'john.doe@gmail.com',
|
23
|
+
gsmNumber: '+905422073160',
|
24
|
+
identityNumber: '16038567668',
|
25
|
+
billingAddress: address,
|
26
|
+
shippingAddress: address
|
27
|
+
}
|
28
|
+
# Card
|
29
|
+
card = {
|
30
|
+
cardHolderName: 'John Doe',
|
31
|
+
cardNumber: '5528790000000008',
|
32
|
+
expireMonth: '12',
|
33
|
+
expireYear: '2030',
|
34
|
+
cvc: '123',
|
35
|
+
registerConsumerCard: true
|
36
|
+
}
|
37
|
+
# Create new product
|
38
|
+
checkout_form_params = {
|
39
|
+
locale: Iyzipay::Model::Locale::TR,
|
40
|
+
conversationId: '1234512345',
|
41
|
+
callbackUrl: 'https://iyzipay-subscription.herokuapp.com/subscriptions/callback',
|
42
|
+
pricingPlanReferenceCode: 'YOUR_PRICING_PLAN_REFERENCE_CODE',
|
43
|
+
customer: buyer,
|
44
|
+
paymentCard: card
|
45
|
+
}
|
46
|
+
result = subscription.create(checkout_form_params, @options)
|
47
|
+
puts "Subscription create: #{result}"
|