Version Description
- Added a new filter hook to allow overriding of the display_name field when adding a member via the admin interface.
- Added a new filter hook to allow overriding of the account status value when a subscription renewal payment comes in. The filter name is: swpm_account_status_for_subscription_start_date_update
- Added slovenian language translation file to the plugin.
- The {membership_level_name} email merge tag will now work for the "Notify User" feature that can be used when editing a member's profile (from the admin dashboard).
- Updated the Dutch translation file.
- Fixed the positioning of the validation result message for the username field in the "Add New Member" interface.
Download this release
Release Info
Developer | mra13 |
Plugin | Simple Membership |
Version | 4.0.5 |
Comparing to | |
See all releases |
Code changes from version 4.0.1 to 4.0.5
- classes/class-swpm-member-subscriptions.php +172 -0
- classes/class.simple-wp-membership.php +8 -7
- classes/class.swpm-admin-registration.php +27 -14
- classes/class.swpm-auth.php +3 -1
- classes/class.swpm-front-registration.php +15 -15
- classes/class.swpm-members.php +27 -15
- classes/class.swpm-membership-levels.php +28 -26
- classes/class.swpm-registration.php +4 -0
- classes/class.swpm-self-action-handler.php +23 -18
- classes/class.swpm-utils-member.php +40 -0
- classes/class.swpm-utils-misc.php +2 -0
- classes/class.swpm-utils.php +17 -23
- classes/class.swpm-wp-loaded-tasks.php +59 -0
- classes/shortcode-related/class.swpm-shortcodes-handler.php +226 -185
- css/swpm.common.css +2 -1
- ipn/swpm-stripe-sca-buy-now-ipn.php +3 -0
- ipn/swpm_handle_pp_ipn.php +18 -0
- ipn/swpm_handle_subsc_ipn.php +3 -1
- languages/simple-membership-es_ES.mo +0 -0
- languages/simple-membership-es_ES.po +17 -10
- languages/simple-membership-fr_FR.mo +0 -0
- languages/simple-membership-fr_FR.po +461 -0
- languages/simple-membership-nl_NL.mo +0 -0
- languages/simple-membership-nl_NL.po +41 -26
- languages/simple-membership-sl_SI.mo +0 -0
- languages/simple-membership-sl_SI.po +3021 -0
- languages/simple-membership-sv_SE.mo +0 -0
- languages/simple-membership-sv_SE.po +3070 -2293
- languages/simple-membership.pot +12 -0
- lib/stripe-gateway/CHANGELOG.md +723 -295
- lib/stripe-gateway/CODE_OF_CONDUCT.md +77 -0
- lib/stripe-gateway/Makefile +36 -0
- lib/stripe-gateway/README.md +29 -24
- lib/stripe-gateway/VERSION +1 -1
- lib/stripe-gateway/build.php +10 -21
- lib/stripe-gateway/composer.json +17 -6
- lib/stripe-gateway/data/ca-certificates.crt +546 -716
- lib/stripe-gateway/init.php +132 -125
- lib/stripe-gateway/lib/Account.php +265 -228
- lib/stripe-gateway/lib/AccountLink.php +11 -7
- lib/stripe-gateway/lib/AlipayAccount.php +27 -23
- lib/stripe-gateway/lib/ApiOperations/All.php +10 -7
- lib/stripe-gateway/lib/ApiOperations/Create.php +6 -3
- lib/stripe-gateway/lib/ApiOperations/Delete.php +6 -3
- lib/stripe-gateway/lib/ApiOperations/NestedResource.php +35 -18
- lib/stripe-gateway/lib/ApiOperations/Request.php +15 -8
- lib/stripe-gateway/lib/ApiOperations/Retrieve.php +6 -3
- lib/stripe-gateway/lib/ApiOperations/Update.php +13 -7
- lib/stripe-gateway/lib/ApiRequestor.php +117 -150
- lib/stripe-gateway/lib/ApiResource.php +29 -21
- lib/stripe-gateway/lib/ApiResponse.php +19 -8
- lib/stripe-gateway/lib/ApplePayDomain.php +6 -4
- lib/stripe-gateway/lib/ApplicationFee.php +43 -52
- lib/stripe-gateway/lib/ApplicationFeeRefund.php +25 -20
- lib/stripe-gateway/lib/Balance.php +22 -10
- lib/stripe-gateway/lib/BalanceTransaction.php +50 -49
- lib/stripe-gateway/lib/BankAccount.php +69 -48
- lib/stripe-gateway/lib/BitcoinReceiver.php +35 -14
- lib/stripe-gateway/lib/BitcoinTransaction.php +8 -4
- lib/stripe-gateway/lib/Capability.php +38 -35
- lib/stripe-gateway/lib/Card.php +71 -60
- lib/stripe-gateway/lib/Charge.php +110 -173
- lib/stripe-gateway/lib/Checkout/Session.php +41 -24
- lib/stripe-gateway/lib/Collection.php +179 -25
- lib/stripe-gateway/lib/CountrySpec.php +14 -11
- lib/stripe-gateway/lib/Coupon.php +22 -19
- lib/stripe-gateway/lib/CreditNote.php +74 -39
- lib/stripe-gateway/lib/CreditNoteLineItem.php +23 -0
- lib/stripe-gateway/lib/Customer.php +148 -194
- lib/stripe-gateway/lib/CustomerBalanceTransaction.php +56 -43
- lib/stripe-gateway/lib/Discount.php +2 -4
- lib/stripe-gateway/lib/Dispute.php +52 -49
- lib/stripe-gateway/lib/EphemeralKey.php +18 -17
- lib/stripe-gateway/lib/ErrorObject.php +161 -0
- lib/stripe-gateway/lib/Event.php +187 -151
- lib/stripe-gateway/lib/Exception/ApiConnectionException.php +12 -0
- lib/stripe-gateway/lib/Exception/ApiErrorException.php +219 -0
- lib/stripe-gateway/lib/Exception/AuthenticationException.php +11 -0
- lib/stripe-gateway/lib/Exception/BadMethodCallException.php +7 -0
- lib/stripe-gateway/lib/Exception/CardException.php +84 -0
- lib/stripe-gateway/lib/Exception/ExceptionInterface.php +22 -0
- lib/stripe-gateway/lib/Exception/IdempotencyException.php +11 -0
- lib/stripe-gateway/lib/Exception/InvalidArgumentException.php +7 -0
- lib/stripe-gateway/lib/Exception/InvalidRequestException.php +60 -0
- lib/stripe-gateway/lib/Exception/OAuth/ExceptionInterface.php +10 -0
- lib/stripe-gateway/lib/Exception/OAuth/InvalidClientException.php +12 -0
- lib/stripe-gateway/lib/Exception/OAuth/InvalidGrantException.php +13 -0
- lib/stripe-gateway/lib/Exception/OAuth/InvalidRequestException.php +11 -0
- lib/stripe-gateway/lib/Exception/OAuth/InvalidScopeException.php +10 -0
- lib/stripe-gateway/lib/Exception/OAuth/OAuthErrorException.php +19 -0
- lib/stripe-gateway/lib/Exception/OAuth/UnknownOAuthErrorException.php +12 -0
- lib/stripe-gateway/lib/Exception/OAuth/UnsupportedGrantTypeException.php +11 -0
- lib/stripe-gateway/lib/Exception/OAuth/UnsupportedResponseTypeException.php +11 -0
- lib/stripe-gateway/lib/Exception/PermissionException.php +11 -0
- lib/stripe-gateway/lib/Exception/RateLimitException.php +12 -0
- lib/stripe-gateway/lib/Exception/SignatureVerificationException.php +74 -0
- lib/stripe-gateway/lib/Exception/UnexpectedValueException.php +7 -0
- lib/stripe-gateway/lib/Exception/UnknownApiErrorException.php +12 -0
- lib/stripe-gateway/lib/ExchangeRate.php +15 -3
- lib/stripe-gateway/lib/File.php +34 -27
- lib/stripe-gateway/lib/FileLink.php +13 -13
- lib/stripe-gateway/lib/HttpClient/ClientInterface.php +7 -6
- lib/stripe-gateway/lib/HttpClient/CurlClient.php +209 -123
- lib/stripe-gateway/lib/Invoice.php +171 -119
- lib/stripe-gateway/lib/InvoiceItem.php +29 -22
- lib/stripe-gateway/lib/InvoiceLineItem.php +20 -23
- lib/stripe-gateway/lib/Issuing/Authorization.php +53 -35
- lib/stripe-gateway/lib/Issuing/Card.php +33 -26
- lib/stripe-gateway/lib/Issuing/CardDetails.php +2 -4
- lib/stripe-gateway/lib/Issuing/Cardholder.php +23 -14
- lib/stripe-gateway/lib/Issuing/Dispute.php +19 -14
- lib/stripe-gateway/lib/Issuing/Transaction.php +24 -20
- lib/stripe-gateway/lib/LoginLink.php +4 -8
- lib/stripe-gateway/lib/Mandate.php +25 -0
- lib/stripe-gateway/lib/OAuth.php +25 -17
- lib/stripe-gateway/lib/OAuthErrorObject.php +31 -0
- lib/stripe-gateway/lib/Order.php +51 -35
- lib/stripe-gateway/lib/OrderItem.php +2 -4
- lib/stripe-gateway/lib/OrderReturn.php +16 -12
- lib/stripe-gateway/lib/PaymentIntent.php +78 -61
- lib/stripe-gateway/lib/PaymentMethod.php +36 -21
- lib/stripe-gateway/lib/Payout.php +55 -60
- lib/stripe-gateway/lib/Person.php +55 -57
- lib/stripe-gateway/lib/Plan.php +30 -22
- lib/stripe-gateway/lib/Product.php +31 -27
- lib/stripe-gateway/lib/Radar/EarlyFraudWarning.php +19 -20
- lib/stripe-gateway/lib/Radar/ValueList.php +16 -15
- lib/stripe-gateway/lib/Radar/ValueListItem.php +13 -10
- lib/stripe-gateway/lib/Recipient.php +28 -30
- lib/stripe-gateway/lib/RecipientTransfer.php +4 -6
- lib/stripe-gateway/lib/Refund.php +33 -37
- lib/stripe-gateway/lib/Reporting/ReportRun.php +20 -13
- lib/stripe-gateway/lib/Reporting/ReportType.php +18 -10
- lib/stripe-gateway/lib/RequestTelemetry.php +3 -4
- lib/stripe-gateway/lib/Review.php +34 -27
- lib/stripe-gateway/lib/SKU.php +25 -17
- lib/stripe-gateway/lib/SetupIntent.php +75 -38
- lib/stripe-gateway/lib/Sigma/ScheduledQueryRun.php +18 -16
- lib/stripe-gateway/lib/SingletonApiResource.php +7 -7
- lib/stripe-gateway/lib/Source.php +74 -73
classes/class-swpm-member-subscriptions.php
ADDED
@@ -0,0 +1,172 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class SWPM_Member_Subscriptions {
|
4 |
+
|
5 |
+
private $active_statuses = array( 'trialing', 'active' );
|
6 |
+
private $active_subs_count = 0;
|
7 |
+
private $subs_count = 0;
|
8 |
+
private $subs = array();
|
9 |
+
private $member_id;
|
10 |
+
|
11 |
+
public function __construct( $member_id ) {
|
12 |
+
|
13 |
+
$this->member_id = $member_id;
|
14 |
+
|
15 |
+
$subscr_id = SwpmMemberUtils::get_member_field_by_id( $member_id, 'subscr_id' );
|
16 |
+
|
17 |
+
$query_args = array(
|
18 |
+
'post_type' => 'swpm_transactions',
|
19 |
+
'meta_query' => array(
|
20 |
+
'relation' => 'AND',
|
21 |
+
array(
|
22 |
+
'relation' => 'OR',
|
23 |
+
array(
|
24 |
+
'key' => 'member_id',
|
25 |
+
'value' => $member_id,
|
26 |
+
'compare' => '=',
|
27 |
+
),
|
28 |
+
array(
|
29 |
+
'key' => 'subscr_id',
|
30 |
+
'value' => $subscr_id,
|
31 |
+
'compare' => '=',
|
32 |
+
),
|
33 |
+
),
|
34 |
+
array(
|
35 |
+
'key' => 'gateway',
|
36 |
+
'value' => 'stripe-sca-subs',
|
37 |
+
'compare' => '=',
|
38 |
+
),
|
39 |
+
),
|
40 |
+
);
|
41 |
+
|
42 |
+
$found_subs = new WP_Query( $query_args );
|
43 |
+
|
44 |
+
$this->subs_count = $found_subs->post_count;
|
45 |
+
|
46 |
+
foreach ( $found_subs->posts as $found_sub ) {
|
47 |
+
$sub = array();
|
48 |
+
$post_id = $found_sub->ID;
|
49 |
+
$sub['post_id'] = $post_id;
|
50 |
+
$sub_id = get_post_meta( $post_id, 'subscr_id', true );
|
51 |
+
|
52 |
+
$sub['sub_id'] = $sub_id;
|
53 |
+
|
54 |
+
$status = get_post_meta( $post_id, 'subscr_status', true );
|
55 |
+
|
56 |
+
$sub['status'] = $status;
|
57 |
+
|
58 |
+
if ( $this->is_active( $status ) ) {
|
59 |
+
$this->active_subs_count++;
|
60 |
+
}
|
61 |
+
|
62 |
+
$cancel_token = get_post_meta( $post_id, 'subscr_cancel_token', true );
|
63 |
+
|
64 |
+
if ( empty( $cancel_token ) ) {
|
65 |
+
$cancel_token = md5( $post_id . $sub_id . uniqid() );
|
66 |
+
update_post_meta( $post_id, 'subscr_cancel_token', $cancel_token );
|
67 |
+
}
|
68 |
+
|
69 |
+
$sub['cancel_token'] = $cancel_token;
|
70 |
+
|
71 |
+
$is_live = get_post_meta( $post_id, 'is_live', true );
|
72 |
+
$is_live = empty( $is_live ) ? false : true;
|
73 |
+
$sub['is_live'] = $is_live;
|
74 |
+
|
75 |
+
$sub['payment_button_id'] = get_post_meta( $post_id, 'payment_button_id', true );
|
76 |
+
|
77 |
+
$this->subs[ $sub_id ] = $sub;
|
78 |
+
}
|
79 |
+
|
80 |
+
$this->recheck_status_if_needed();
|
81 |
+
|
82 |
+
}
|
83 |
+
|
84 |
+
public function get_active_subs_count() {
|
85 |
+
return $this->active_subs_count;
|
86 |
+
}
|
87 |
+
|
88 |
+
public function is_active( $status ) {
|
89 |
+
return in_array( $status, $this->active_statuses, true );
|
90 |
+
}
|
91 |
+
|
92 |
+
private function recheck_status_if_needed() {
|
93 |
+
foreach ( $this->subs as $sub_id => $sub ) {
|
94 |
+
if ( ! empty( $sub['status'] ) ) {
|
95 |
+
continue;
|
96 |
+
}
|
97 |
+
try {
|
98 |
+
$api_keys = SwpmMiscUtils::get_stripe_api_keys_from_payment_button( $sub['payment_button_id'], $sub['is_live'] );
|
99 |
+
|
100 |
+
SwpmMiscUtils::load_stripe_lib();
|
101 |
+
|
102 |
+
\Stripe\Stripe::setApiKey( $api_keys['secret'] );
|
103 |
+
|
104 |
+
$stripe_sub = \Stripe\Subscription::retrieve( $sub_id );
|
105 |
+
|
106 |
+
$this->subs[ $sub_id ]['status'] = $stripe_sub['status'];
|
107 |
+
|
108 |
+
if ( $this->is_active( $stripe_sub['status'] ) ) {
|
109 |
+
$this->active_subs_count++;
|
110 |
+
}
|
111 |
+
|
112 |
+
update_post_meta( $sub['post_id'], 'subscr_status', $stripe_sub['status'] );
|
113 |
+
} catch ( \Exception $e ) {
|
114 |
+
return false;
|
115 |
+
}
|
116 |
+
}
|
117 |
+
}
|
118 |
+
|
119 |
+
public function get_stripe_subs_cancel_url( $args, $sub_id = false ) {
|
120 |
+
if ( empty( $this->active_subs_count ) ) {
|
121 |
+
return SwpmUtils::_( 'No active subscriptions' );
|
122 |
+
}
|
123 |
+
if ( false === $sub_id ) {
|
124 |
+
$sub_id = array_key_first( $this->subs );
|
125 |
+
}
|
126 |
+
$sub = $this->subs[ $sub_id ];
|
127 |
+
|
128 |
+
$token = $sub['cancel_token'];
|
129 |
+
|
130 |
+
$nonce = wp_nonce_field( $token, 'swpm_cancel_sub_nonce', false, false );
|
131 |
+
|
132 |
+
$anchor_text = isset( $args['anchor_text'] ) ? $args['anchor_text'] : SwpmUtils::_( 'Cancel Subscription' );
|
133 |
+
$out = '<form method="POST">%s<input type="hidden" name="swpm_cancel_sub_token" value="%s"></input>
|
134 |
+
<button type="submit" name="swpm_do_cancel_sub" value="1" onclick="return confirm(\'' . esc_js( SwpmUtils::_( 'Are you sure that you want to cancel the subscription?' ) ) . '\');">' . $anchor_text . '</button></form>';
|
135 |
+
|
136 |
+
$out = sprintf( $out, $nonce, $token );
|
137 |
+
|
138 |
+
return $out;
|
139 |
+
}
|
140 |
+
|
141 |
+
public function find_by_token( $token ) {
|
142 |
+
foreach ( $this->subs as $sub_id => $sub ) {
|
143 |
+
if ( $sub['cancel_token'] === $token ) {
|
144 |
+
return $sub;
|
145 |
+
}
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
public function cancel( $sub_id ) {
|
150 |
+
$sub = $this->subs[ $sub_id ];
|
151 |
+
|
152 |
+
try {
|
153 |
+
$api_keys = SwpmMiscUtils::get_stripe_api_keys_from_payment_button( $sub['payment_button_id'], $sub['is_live'] );
|
154 |
+
|
155 |
+
SwpmMiscUtils::load_stripe_lib();
|
156 |
+
|
157 |
+
\Stripe\Stripe::setApiKey( $api_keys['secret'] );
|
158 |
+
|
159 |
+
$stripe_sub = \Stripe\Subscription::retrieve( $sub_id );
|
160 |
+
|
161 |
+
if ( $this->is_active( $stripe_sub['status'] ) ) {
|
162 |
+
$stripe_sub->cancel();
|
163 |
+
}
|
164 |
+
|
165 |
+
update_post_meta( $sub['post_id'], 'subscr_status', $stripe_sub['status'] );
|
166 |
+
} catch ( \Exception $e ) {
|
167 |
+
return $e->getMessage();
|
168 |
+
}
|
169 |
+
return true;
|
170 |
+
}
|
171 |
+
|
172 |
+
}
|
classes/class.simple-wp-membership.php
CHANGED
@@ -31,6 +31,7 @@ include_once('class.swpm-permission-collection.php');
|
|
31 |
include_once('class.swpm-auth-permission-collection.php');
|
32 |
include_once('class.swpm-transactions.php');
|
33 |
include_once('shortcode-related/class.swpm-shortcodes-handler.php');
|
|
|
34 |
|
35 |
class SimpleWpMembership {
|
36 |
|
@@ -637,9 +638,9 @@ class SimpleWpMembership {
|
|
637 |
//Only loaded on selective swpm admin menu page rendering.
|
638 |
$this->common_library();
|
639 |
wp_enqueue_script('password-strength-meter');
|
640 |
-
wp_enqueue_script('swpm.password-meter', SIMPLE_WP_MEMBERSHIP_URL . '/js/swpm.password-meter.js', array('jquery'));
|
641 |
//jQuery UI style
|
642 |
-
wp_register_style('swpm-jquery-ui', SIMPLE_WP_MEMBERSHIP_URL . '/css/jquery-ui.min.css');
|
643 |
wp_enqueue_style('swpm-jquery-ui');
|
644 |
wp_enqueue_script('jquery-ui-datepicker');
|
645 |
$settings = array('statusChangeEmailHead' => SwpmSettings::get_instance()->get_value('account-change-email-subject'),
|
@@ -653,14 +654,14 @@ class SimpleWpMembership {
|
|
653 |
|
654 |
private function common_library() {
|
655 |
wp_enqueue_script('jquery');
|
656 |
-
wp_enqueue_style('swpm.common', SIMPLE_WP_MEMBERSHIP_URL . '/css/swpm.common.css');
|
657 |
|
658 |
//In order to not clog WP with scripts and styles we're only using with forms, let's just register those for now
|
659 |
//Scripts will be queued when forms are actually displayed
|
660 |
-
wp_register_style('validationEngine.jquery', SIMPLE_WP_MEMBERSHIP_URL . '/css/validationEngine.jquery.css');
|
661 |
-
wp_register_script('jquery.validationEngine', SIMPLE_WP_MEMBERSHIP_URL . '/js/jquery.validationEngine.js', array('jquery'));
|
662 |
-
wp_register_script('jquery.validationEngine-en', SIMPLE_WP_MEMBERSHIP_URL . '/js/jquery.validationEngine-en.js', array('jquery'));
|
663 |
-
wp_register_script('swpm.validationEngine-localization', SIMPLE_WP_MEMBERSHIP_URL . '/js/swpm.validationEngine-localization.js', array('jquery'));
|
664 |
}
|
665 |
|
666 |
public static function enqueue_validation_scripts($add_params = array()) {
|
31 |
include_once('class.swpm-auth-permission-collection.php');
|
32 |
include_once('class.swpm-transactions.php');
|
33 |
include_once('shortcode-related/class.swpm-shortcodes-handler.php');
|
34 |
+
include_once('class-swpm-member-subscriptions.php');
|
35 |
|
36 |
class SimpleWpMembership {
|
37 |
|
638 |
//Only loaded on selective swpm admin menu page rendering.
|
639 |
$this->common_library();
|
640 |
wp_enqueue_script('password-strength-meter');
|
641 |
+
wp_enqueue_script('swpm.password-meter', SIMPLE_WP_MEMBERSHIP_URL . '/js/swpm.password-meter.js', array('jquery'), SIMPLE_WP_MEMBERSHIP_VER);
|
642 |
//jQuery UI style
|
643 |
+
wp_register_style('swpm-jquery-ui', SIMPLE_WP_MEMBERSHIP_URL . '/css/jquery-ui.min.css', array(), SIMPLE_WP_MEMBERSHIP_VER);
|
644 |
wp_enqueue_style('swpm-jquery-ui');
|
645 |
wp_enqueue_script('jquery-ui-datepicker');
|
646 |
$settings = array('statusChangeEmailHead' => SwpmSettings::get_instance()->get_value('account-change-email-subject'),
|
654 |
|
655 |
private function common_library() {
|
656 |
wp_enqueue_script('jquery');
|
657 |
+
wp_enqueue_style('swpm.common', SIMPLE_WP_MEMBERSHIP_URL . '/css/swpm.common.css', array(), SIMPLE_WP_MEMBERSHIP_VER);
|
658 |
|
659 |
//In order to not clog WP with scripts and styles we're only using with forms, let's just register those for now
|
660 |
//Scripts will be queued when forms are actually displayed
|
661 |
+
wp_register_style('validationEngine.jquery', SIMPLE_WP_MEMBERSHIP_URL . '/css/validationEngine.jquery.css', array(), SIMPLE_WP_MEMBERSHIP_VER);
|
662 |
+
wp_register_script('jquery.validationEngine', SIMPLE_WP_MEMBERSHIP_URL . '/js/jquery.validationEngine.js', array('jquery'), SIMPLE_WP_MEMBERSHIP_VER);
|
663 |
+
wp_register_script('jquery.validationEngine-en', SIMPLE_WP_MEMBERSHIP_URL . '/js/jquery.validationEngine-en.js', array('jquery'), SIMPLE_WP_MEMBERSHIP_VER);
|
664 |
+
wp_register_script('swpm.validationEngine-localization', SIMPLE_WP_MEMBERSHIP_URL . '/js/swpm.validationEngine-localization.js', array('jquery'), SIMPLE_WP_MEMBERSHIP_VER);
|
665 |
}
|
666 |
|
667 |
public static function enqueue_validation_scripts($add_params = array()) {
|
classes/class.swpm-admin-registration.php
CHANGED
@@ -29,18 +29,24 @@ class SwpmAdminRegistration extends SwpmRegistration {
|
|
29 |
$member = SwpmTransfer::$default_fields;
|
30 |
$form = new SwpmForm( $member );
|
31 |
if ( $form->is_valid() ) {
|
32 |
-
$member_info
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
34 |
$member_info['account_state'] = $account_status;
|
35 |
-
$plain_password
|
36 |
unset( $member_info['plain_password'] );
|
|
|
37 |
$wpdb->insert( $wpdb->prefix . 'swpm_members_tbl', $member_info );
|
38 |
|
39 |
//Register to WordPress
|
40 |
-
$query
|
41 |
-
$wp_user_info
|
42 |
$wp_user_info['user_nicename'] = implode( '-', explode( ' ', $member_info['user_name'] ) );
|
43 |
-
$wp_user_info['display_name'] = $member_info['user_name'];
|
44 |
$wp_user_info['user_email'] = $member_info['email'];
|
45 |
$wp_user_info['nickname'] = $member_info['user_name'];
|
46 |
if ( isset( $member_info['first_name'] ) ) {
|
@@ -115,7 +121,7 @@ class SwpmAdminRegistration extends SwpmRegistration {
|
|
115 |
$wpdb->update( $wpdb->prefix . 'swpm_members_tbl', $member, array( 'member_id' => $id ) );
|
116 |
// set previous membership level
|
117 |
$member['prev_membership_level'] = $prev_level;
|
118 |
-
$member['member_id']
|
119 |
|
120 |
//Trigger action hook
|
121 |
do_action( 'swpm_admin_end_edit_complete_user_data', $member );
|
@@ -156,13 +162,20 @@ class SwpmAdminRegistration extends SwpmRegistration {
|
|
156 |
$body = filter_input( INPUT_POST, 'notificationmailbody' );
|
157 |
$settings->set_value( 'account-change-email-body', $body )->set_value( 'account-change-email-subject', $subject )->save();
|
158 |
$member['login_link'] = $settings->get_value( 'login-page-url' );
|
159 |
-
$member['user_name']
|
160 |
-
$member['password']
|
161 |
-
$values
|
162 |
-
$keys
|
163 |
-
$body
|
164 |
-
|
165 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
SwpmMiscUtils::mail( $email_address, $subject, $body, $headers );
|
167 |
SwpmLog::log_simple_debug( 'Notify email sent (after profile edit from admin side). Email sent to: ' . $email_address, true );
|
168 |
}
|
29 |
$member = SwpmTransfer::$default_fields;
|
30 |
$form = new SwpmForm( $member );
|
31 |
if ( $form->is_valid() ) {
|
32 |
+
$member_info = $form->get_sanitized_member_form_data();
|
33 |
+
|
34 |
+
//First, check if email or username belongs to an existing admin user. Bail if it does.
|
35 |
+
SwpmMemberUtils::check_and_die_if_email_belongs_to_admin_user($member_info['email']);
|
36 |
+
SwpmMemberUtils::check_and_die_if_username_belongs_to_admin_user($member_info['user_name']);
|
37 |
+
|
38 |
+
$account_status = SwpmSettings::get_instance()->get_value( 'default-account-status', 'active' );
|
39 |
$member_info['account_state'] = $account_status;
|
40 |
+
$plain_password = $member_info['plain_password'];
|
41 |
unset( $member_info['plain_password'] );
|
42 |
+
//Create SWPM member entry
|
43 |
$wpdb->insert( $wpdb->prefix . 'swpm_members_tbl', $member_info );
|
44 |
|
45 |
//Register to WordPress
|
46 |
+
$query = $wpdb->prepare( 'SELECT role FROM ' . $wpdb->prefix . 'swpm_membership_tbl WHERE id = %d', $member_info['membership_level'] );
|
47 |
+
$wp_user_info = array();
|
48 |
$wp_user_info['user_nicename'] = implode( '-', explode( ' ', $member_info['user_name'] ) );
|
49 |
+
$wp_user_info['display_name'] = apply_filters( 'swpm_admin_end_registration_display_name', $member_info['user_name'] );
|
50 |
$wp_user_info['user_email'] = $member_info['email'];
|
51 |
$wp_user_info['nickname'] = $member_info['user_name'];
|
52 |
if ( isset( $member_info['first_name'] ) ) {
|
121 |
$wpdb->update( $wpdb->prefix . 'swpm_members_tbl', $member, array( 'member_id' => $id ) );
|
122 |
// set previous membership level
|
123 |
$member['prev_membership_level'] = $prev_level;
|
124 |
+
$member['member_id'] = $id;
|
125 |
|
126 |
//Trigger action hook
|
127 |
do_action( 'swpm_admin_end_edit_complete_user_data', $member );
|
162 |
$body = filter_input( INPUT_POST, 'notificationmailbody' );
|
163 |
$settings->set_value( 'account-change-email-body', $body )->set_value( 'account-change-email-subject', $subject )->save();
|
164 |
$member['login_link'] = $settings->get_value( 'login-page-url' );
|
165 |
+
$member['user_name'] = $user_name;
|
166 |
+
$member['password'] = empty( $plain_password ) ? SwpmUtils::_( 'Your current password' ) : $plain_password;
|
167 |
+
$values = array_values( $member );
|
168 |
+
$keys = array_map( 'swpm_enclose_var', array_keys( $member ) );
|
169 |
+
$body = html_entity_decode( str_replace( $keys, $values, $body ) );
|
170 |
+
|
171 |
+
//Do the standard email merge tag replacement.
|
172 |
+
$body = SwpmMiscUtils::replace_dynamic_tags( $body, $id );
|
173 |
+
|
174 |
+
//Trigger the filter hooks
|
175 |
+
$subject = apply_filters( 'swpm_email_account_status_change_subject', $subject );
|
176 |
+
$body = apply_filters( 'swpm_email_account_status_change_body', $body );
|
177 |
+
|
178 |
+
//Send the email
|
179 |
SwpmMiscUtils::mail( $email_address, $subject, $body, $headers );
|
180 |
SwpmLog::log_simple_debug( 'Notify email sent (after profile edit from admin side). Email sent to: ' . $email_address, true );
|
181 |
}
|
classes/class.swpm-auth.php
CHANGED
@@ -370,8 +370,10 @@ class SwpmAuth {
|
|
370 |
$user_id = $this->get( 'member_id' );
|
371 |
$subscr_id = $this->get( 'subscr_id' );
|
372 |
$email = $this->get( 'email' );
|
373 |
-
|
374 |
$this->logout();
|
|
|
|
|
375 |
SwpmMembers::delete_swpm_user_by_id( $user_id );
|
376 |
SwpmMembers::delete_wp_user( $user_name );
|
377 |
}
|
370 |
$user_id = $this->get( 'member_id' );
|
371 |
$subscr_id = $this->get( 'subscr_id' );
|
372 |
$email = $this->get( 'email' );
|
373 |
+
|
374 |
$this->logout();
|
375 |
+
wp_clear_auth_cookie();
|
376 |
+
|
377 |
SwpmMembers::delete_swpm_user_by_id( $user_id );
|
378 |
SwpmMembers::delete_wp_user( $user_name );
|
379 |
}
|
classes/class.swpm-front-registration.php
CHANGED
@@ -68,13 +68,13 @@ class SwpmFrontRegistration extends SwpmRegistration {
|
|
68 |
}
|
69 |
|
70 |
//Handle the registration form in core plugin
|
71 |
-
$
|
72 |
-
$membership_level = $
|
73 |
if ( empty( $membership_level ) ) {
|
74 |
return 'Error! Failed to retrieve membership level ID from the membership info object.';
|
75 |
}
|
76 |
-
$level_identifier
|
77 |
-
$membership_level_alias
|
78 |
$swpm_registration_submit = filter_input( INPUT_POST, 'swpm_registration_submit' );
|
79 |
if ( ! empty( $swpm_registration_submit ) ) {
|
80 |
$member = array_map( 'sanitize_text_field', $_POST );
|
@@ -169,6 +169,10 @@ class SwpmFrontRegistration extends SwpmRegistration {
|
|
169 |
);
|
170 |
} else {
|
171 |
$login_page_url = SwpmSettings::get_instance()->get_value( 'login-page-url' );
|
|
|
|
|
|
|
|
|
172 |
$after_rego_msg = '<div class="swpm-registration-success-msg">' . SwpmUtils::_( 'Registration Successful. ' ) . SwpmUtils::_( 'Please' ) . ' <a href="' . $login_page_url . '">' . SwpmUtils::_( 'Login' ) . '</a></div>';
|
173 |
$after_rego_msg = apply_filters( 'swpm_registration_success_msg', $after_rego_msg );
|
174 |
$message = array(
|
@@ -198,17 +202,7 @@ class SwpmFrontRegistration extends SwpmRegistration {
|
|
198 |
$member_info = $form->get_sanitized_member_form_data();
|
199 |
|
200 |
//Check if the email belongs to an existing wp user account with admin role.
|
201 |
-
|
202 |
-
if ( $wp_user_id ) {
|
203 |
-
//A wp user account exist with this email.
|
204 |
-
//Check if the user has admin role.
|
205 |
-
$admin_user = SwpmMemberUtils::wp_user_has_admin_role( $wp_user_id );
|
206 |
-
if ( $admin_user ) {
|
207 |
-
//This email belongs to an admin user. Update is not allowed on admin users. Show error message then exit.
|
208 |
-
$error_msg = '<p>This email address (' . $member_info['email'] . ') belongs to an admin user. This email cannot be used to register a new account on this site.</p>';
|
209 |
-
wp_die( $error_msg );
|
210 |
-
}
|
211 |
-
}
|
212 |
|
213 |
//Go ahead and create the SWPM user record.
|
214 |
$free_level = SwpmUtils::get_free_level();
|
@@ -441,6 +435,9 @@ class SwpmFrontRegistration extends SwpmRegistration {
|
|
441 |
public function email_activation() {
|
442 |
$login_page_url = SwpmSettings::get_instance()->get_value( 'login-page-url' );
|
443 |
|
|
|
|
|
|
|
444 |
$member_id = FILTER_INPUT( INPUT_GET, 'swpm_member_id', FILTER_SANITIZE_NUMBER_INT );
|
445 |
|
446 |
$member = SwpmMemberUtils::get_user_by_id( $member_id );
|
@@ -491,6 +488,9 @@ class SwpmFrontRegistration extends SwpmRegistration {
|
|
491 |
public function resend_activation_email() {
|
492 |
$login_page_url = SwpmSettings::get_instance()->get_value( 'login-page-url' );
|
493 |
|
|
|
|
|
|
|
494 |
$member_id = FILTER_INPUT( INPUT_GET, 'swpm_member_id', FILTER_SANITIZE_NUMBER_INT );
|
495 |
|
496 |
$member = SwpmMemberUtils::get_user_by_id( $member_id );
|
68 |
}
|
69 |
|
70 |
//Handle the registration form in core plugin
|
71 |
+
$membership_info = SwpmPermission::get_instance( $membership_level );
|
72 |
+
$membership_level = $membership_info->get( 'id' );
|
73 |
if ( empty( $membership_level ) ) {
|
74 |
return 'Error! Failed to retrieve membership level ID from the membership info object.';
|
75 |
}
|
76 |
+
$level_identifier = md5( $membership_level );
|
77 |
+
$membership_level_alias = $membership_info->get( 'alias' );
|
78 |
$swpm_registration_submit = filter_input( INPUT_POST, 'swpm_registration_submit' );
|
79 |
if ( ! empty( $swpm_registration_submit ) ) {
|
80 |
$member = array_map( 'sanitize_text_field', $_POST );
|
169 |
);
|
170 |
} else {
|
171 |
$login_page_url = SwpmSettings::get_instance()->get_value( 'login-page-url' );
|
172 |
+
|
173 |
+
// Allow hooks to change the value of login_page_url
|
174 |
+
$login_page_url = apply_filters('swpm_register_front_end_login_page_url', $login_page_url);
|
175 |
+
|
176 |
$after_rego_msg = '<div class="swpm-registration-success-msg">' . SwpmUtils::_( 'Registration Successful. ' ) . SwpmUtils::_( 'Please' ) . ' <a href="' . $login_page_url . '">' . SwpmUtils::_( 'Login' ) . '</a></div>';
|
177 |
$after_rego_msg = apply_filters( 'swpm_registration_success_msg', $after_rego_msg );
|
178 |
$message = array(
|
202 |
$member_info = $form->get_sanitized_member_form_data();
|
203 |
|
204 |
//Check if the email belongs to an existing wp user account with admin role.
|
205 |
+
SwpmMemberUtils::check_and_die_if_email_belongs_to_admin_user($member_info['email']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
|
207 |
//Go ahead and create the SWPM user record.
|
208 |
$free_level = SwpmUtils::get_free_level();
|
435 |
public function email_activation() {
|
436 |
$login_page_url = SwpmSettings::get_instance()->get_value( 'login-page-url' );
|
437 |
|
438 |
+
// Allow hooks to change the value of login_page_url
|
439 |
+
$login_page_url = apply_filters('swpm_email_activation_login_page_url', $login_page_url);
|
440 |
+
|
441 |
$member_id = FILTER_INPUT( INPUT_GET, 'swpm_member_id', FILTER_SANITIZE_NUMBER_INT );
|
442 |
|
443 |
$member = SwpmMemberUtils::get_user_by_id( $member_id );
|
488 |
public function resend_activation_email() {
|
489 |
$login_page_url = SwpmSettings::get_instance()->get_value( 'login-page-url' );
|
490 |
|
491 |
+
// Allow hooks to change the value of login_page_url
|
492 |
+
$login_page_url = apply_filters('swpm_resend_activation_email_login_page_url', $login_page_url);
|
493 |
+
|
494 |
$member_id = FILTER_INPUT( INPUT_GET, 'swpm_member_id', FILTER_SANITIZE_NUMBER_INT );
|
495 |
|
496 |
$member = SwpmMemberUtils::get_user_by_id( $member_id );
|
classes/class.swpm-members.php
CHANGED
@@ -108,13 +108,16 @@ class SwpmMembers extends WP_List_Table {
|
|
108 |
$s = filter_input( INPUT_POST, 's' );
|
109 |
}
|
110 |
|
111 |
-
$status
|
|
|
|
|
112 |
$filters = array();
|
113 |
|
114 |
//Add the search parameter to the query
|
115 |
if ( ! empty( $s ) ) {
|
116 |
-
$s
|
117 |
-
$s
|
|
|
118 |
$filters[] = "( user_name LIKE '%" . strip_tags( $s ) . "%' "
|
119 |
. " OR first_name LIKE '%" . strip_tags( $s ) . "%' "
|
120 |
. " OR last_name LIKE '%" . strip_tags( $s ) . "%' "
|
@@ -248,7 +251,10 @@ class SwpmMembers extends WP_List_Table {
|
|
248 |
extract( $member, EXTR_SKIP );
|
249 |
$query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_membership_tbl WHERE id !=1 ';
|
250 |
$levels = $wpdb->get_results( $query, ARRAY_A );
|
251 |
-
|
|
|
|
|
|
|
252 |
return false;
|
253 |
}
|
254 |
|
@@ -272,7 +278,10 @@ class SwpmMembers extends WP_List_Table {
|
|
272 |
extract( $member, EXTR_SKIP );
|
273 |
$query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_membership_tbl WHERE id !=1 ';
|
274 |
$levels = $wpdb->get_results( $query, ARRAY_A );
|
275 |
-
|
|
|
|
|
|
|
276 |
return false;
|
277 |
}
|
278 |
|
@@ -335,21 +344,24 @@ class SwpmMembers extends WP_List_Table {
|
|
335 |
|
336 |
$subject = $settings->get_value( 'bulk-activate-notify-mail-subject' );
|
337 |
if ( empty( $subject ) ) {
|
338 |
-
|
339 |
}
|
340 |
$body = $settings->get_value( 'bulk-activate-notify-mail-body' );
|
341 |
if ( empty( $body ) ) {
|
342 |
-
|
343 |
}
|
344 |
|
345 |
-
$from_address
|
346 |
-
$
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
|
|
|
|
|
|
353 |
}
|
354 |
}
|
355 |
|
108 |
$s = filter_input( INPUT_POST, 's' );
|
109 |
}
|
110 |
|
111 |
+
$status = filter_input( INPUT_GET, 'status' );
|
112 |
+
$status = esc_attr( $status );//Escape value
|
113 |
+
|
114 |
$filters = array();
|
115 |
|
116 |
//Add the search parameter to the query
|
117 |
if ( ! empty( $s ) ) {
|
118 |
+
$s = sanitize_text_field( $s );
|
119 |
+
$s = trim( $s ); //Trim the input
|
120 |
+
$s = esc_attr( $s );
|
121 |
$filters[] = "( user_name LIKE '%" . strip_tags( $s ) . "%' "
|
122 |
. " OR first_name LIKE '%" . strip_tags( $s ) . "%' "
|
123 |
. " OR last_name LIKE '%" . strip_tags( $s ) . "%' "
|
251 |
extract( $member, EXTR_SKIP );
|
252 |
$query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_membership_tbl WHERE id !=1 ';
|
253 |
$levels = $wpdb->get_results( $query, ARRAY_A );
|
254 |
+
|
255 |
+
$add_user_template_path = apply_filters('swpm_admin_registration_add_user_template_path', SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_add.php');
|
256 |
+
include_once $add_user_template_path;
|
257 |
+
|
258 |
return false;
|
259 |
}
|
260 |
|
278 |
extract( $member, EXTR_SKIP );
|
279 |
$query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_membership_tbl WHERE id !=1 ';
|
280 |
$levels = $wpdb->get_results( $query, ARRAY_A );
|
281 |
+
|
282 |
+
$edit_user_template_path = apply_filters('swpm_admin_registration_edit_user_template_path', SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_edit.php');
|
283 |
+
include_once $edit_user_template_path;
|
284 |
+
|
285 |
return false;
|
286 |
}
|
287 |
|
344 |
|
345 |
$subject = $settings->get_value( 'bulk-activate-notify-mail-subject' );
|
346 |
if ( empty( $subject ) ) {
|
347 |
+
$subject = 'Account Activated!';
|
348 |
}
|
349 |
$body = $settings->get_value( 'bulk-activate-notify-mail-body' );
|
350 |
if ( empty( $body ) ) {
|
351 |
+
$body = 'Hi, Your account has been activated successfully!';
|
352 |
}
|
353 |
|
354 |
+
$from_address = $settings->get_value( 'email-from' );
|
355 |
+
$headers = 'From: ' . $from_address . "\r\n";
|
356 |
+
|
357 |
+
foreach ($emails as $to_email) {
|
358 |
+
//Send the activation email one by one to all the selected members.
|
359 |
+
$subject = apply_filters( 'swpm_email_bulk_set_status_subject', $subject );
|
360 |
+
$body = apply_filters( 'swpm_email_bulk_set_status_body', $body );
|
361 |
+
$to_email = trim($to_email);
|
362 |
+
SwpmMiscUtils::mail( $to_email, $subject, $body, $headers );
|
363 |
+
SwpmLog::log_simple_debug( 'Bulk activation email notification sent. Activation email sent to the following email: ' . $to_email, true );
|
364 |
+
}
|
365 |
}
|
366 |
}
|
367 |
|
classes/class.swpm-membership-levels.php
CHANGED
@@ -68,7 +68,7 @@ class SwpmMembershipLevels extends WP_List_Table {
|
|
68 |
|
69 |
function column_id($item) {
|
70 |
$delete_swpmlevel_nonce = wp_create_nonce( 'nonce_delete_swpmlevel_admin_end' );
|
71 |
-
|
72 |
$actions = array(
|
73 |
'edit' => sprintf('<a href="admin.php?page=simple_wp_membership_levels&level_action=edit&id=%s">Edit</a>', $item['id']),
|
74 |
'delete' => sprintf('<a href="admin.php?page=simple_wp_membership_levels&level_action=delete&id=%s&delete_swpmlevel_nonce=%s" onclick="return confirm(\'Are you sure you want to delete this entry?\')">Delete</a>', $item['id'],$delete_swpmlevel_nonce),
|
@@ -89,9 +89,11 @@ class SwpmMembershipLevels extends WP_List_Table {
|
|
89 |
|
90 |
$query = "SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id !=1 ";
|
91 |
if (isset($_POST['s'])){
|
92 |
-
$
|
|
|
|
|
93 |
}
|
94 |
-
|
95 |
//Read and sanitize the sort inputs.
|
96 |
$orderby = !empty($_GET["orderby"]) ? esc_sql($_GET["orderby"]) : 'id';
|
97 |
$order = !empty($_GET["order"]) ? esc_sql($_GET["order"]) : 'DESC';
|
@@ -139,10 +141,10 @@ class SwpmMembershipLevels extends WP_List_Table {
|
|
139 |
$record_id = sanitize_text_field($_REQUEST['id']);
|
140 |
if(!is_numeric($record_id)){
|
141 |
wp_die('Error! ID must be numeric.');
|
142 |
-
}
|
143 |
return $this->edit($record_id);
|
144 |
}
|
145 |
-
|
146 |
//Level add action
|
147 |
return $this->add();
|
148 |
}
|
@@ -187,16 +189,16 @@ class SwpmMembershipLevels extends WP_List_Table {
|
|
187 |
function delete_level() {
|
188 |
global $wpdb;
|
189 |
if (isset($_REQUEST['id'])) {
|
190 |
-
|
191 |
-
//Check we are on the admin end and user has management permission
|
192 |
SwpmMiscUtils::check_user_permission_and_is_admin('membership level delete');
|
193 |
-
|
194 |
//Check nonce
|
195 |
if ( !isset($_REQUEST['delete_swpmlevel_nonce']) || !wp_verify_nonce($_REQUEST['delete_swpmlevel_nonce'], 'nonce_delete_swpmlevel_admin_end' )){
|
196 |
//Nonce check failed.
|
197 |
wp_die(SwpmUtils::_("Error! Nonce verification failed for membership level delete from admin end."));
|
198 |
}
|
199 |
-
|
200 |
$id = sanitize_text_field($_REQUEST['id']);
|
201 |
$id = absint($id);
|
202 |
$query = $wpdb->prepare("DELETE FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id = %d", $id);
|
@@ -243,25 +245,25 @@ class SwpmMembershipLevels extends WP_List_Table {
|
|
243 |
$selected = "post_list";
|
244 |
include_once('class.swpm-post-list.php');
|
245 |
$post_list = new SwpmPostList();
|
246 |
-
include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_post_list.php');
|
247 |
}
|
248 |
-
|
249 |
-
function handle_main_membership_level_admin_menu(){
|
250 |
do_action( 'swpm_membership_level_menu_start' );
|
251 |
-
|
252 |
//Check current_user_can() or die.
|
253 |
SwpmMiscUtils::check_user_permission_and_is_admin('Main Membership Level Admin Menu');
|
254 |
|
255 |
$level_action = filter_input(INPUT_GET, 'level_action');
|
256 |
$action = $level_action;
|
257 |
$selected= $action;
|
258 |
-
|
259 |
?>
|
260 |
<div class="wrap swpm-admin-menu-wrap"><!-- start wrap -->
|
261 |
|
262 |
<!-- page title -->
|
263 |
<h1><?php echo SwpmUtils::_('Simple WP Membership::Membership Levels') ?></h1>
|
264 |
-
|
265 |
<!-- start nav menu tabs -->
|
266 |
<h2 class="nav-tab-wrapper">
|
267 |
<a class="nav-tab <?php echo ($selected == "") ? 'nav-tab-active' : ''; ?>" href="admin.php?page=simple_wp_membership_levels"><?php echo SwpmUtils::_('Membership Levels') ?></a>
|
@@ -270,28 +272,28 @@ class SwpmMembershipLevels extends WP_List_Table {
|
|
270 |
<a class="nav-tab <?php echo ($selected == "category_list") ? 'nav-tab-active' : ''; ?>" href="admin.php?page=simple_wp_membership_levels&level_action=category_list"><?php echo SwpmUtils::_('Category Protection') ?></a>
|
271 |
<a class="nav-tab <?php echo ($selected == "post_list") ? 'nav-tab-active' : ''; ?>" href="admin.php?page=simple_wp_membership_levels&level_action=post_list"><?php echo SwpmUtils::_('Post and Page Protection') ?></a>
|
272 |
<?php
|
273 |
-
|
274 |
//Trigger hooks that allows an extension to add extra nav tabs in the membership levels menu.
|
275 |
do_action ('swpm_membership_levels_menu_nav_tabs', $selected);
|
276 |
-
|
277 |
$menu_tabs = apply_filters('swpm_membership_levels_additional_menu_tabs_array', array());
|
278 |
foreach ($menu_tabs as $level_action => $title){
|
279 |
?>
|
280 |
<a class="nav-tab <?php echo ($selected == $member_action) ? 'nav-tab-active' : ''; ?>" href="admin.php?page=simple_wp_membership_levels&level_action=<?php echo $level_action; ?>" ><?php SwpmUtils::e($title); ?></a>
|
281 |
<?php
|
282 |
}
|
283 |
-
|
284 |
-
?>
|
285 |
</h2>
|
286 |
<!-- end nav menu tabs -->
|
287 |
-
|
288 |
<?php
|
289 |
-
|
290 |
do_action( 'swpm_membership_level_menu_after_nav_tabs' );
|
291 |
-
|
292 |
//Trigger hook so anyone listening for this particular action can handle the output.
|
293 |
do_action( 'swpm_membership_level_menu_body_' . $action );
|
294 |
-
|
295 |
//Allows an addon to completely override the body section of the membership level admin menu for a given action.
|
296 |
$output = apply_filters('swpm_membership_level_menu_body_override', '', $action);
|
297 |
if (!empty($output)) {
|
@@ -300,7 +302,7 @@ class SwpmMembershipLevels extends WP_List_Table {
|
|
300 |
echo '</div>';//<!-- end of wrap -->
|
301 |
return;
|
302 |
}
|
303 |
-
|
304 |
//Switch case for the various different actions handled by the core plugin.
|
305 |
switch ($action) {
|
306 |
case 'add':
|
@@ -323,7 +325,7 @@ class SwpmMembershipLevels extends WP_List_Table {
|
|
323 |
break;
|
324 |
}
|
325 |
|
326 |
-
echo '</div>';//<!-- end of wrap -->
|
327 |
}
|
328 |
-
|
329 |
}
|
68 |
|
69 |
function column_id($item) {
|
70 |
$delete_swpmlevel_nonce = wp_create_nonce( 'nonce_delete_swpmlevel_admin_end' );
|
71 |
+
|
72 |
$actions = array(
|
73 |
'edit' => sprintf('<a href="admin.php?page=simple_wp_membership_levels&level_action=edit&id=%s">Edit</a>', $item['id']),
|
74 |
'delete' => sprintf('<a href="admin.php?page=simple_wp_membership_levels&level_action=delete&id=%s&delete_swpmlevel_nonce=%s" onclick="return confirm(\'Are you sure you want to delete this entry?\')">Delete</a>', $item['id'],$delete_swpmlevel_nonce),
|
89 |
|
90 |
$query = "SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id !=1 ";
|
91 |
if (isset($_POST['s'])){
|
92 |
+
$search_keyword = sanitize_text_field($_POST['s']);
|
93 |
+
$search_keyword = esc_attr ($search_keyword);
|
94 |
+
$query .= " AND alias LIKE '%" . $search_keyword . "%' ";
|
95 |
}
|
96 |
+
|
97 |
//Read and sanitize the sort inputs.
|
98 |
$orderby = !empty($_GET["orderby"]) ? esc_sql($_GET["orderby"]) : 'id';
|
99 |
$order = !empty($_GET["order"]) ? esc_sql($_GET["order"]) : 'DESC';
|
141 |
$record_id = sanitize_text_field($_REQUEST['id']);
|
142 |
if(!is_numeric($record_id)){
|
143 |
wp_die('Error! ID must be numeric.');
|
144 |
+
}
|
145 |
return $this->edit($record_id);
|
146 |
}
|
147 |
+
|
148 |
//Level add action
|
149 |
return $this->add();
|
150 |
}
|
189 |
function delete_level() {
|
190 |
global $wpdb;
|
191 |
if (isset($_REQUEST['id'])) {
|
192 |
+
|
193 |
+
//Check we are on the admin end and user has management permission
|
194 |
SwpmMiscUtils::check_user_permission_and_is_admin('membership level delete');
|
195 |
+
|
196 |
//Check nonce
|
197 |
if ( !isset($_REQUEST['delete_swpmlevel_nonce']) || !wp_verify_nonce($_REQUEST['delete_swpmlevel_nonce'], 'nonce_delete_swpmlevel_admin_end' )){
|
198 |
//Nonce check failed.
|
199 |
wp_die(SwpmUtils::_("Error! Nonce verification failed for membership level delete from admin end."));
|
200 |
}
|
201 |
+
|
202 |
$id = sanitize_text_field($_REQUEST['id']);
|
203 |
$id = absint($id);
|
204 |
$query = $wpdb->prepare("DELETE FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id = %d", $id);
|
245 |
$selected = "post_list";
|
246 |
include_once('class.swpm-post-list.php');
|
247 |
$post_list = new SwpmPostList();
|
248 |
+
include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_post_list.php');
|
249 |
}
|
250 |
+
|
251 |
+
function handle_main_membership_level_admin_menu(){
|
252 |
do_action( 'swpm_membership_level_menu_start' );
|
253 |
+
|
254 |
//Check current_user_can() or die.
|
255 |
SwpmMiscUtils::check_user_permission_and_is_admin('Main Membership Level Admin Menu');
|
256 |
|
257 |
$level_action = filter_input(INPUT_GET, 'level_action');
|
258 |
$action = $level_action;
|
259 |
$selected= $action;
|
260 |
+
|
261 |
?>
|
262 |
<div class="wrap swpm-admin-menu-wrap"><!-- start wrap -->
|
263 |
|
264 |
<!-- page title -->
|
265 |
<h1><?php echo SwpmUtils::_('Simple WP Membership::Membership Levels') ?></h1>
|
266 |
+
|
267 |
<!-- start nav menu tabs -->
|
268 |
<h2 class="nav-tab-wrapper">
|
269 |
<a class="nav-tab <?php echo ($selected == "") ? 'nav-tab-active' : ''; ?>" href="admin.php?page=simple_wp_membership_levels"><?php echo SwpmUtils::_('Membership Levels') ?></a>
|
272 |
<a class="nav-tab <?php echo ($selected == "category_list") ? 'nav-tab-active' : ''; ?>" href="admin.php?page=simple_wp_membership_levels&level_action=category_list"><?php echo SwpmUtils::_('Category Protection') ?></a>
|
273 |
<a class="nav-tab <?php echo ($selected == "post_list") ? 'nav-tab-active' : ''; ?>" href="admin.php?page=simple_wp_membership_levels&level_action=post_list"><?php echo SwpmUtils::_('Post and Page Protection') ?></a>
|
274 |
<?php
|
275 |
+
|
276 |
//Trigger hooks that allows an extension to add extra nav tabs in the membership levels menu.
|
277 |
do_action ('swpm_membership_levels_menu_nav_tabs', $selected);
|
278 |
+
|
279 |
$menu_tabs = apply_filters('swpm_membership_levels_additional_menu_tabs_array', array());
|
280 |
foreach ($menu_tabs as $level_action => $title){
|
281 |
?>
|
282 |
<a class="nav-tab <?php echo ($selected == $member_action) ? 'nav-tab-active' : ''; ?>" href="admin.php?page=simple_wp_membership_levels&level_action=<?php echo $level_action; ?>" ><?php SwpmUtils::e($title); ?></a>
|
283 |
<?php
|
284 |
}
|
285 |
+
|
286 |
+
?>
|
287 |
</h2>
|
288 |
<!-- end nav menu tabs -->
|
289 |
+
|
290 |
<?php
|
291 |
+
|
292 |
do_action( 'swpm_membership_level_menu_after_nav_tabs' );
|
293 |
+
|
294 |
//Trigger hook so anyone listening for this particular action can handle the output.
|
295 |
do_action( 'swpm_membership_level_menu_body_' . $action );
|
296 |
+
|
297 |
//Allows an addon to completely override the body section of the membership level admin menu for a given action.
|
298 |
$output = apply_filters('swpm_membership_level_menu_body_override', '', $action);
|
299 |
if (!empty($output)) {
|
302 |
echo '</div>';//<!-- end of wrap -->
|
303 |
return;
|
304 |
}
|
305 |
+
|
306 |
//Switch case for the various different actions handled by the core plugin.
|
307 |
switch ($action) {
|
308 |
case 'add':
|
325 |
break;
|
326 |
}
|
327 |
|
328 |
+
echo '</div>';//<!-- end of wrap -->
|
329 |
}
|
330 |
+
|
331 |
}
|
classes/class.swpm-registration.php
CHANGED
@@ -45,6 +45,10 @@ abstract class SwpmRegistration {
|
|
45 |
),
|
46 |
get_home_url()
|
47 |
);
|
|
|
|
|
|
|
|
|
48 |
$member_info['activation_link'] = $activation_link;
|
49 |
}
|
50 |
|
45 |
),
|
46 |
get_home_url()
|
47 |
);
|
48 |
+
|
49 |
+
// Allow hooks to change the value of activation_link
|
50 |
+
$activation_link = apply_filters('swpm_send_reg_email_activation_link', $activation_link);
|
51 |
+
|
52 |
$member_info['activation_link'] = $activation_link;
|
53 |
}
|
54 |
|
classes/class.swpm-self-action-handler.php
CHANGED
@@ -1,31 +1,32 @@
|
|
1 |
<?php
|
2 |
|
3 |
class SwpmSelfActionHandler {
|
4 |
-
|
5 |
public function __construct() {
|
6 |
//Register all the self action hooks the plugin needs to handle
|
7 |
add_action('swpm_front_end_registration_complete_fb', array(&$this, 'after_registration_callback'));//For the form builder
|
8 |
add_action('swpm_front_end_registration_complete_user_data', array(&$this, 'after_registration_callback'));
|
9 |
-
|
10 |
add_action('swpm_membership_level_changed', array(&$this, 'handle_membership_level_changed_action'));
|
11 |
-
|
12 |
add_action('swpm_payment_ipn_processed', array(&$this, 'handle_swpm_payment_ipn_processed'));
|
13 |
|
14 |
add_filter('swpm_after_logout_redirect_url', array(&$this, 'handle_after_logout_redirection'));
|
15 |
add_filter('swpm_auth_cookie_expiry_value', array(&$this, 'handle_auth_cookie_expiry_value'));
|
16 |
}
|
17 |
-
|
18 |
public function handle_auth_cookie_expiry_value($expire){
|
19 |
|
20 |
$logout_member_on_browser_close = SwpmSettings::get_instance()->get_value('logout-member-on-browser-close');
|
21 |
if (!empty($logout_member_on_browser_close)) {
|
22 |
//This feature is enabled.
|
23 |
-
|
|
|
24 |
}
|
25 |
-
|
26 |
return $expire;
|
27 |
}
|
28 |
-
|
29 |
public function handle_after_logout_redirection($redirect_url){
|
30 |
$after_logout_url = SwpmSettings::get_instance()->get_value('after-logout-redirection-url');
|
31 |
if(!empty($after_logout_url)){
|
@@ -34,7 +35,7 @@ class SwpmSelfActionHandler {
|
|
34 |
}
|
35 |
return $redirect_url;
|
36 |
}
|
37 |
-
|
38 |
public function handle_swpm_payment_ipn_processed($ipn_data){
|
39 |
$ipn_forward_url = SwpmSettings::get_instance()->get_value('payment-notification-forward-url');
|
40 |
if(!empty($ipn_forward_url)){
|
@@ -46,14 +47,18 @@ class SwpmSelfActionHandler {
|
|
46 |
}
|
47 |
}
|
48 |
}
|
49 |
-
|
50 |
public function after_registration_callback($user_data){
|
51 |
-
|
52 |
//Handle auto login after registration if enabled
|
53 |
$enable_auto_login = SwpmSettings::get_instance()->get_value('auto-login-after-rego');
|
54 |
if (!empty($enable_auto_login)){
|
55 |
SwpmLog::log_simple_debug("Auto login after registration feature is enabled in settings. Performing auto login for user: " . $user_data['user_name'], true);
|
56 |
$login_page_url = SwpmSettings::get_instance()->get_value('login-page-url');
|
|
|
|
|
|
|
|
|
57 |
$encoded_pass = base64_encode($user_data['plain_password']);
|
58 |
$swpm_auto_login_nonce = wp_create_nonce('swpm-auto-login-nonce');
|
59 |
$arr_params = array(
|
@@ -63,18 +68,18 @@ class SwpmSelfActionHandler {
|
|
63 |
'swpm_auto_login_nonce' => $swpm_auto_login_nonce,
|
64 |
);
|
65 |
$redirect_page = add_query_arg($arr_params, $login_page_url);
|
66 |
-
wp_redirect($redirect_page);
|
67 |
exit(0);
|
68 |
}
|
69 |
-
|
70 |
}
|
71 |
-
|
72 |
public function handle_membership_level_changed_action($args){
|
73 |
$swpm_id = $args['member_id'];
|
74 |
$old_level = $args['from_level'];
|
75 |
-
$new_level = $args['to_level'];
|
76 |
SwpmLog::log_simple_debug('swpm_membership_level_changed action triggered. Member ID: '.$swpm_id.', Old Level: '.$old_level.', New Level: '.$new_level, true);
|
77 |
-
|
78 |
//Check to see if the old and the new levels are the same or not.
|
79 |
if(trim($old_level) == trim($new_level)){
|
80 |
SwpmLog::log_simple_debug('The to (Level ID: '.$new_level.') and from (Level ID: '.$old_level.') values are the same. Nothing to do here.', true);
|
@@ -98,8 +103,8 @@ class SwpmSelfActionHandler {
|
|
98 |
$wp_user_id = $user_info->ID;
|
99 |
SwpmLog::log_simple_debug('Calling user role update function.', true);
|
100 |
SwpmMemberUtils::update_wp_user_role($wp_user_id, $user_role);
|
101 |
-
}
|
102 |
-
|
103 |
}
|
104 |
-
|
105 |
}
|
1 |
<?php
|
2 |
|
3 |
class SwpmSelfActionHandler {
|
4 |
+
|
5 |
public function __construct() {
|
6 |
//Register all the self action hooks the plugin needs to handle
|
7 |
add_action('swpm_front_end_registration_complete_fb', array(&$this, 'after_registration_callback'));//For the form builder
|
8 |
add_action('swpm_front_end_registration_complete_user_data', array(&$this, 'after_registration_callback'));
|
9 |
+
|
10 |
add_action('swpm_membership_level_changed', array(&$this, 'handle_membership_level_changed_action'));
|
11 |
+
|
12 |
add_action('swpm_payment_ipn_processed', array(&$this, 'handle_swpm_payment_ipn_processed'));
|
13 |
|
14 |
add_filter('swpm_after_logout_redirect_url', array(&$this, 'handle_after_logout_redirection'));
|
15 |
add_filter('swpm_auth_cookie_expiry_value', array(&$this, 'handle_auth_cookie_expiry_value'));
|
16 |
}
|
17 |
+
|
18 |
public function handle_auth_cookie_expiry_value($expire){
|
19 |
|
20 |
$logout_member_on_browser_close = SwpmSettings::get_instance()->get_value('logout-member-on-browser-close');
|
21 |
if (!empty($logout_member_on_browser_close)) {
|
22 |
//This feature is enabled.
|
23 |
+
//Setting auth cookie expiry value to 0.
|
24 |
+
$expire = apply_filters( 'swpm_logout_on_close_auth_cookie_expiry_value', 0 );
|
25 |
}
|
26 |
+
|
27 |
return $expire;
|
28 |
}
|
29 |
+
|
30 |
public function handle_after_logout_redirection($redirect_url){
|
31 |
$after_logout_url = SwpmSettings::get_instance()->get_value('after-logout-redirection-url');
|
32 |
if(!empty($after_logout_url)){
|
35 |
}
|
36 |
return $redirect_url;
|
37 |
}
|
38 |
+
|
39 |
public function handle_swpm_payment_ipn_processed($ipn_data){
|
40 |
$ipn_forward_url = SwpmSettings::get_instance()->get_value('payment-notification-forward-url');
|
41 |
if(!empty($ipn_forward_url)){
|
47 |
}
|
48 |
}
|
49 |
}
|
50 |
+
|
51 |
public function after_registration_callback($user_data){
|
52 |
+
|
53 |
//Handle auto login after registration if enabled
|
54 |
$enable_auto_login = SwpmSettings::get_instance()->get_value('auto-login-after-rego');
|
55 |
if (!empty($enable_auto_login)){
|
56 |
SwpmLog::log_simple_debug("Auto login after registration feature is enabled in settings. Performing auto login for user: " . $user_data['user_name'], true);
|
57 |
$login_page_url = SwpmSettings::get_instance()->get_value('login-page-url');
|
58 |
+
|
59 |
+
// Allow hooks to change the value of login_page_url
|
60 |
+
$login_page_url = apply_filters('swpm_after_reg_callback_login_page_url', $login_page_url);
|
61 |
+
|
62 |
$encoded_pass = base64_encode($user_data['plain_password']);
|
63 |
$swpm_auto_login_nonce = wp_create_nonce('swpm-auto-login-nonce');
|
64 |
$arr_params = array(
|
68 |
'swpm_auto_login_nonce' => $swpm_auto_login_nonce,
|
69 |
);
|
70 |
$redirect_page = add_query_arg($arr_params, $login_page_url);
|
71 |
+
wp_redirect($redirect_page);
|
72 |
exit(0);
|
73 |
}
|
74 |
+
|
75 |
}
|
76 |
+
|
77 |
public function handle_membership_level_changed_action($args){
|
78 |
$swpm_id = $args['member_id'];
|
79 |
$old_level = $args['from_level'];
|
80 |
+
$new_level = $args['to_level'];
|
81 |
SwpmLog::log_simple_debug('swpm_membership_level_changed action triggered. Member ID: '.$swpm_id.', Old Level: '.$old_level.', New Level: '.$new_level, true);
|
82 |
+
|
83 |
//Check to see if the old and the new levels are the same or not.
|
84 |
if(trim($old_level) == trim($new_level)){
|
85 |
SwpmLog::log_simple_debug('The to (Level ID: '.$new_level.') and from (Level ID: '.$old_level.') values are the same. Nothing to do here.', true);
|
103 |
$wp_user_id = $user_info->ID;
|
104 |
SwpmLog::log_simple_debug('Calling user role update function.', true);
|
105 |
SwpmMemberUtils::update_wp_user_role($wp_user_id, $user_role);
|
106 |
+
}
|
107 |
+
|
108 |
}
|
109 |
+
|
110 |
}
|
classes/class.swpm-utils-member.php
CHANGED
@@ -62,6 +62,14 @@ class SwpmMemberUtils {
|
|
62 |
return SwpmUtils::_( 'User is not logged in.' );
|
63 |
}
|
64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
public static function get_member_field_by_id( $id, $field, $default = '' ) {
|
66 |
global $wpdb;
|
67 |
$query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_members_tbl WHERE member_id = %d';
|
@@ -217,6 +225,38 @@ class SwpmMemberUtils {
|
|
217 |
return preg_match( '/^[a-zA-Z0-9.\-_*@]+$/', $user_name ) == 1;
|
218 |
}
|
219 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
public static function wp_user_has_admin_role( $wp_user_id ) {
|
221 |
$caps = get_user_meta( $wp_user_id, 'wp_capabilities', true );
|
222 |
if ( is_array( $caps ) && in_array( 'administrator', array_keys( (array) $caps ) ) ) {
|
62 |
return SwpmUtils::_( 'User is not logged in.' );
|
63 |
}
|
64 |
|
65 |
+
public static function get_logged_in_members_email() {
|
66 |
+
$auth = SwpmAuth::get_instance();
|
67 |
+
if ( ! $auth->is_logged_in() ) {
|
68 |
+
return SwpmUtils::_( 'User is not logged in.' );
|
69 |
+
}
|
70 |
+
return $auth->get( 'email' );
|
71 |
+
}
|
72 |
+
|
73 |
public static function get_member_field_by_id( $id, $field, $default = '' ) {
|
74 |
global $wpdb;
|
75 |
$query = 'SELECT * FROM ' . $wpdb->prefix . 'swpm_members_tbl WHERE member_id = %d';
|
225 |
return preg_match( '/^[a-zA-Z0-9.\-_*@]+$/', $user_name ) == 1;
|
226 |
}
|
227 |
|
228 |
+
public static function check_and_die_if_email_belongs_to_admin_user( $email_to_check ){
|
229 |
+
//Check if the email belongs to an existing wp user account.
|
230 |
+
$wp_user_id = email_exists( $email_to_check );
|
231 |
+
if ( $wp_user_id ) {
|
232 |
+
//A wp user account exist with this email.
|
233 |
+
//Check if the user has admin role.
|
234 |
+
$admin_user = SwpmMemberUtils::wp_user_has_admin_role( $wp_user_id );
|
235 |
+
if ( $admin_user ) {
|
236 |
+
//This email belongs to an admin user. Cannot use/register using an admin user's email from front-end. Show error message then exit.
|
237 |
+
$error_msg = '<p>This email address (' . $email_to_check . ') belongs to an admin user. This email cannot be used to register a new account on this site for security reasons. Contact site admin.</p>';
|
238 |
+
$error_msg .= '<p>For testing purpose, you can create another user account that is completely separate from the admin user account of this site.</p>';
|
239 |
+
wp_die( $error_msg );
|
240 |
+
}
|
241 |
+
}
|
242 |
+
}
|
243 |
+
|
244 |
+
public static function check_and_die_if_username_belongs_to_admin_user( $username_to_check ){
|
245 |
+
//Check if the username belongs to an existing wp user account.
|
246 |
+
$wp_user_id = username_exists( $username_to_check );
|
247 |
+
if ( $wp_user_id ) {
|
248 |
+
//A wp user account exists with this username.
|
249 |
+
//Check if the user has admin role.
|
250 |
+
$admin_user = SwpmMemberUtils::wp_user_has_admin_role( $wp_user_id );
|
251 |
+
if ( $admin_user ) {
|
252 |
+
//This Username belongs to an admin user. Cannot use/register using an existing admin user's username from front-end. Show error message then exit.
|
253 |
+
$error_msg = '<p>This username (' . $username_to_check . ') belongs to an admin user. It cannot be used to register a new account on this site for security reasons. Contact site admin.</p>';
|
254 |
+
$error_msg .= '<p>For testing purpose, you can create another user account that is completely separate from the admin user account of this site.</p>';
|
255 |
+
wp_die( $error_msg );
|
256 |
+
}
|
257 |
+
}
|
258 |
+
}
|
259 |
+
|
260 |
public static function wp_user_has_admin_role( $wp_user_id ) {
|
261 |
$caps = get_user_meta( $wp_user_id, 'wp_capabilities', true );
|
262 |
if ( is_array( $caps ) && in_array( 'administrator', array_keys( (array) $caps ) ) ) {
|
classes/class.swpm-utils-misc.php
CHANGED
@@ -515,6 +515,7 @@ class SwpmMiscUtils {
|
|
515 |
'Equatorial Guinea',
|
516 |
'Eritrea',
|
517 |
'Estonia',
|
|
|
518 |
'Ethiopia',
|
519 |
'Fiji',
|
520 |
'Finland',
|
@@ -592,6 +593,7 @@ class SwpmMiscUtils {
|
|
592 |
'Oman',
|
593 |
'Pakistan',
|
594 |
'Palau',
|
|
|
595 |
'Panama',
|
596 |
'Papua New Guinea',
|
597 |
'Paraguay',
|
515 |
'Equatorial Guinea',
|
516 |
'Eritrea',
|
517 |
'Estonia',
|
518 |
+
'Eswatini',
|
519 |
'Ethiopia',
|
520 |
'Fiji',
|
521 |
'Finland',
|
593 |
'Oman',
|
594 |
'Pakistan',
|
595 |
'Palau',
|
596 |
+
'Palestine',
|
597 |
'Panama',
|
598 |
'Papua New Guinea',
|
599 |
'Paraguay',
|
classes/class.swpm-utils.php
CHANGED
@@ -116,9 +116,9 @@ abstract class SwpmUtils {
|
|
116 |
}
|
117 |
|
118 |
public static function gender_dropdown( $selected = 'not specified' ) {
|
119 |
-
return '<option ' . ( ( strtolower( $selected ) == 'male' ) ? 'selected="selected"' : '' ) . ' value="male">Male</option>' .
|
120 |
-
'<option ' . ( ( strtolower( $selected ) == 'female' ) ? 'selected="selected"' : '' ) . ' value="female">Female</option>' .
|
121 |
-
'<option ' . ( ( strtolower( $selected ) == 'not specified' ) ? 'selected="selected"' : '' ) . ' value="not specified">Not Specified</option>';
|
122 |
}
|
123 |
|
124 |
public static function get_account_state_options() {
|
@@ -263,31 +263,24 @@ abstract class SwpmUtils {
|
|
263 |
|
264 |
public static function create_wp_user( $wp_user_data ) {
|
265 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
266 |
//Check if the email belongs to an existing wp user account.
|
267 |
$wp_user_id = email_exists( $wp_user_data['user_email'] );
|
268 |
if ( $wp_user_id ) {
|
269 |
//A wp user account exist with this email.
|
270 |
-
|
271 |
-
$admin_user = SwpmMemberUtils::wp_user_has_admin_role( $wp_user_id );
|
272 |
-
if ( $admin_user ) {
|
273 |
-
//This email belongs to an admin user. Cannot modify/override/use/register using an admin user's email from front-end. Show error message then exit.
|
274 |
-
$error_msg = '<p>This email address (' . $wp_user_data['user_email'] . ') belongs to an admin user. This email cannot be used to register a new account on this site for security reasons. Contact site admin.</p>';
|
275 |
-
wp_die( $error_msg );
|
276 |
-
}
|
277 |
} else {
|
278 |
//Check if the username belongs to an existing wp user account.
|
279 |
$wp_user_id = username_exists( $wp_user_data['user_login'] );
|
280 |
if ( $wp_user_id ) {
|
281 |
//A wp user account exist with this username.
|
282 |
-
//
|
283 |
-
$admin_user = SwpmMemberUtils::wp_user_has_admin_role( $wp_user_id );
|
284 |
-
if ( $admin_user ) {
|
285 |
-
//This Username belongs to an admin user. Cannot modify/override/use/register using an existing admin user's username from front-end. Show error message then exit.
|
286 |
-
$error_msg = '<p>This username (' . $wp_user_data['user_login'] . ') belongs to an admin user. It cannot be used to register a new account on this site for security reasons. Contact site admin.</p>';
|
287 |
-
wp_die( $error_msg );
|
288 |
-
}
|
289 |
-
} else {
|
290 |
-
//All clear. No user exists with the provided username or email.
|
291 |
}
|
292 |
}
|
293 |
|
@@ -307,19 +300,20 @@ abstract class SwpmUtils {
|
|
307 |
);
|
308 |
return $wp_user_id;
|
309 |
}
|
|
|
310 |
$wp_user_id = wpmu_create_user( $wp_user_data['user_login'], $wp_user_data['password'], $wp_user_data['user_email'] );
|
311 |
$role = 'subscriber'; //TODO - add user as a subscriber first. The subsequent update user role function to update the role to the correct one
|
312 |
add_user_to_blog( $blog_id, $wp_user_id, $role );
|
313 |
-
//End of
|
314 |
} else {
|
315 |
-
//This is a WP Single
|
316 |
|
317 |
//Lets see if an existing WP user exist from the email_exists() or username_exists() check earlier.
|
318 |
if ( $wp_user_id ) {
|
319 |
-
|
320 |
}
|
321 |
|
322 |
-
//Try to create a brand new WP user entry.
|
323 |
$wp_user_id = wp_create_user( $wp_user_data['user_login'], $wp_user_data['password'], $wp_user_data['user_email'] );
|
324 |
|
325 |
//Update that newly created user's profile with additional data.
|
116 |
}
|
117 |
|
118 |
public static function gender_dropdown( $selected = 'not specified' ) {
|
119 |
+
return '<option ' . ( ( strtolower( $selected ) == 'male' ) ? 'selected="selected"' : '' ) . ' value="male">' . SwpmUtils::_('Male') . '</option>' .
|
120 |
+
'<option ' . ( ( strtolower( $selected ) == 'female' ) ? 'selected="selected"' : '' ) . ' value="female">' . SwpmUtils::_('Female') . '</option>' .
|
121 |
+
'<option ' . ( ( strtolower( $selected ) == 'not specified' ) ? 'selected="selected"' : '' ) . ' value="not specified">' . SwpmUtils::_('Not Specified') . '</option>';
|
122 |
}
|
123 |
|
124 |
public static function get_account_state_options() {
|
263 |
|
264 |
public static function create_wp_user( $wp_user_data ) {
|
265 |
|
266 |
+
//First, check if email or username belongs to an existing admin user.
|
267 |
+
SwpmMemberUtils::check_and_die_if_email_belongs_to_admin_user($wp_user_data['user_email']);
|
268 |
+
SwpmMemberUtils::check_and_die_if_username_belongs_to_admin_user($wp_user_data['user_login']);
|
269 |
+
|
270 |
+
//At this point, the username or the email is not taken by any existing wp user with admin role.
|
271 |
+
//Lets continue the normal registration process.
|
272 |
+
|
273 |
//Check if the email belongs to an existing wp user account.
|
274 |
$wp_user_id = email_exists( $wp_user_data['user_email'] );
|
275 |
if ( $wp_user_id ) {
|
276 |
//A wp user account exist with this email.
|
277 |
+
//For signle site WP install, no new user will be created. The existing user ID will be returned.
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
} else {
|
279 |
//Check if the username belongs to an existing wp user account.
|
280 |
$wp_user_id = username_exists( $wp_user_data['user_login'] );
|
281 |
if ( $wp_user_id ) {
|
282 |
//A wp user account exist with this username.
|
283 |
+
//For signle site WP install, no new user will be created. The existing user ID will be returned.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
284 |
}
|
285 |
}
|
286 |
|
300 |
);
|
301 |
return $wp_user_id;
|
302 |
}
|
303 |
+
//No existing user. Create a new one.
|
304 |
$wp_user_id = wpmu_create_user( $wp_user_data['user_login'], $wp_user_data['password'], $wp_user_data['user_email'] );
|
305 |
$role = 'subscriber'; //TODO - add user as a subscriber first. The subsequent update user role function to update the role to the correct one
|
306 |
add_user_to_blog( $blog_id, $wp_user_id, $role );
|
307 |
+
//End of WPMS
|
308 |
} else {
|
309 |
+
//This is a WP Single Site install.
|
310 |
|
311 |
//Lets see if an existing WP user exist from the email_exists() or username_exists() check earlier.
|
312 |
if ( $wp_user_id ) {
|
313 |
+
return $wp_user_id;
|
314 |
}
|
315 |
|
316 |
+
//No existing user. Try to create a brand new WP user entry.
|
317 |
$wp_user_id = wp_create_user( $wp_user_data['user_login'], $wp_user_data['password'], $wp_user_data['user_email'] );
|
318 |
|
319 |
//Update that newly created user's profile with additional data.
|
classes/class.swpm-wp-loaded-tasks.php
CHANGED
@@ -16,6 +16,13 @@ class SwpmWpLoadedTasks {
|
|
16 |
//IPN listener
|
17 |
$this->swpm_ipn_listener();
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
}
|
20 |
|
21 |
/*
|
@@ -103,4 +110,56 @@ class SwpmWpLoadedTasks {
|
|
103 |
}
|
104 |
}
|
105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
}
|
16 |
//IPN listener
|
17 |
$this->swpm_ipn_listener();
|
18 |
|
19 |
+
//Cancel subscirption action listener
|
20 |
+
$cancel_sub_action = filter_input( INPUT_POST, 'swpm_do_cancel_sub', FILTER_SANITIZE_NUMBER_INT );
|
21 |
+
|
22 |
+
if ( ! empty( $cancel_sub_action ) ) {
|
23 |
+
$this->do_cancel_sub();
|
24 |
+
}
|
25 |
+
|
26 |
}
|
27 |
|
28 |
/*
|
110 |
}
|
111 |
}
|
112 |
|
113 |
+
private function do_cancel_sub() {
|
114 |
+
|
115 |
+
function msg( $msg, $is_error = true ) {
|
116 |
+
echo $msg;
|
117 |
+
echo '<br><br>';
|
118 |
+
echo SwpmUtils::_( 'You will be redirected to the previous page in a few seconds. If not, please <a href="">click here</a>.' );
|
119 |
+
echo '<script>function toPrevPage(){window.location = window.location.href;}setTimeout(toPrevPage,5000);</script>';
|
120 |
+
if ( ! $is_error ) {
|
121 |
+
wp_die( '', SwpmUtils::_( 'Success!' ), array( 'response' => 200 ) );
|
122 |
+
}
|
123 |
+
wp_die();
|
124 |
+
}
|
125 |
+
|
126 |
+
$token = filter_input( INPUT_POST, 'swpm_cancel_sub_token', FILTER_SANITIZE_STRING );
|
127 |
+
if ( empty( $token ) ) {
|
128 |
+
//no token
|
129 |
+
msg( SwpmUtils::_( 'No token provided.' ) );
|
130 |
+
}
|
131 |
+
|
132 |
+
//check nonce
|
133 |
+
$nonce = filter_input( INPUT_POST, 'swpm_cancel_sub_nonce', FILTER_SANITIZE_STRING );
|
134 |
+
if ( empty( $nonce ) || ! wp_verify_nonce( $nonce, $token ) ) {
|
135 |
+
//nonce check failed
|
136 |
+
msg( SwpmUtils::_( 'Nonce check failed.' ) );
|
137 |
+
}
|
138 |
+
|
139 |
+
if ( ! SwpmMemberUtils::is_member_logged_in() ) {
|
140 |
+
//member not logged in
|
141 |
+
msg( SwpmUtils::_( 'You are not logged in.' ) );
|
142 |
+
}
|
143 |
+
|
144 |
+
$member_id = SwpmMemberUtils::get_logged_in_members_id();
|
145 |
+
|
146 |
+
$subs = new SWPM_Member_Subscriptions( $member_id );
|
147 |
+
|
148 |
+
$sub = $subs->find_by_token( $token );
|
149 |
+
|
150 |
+
if ( empty( $sub ) ) {
|
151 |
+
//no subscription found
|
152 |
+
return false;
|
153 |
+
}
|
154 |
+
|
155 |
+
$res = $subs->cancel( $sub['sub_id'] );
|
156 |
+
|
157 |
+
if ( $res !== true ) {
|
158 |
+
msg( $res );
|
159 |
+
}
|
160 |
+
|
161 |
+
msg( SwpmUtils::_( 'Subscription has been cancelled.' ), false );
|
162 |
+
|
163 |
+
}
|
164 |
+
|
165 |
}
|
classes/shortcode-related/class.swpm-shortcodes-handler.php
CHANGED
@@ -1,185 +1,226 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class SwpmShortcodesHandler {
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class SwpmShortcodesHandler {
|
4 |
+
|
5 |
+
public function __construct() {
|
6 |
+
//Register all the shortcodes here
|
7 |
+
add_shortcode( 'swpm_payment_button', array( &$this, 'swpm_payment_button_sc' ) );
|
8 |
+
add_shortcode( 'swpm_thank_you_page_registration', array( &$this, 'swpm_ty_page_rego_sc' ) );
|
9 |
+
|
10 |
+
add_shortcode( 'swpm_show_expiry_date', array( &$this, 'swpm_show_expiry_date_sc' ) );
|
11 |
+
|
12 |
+
add_shortcode( 'swpm_mini_login', array( &$this, 'swpm_show_mini_login_sc' ) );
|
13 |
+
|
14 |
+
add_shortcode( 'swpm_paypal_subscription_cancel_link', array( &$this, 'swpm_pp_cancel_subs_link_sc' ) );
|
15 |
+
|
16 |
+
add_shortcode( 'swpm_stripe_subscription_cancel_link', array( $this, 'swpm_stripe_cancel_subs_link_sc' ) );
|
17 |
+
}
|
18 |
+
|
19 |
+
public function swpm_payment_button_sc( $args ) {
|
20 |
+
extract(
|
21 |
+
shortcode_atts(
|
22 |
+
array(
|
23 |
+
'id' => '',
|
24 |
+
'button_text' => '',
|
25 |
+
'new_window' => '',
|
26 |
+
'class' => '',
|
27 |
+
),
|
28 |
+
$args
|
29 |
+
)
|
30 |
+
);
|
31 |
+
|
32 |
+
if ( empty( $id ) ) {
|
33 |
+
return '<p class="swpm-red-box">Error! You must specify a button ID with this shortcode. Check the usage documentation.</p>';
|
34 |
+
}
|
35 |
+
|
36 |
+
$button_id = $id;
|
37 |
+
//$button = get_post($button_id); //Retrieve the CPT for this button
|
38 |
+
$button_type = get_post_meta( $button_id, 'button_type', true );
|
39 |
+
if ( empty( $button_type ) ) {
|
40 |
+
$error_msg = '<p class="swpm-red-box">';
|
41 |
+
$error_msg .= 'Error! The button ID (' . $button_id . ') you specified in the shortcode does not exist. You may have deleted this payment button. ';
|
42 |
+
$error_msg .= 'Go to the Manage Payment Buttons interface then copy and paste the correct button ID in the shortcode.';
|
43 |
+
$error_msg .= '</p>';
|
44 |
+
return $error_msg;
|
45 |
+
}
|
46 |
+
|
47 |
+
include_once( SIMPLE_WP_MEMBERSHIP_PATH . 'views/payments/payment-gateway/paypal_button_shortcode_view.php' );
|
48 |
+
include_once( SIMPLE_WP_MEMBERSHIP_PATH . 'views/payments/payment-gateway/stripe_button_shortcode_view.php' );
|
49 |
+
include_once( SIMPLE_WP_MEMBERSHIP_PATH . 'views/payments/payment-gateway/stripe_sca_button_shortcode_view.php' );
|
50 |
+
include_once( SIMPLE_WP_MEMBERSHIP_PATH . 'views/payments/payment-gateway/braintree_button_shortcode_view.php' );
|
51 |
+
include_once( SIMPLE_WP_MEMBERSHIP_PATH . 'views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php' );
|
52 |
+
|
53 |
+
$button_code = '';
|
54 |
+
$button_code = apply_filters( 'swpm_payment_button_shortcode_for_' . $button_type, $button_code, $args );
|
55 |
+
|
56 |
+
$output = '';
|
57 |
+
$output .= '<div class="swpm-payment-button">' . $button_code . '</div>';
|
58 |
+
|
59 |
+
return $output;
|
60 |
+
}
|
61 |
+
|
62 |
+
public function swpm_ty_page_rego_sc( $args ) {
|
63 |
+
$output = '';
|
64 |
+
$settings = SwpmSettings::get_instance();
|
65 |
+
|
66 |
+
//If user is logged in then the purchase will be applied to the existing profile
|
67 |
+
if ( SwpmMemberUtils::is_member_logged_in() ) {
|
68 |
+
$username = SwpmMemberUtils::get_logged_in_members_username();
|
69 |
+
$output .= '<div class="swpm-ty-page-registration-logged-in swpm-yellow-box">';
|
70 |
+
$output .= '<p>' . SwpmUtils::_( 'Your membership profile will be updated to reflect the payment.' ) . '</p>';
|
71 |
+
$output .= SwpmUtils::_( 'Your profile username: ' ) . $username;
|
72 |
+
$output .= '</div>';
|
73 |
+
return $output;
|
74 |
+
}
|
75 |
+
|
76 |
+
$output .= '<div class="swpm-ty-page-registration">';
|
77 |
+
$member_data = SwpmUtils::get_incomplete_paid_member_info_by_ip();
|
78 |
+
if ( $member_data ) {
|
79 |
+
//Found a member profile record for this IP that needs to be completed
|
80 |
+
$reg_page_url = $settings->get_value( 'registration-page-url' );
|
81 |
+
$rego_complete_url = add_query_arg(
|
82 |
+
array(
|
83 |
+
'member_id' => $member_data->member_id,
|
84 |
+
'code' => $member_data->reg_code,
|
85 |
+
),
|
86 |
+
$reg_page_url
|
87 |
+
);
|
88 |
+
$output .= '<div class="swpm-ty-page-registration-link swpm-yellow-box">';
|
89 |
+
$output .= '<p>' . SwpmUtils::_( 'Click on the following link to complete the registration.' ) . '</p>';
|
90 |
+
$output .= '<p><a href="' . $rego_complete_url . '">' . SwpmUtils::_( 'Click here to complete your paid registration' ) . '</a></p>';
|
91 |
+
$output .= '</div>';
|
92 |
+
} else {
|
93 |
+
//Nothing found. Check again later.
|
94 |
+
$output .= '<div class="swpm-ty-page-registration-link swpm-yellow-box">';
|
95 |
+
$output .= SwpmUtils::_( 'If you have just made a membership payment then your payment is yet to be processed. Please check back in a few minutes. An email will be sent to you with the details shortly.' );
|
96 |
+
$output .= '</div>';
|
97 |
+
}
|
98 |
+
|
99 |
+
$output .= '</div>'; //end of .swpm-ty-page-registration
|
100 |
+
|
101 |
+
return $output;
|
102 |
+
}
|
103 |
+
|
104 |
+
public function swpm_show_expiry_date_sc( $args ) {
|
105 |
+
$output = '<div class="swpm-show-expiry-date">';
|
106 |
+
if ( SwpmMemberUtils::is_member_logged_in() ) {
|
107 |
+
$auth = SwpmAuth::get_instance();
|
108 |
+
$expiry_date = $auth->get_expire_date();
|
109 |
+
$output .= SwpmUtils::_( 'Expiry: ' ) . $expiry_date;
|
110 |
+
} else {
|
111 |
+
$output .= SwpmUtils::_( 'You are not logged-in as a member' );
|
112 |
+
}
|
113 |
+
$output .= '</div>';
|
114 |
+
return $output;
|
115 |
+
}
|
116 |
+
|
117 |
+
public function swpm_show_mini_login_sc( $args ) {
|
118 |
+
|
119 |
+
$login_page_url = SwpmSettings::get_instance()->get_value( 'login-page-url' );
|
120 |
+
$join_page_url = SwpmSettings::get_instance()->get_value( 'join-us-page-url' );
|
121 |
+
$profile_page_url = SwpmSettings::get_instance()->get_value( 'profile-page-url' );
|
122 |
+
$logout_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '?swpm-logout=true';
|
123 |
+
|
124 |
+
$filtered_login_url = apply_filters( 'swpm_get_login_link_url', $login_page_url ); //Addons can override the login URL value using this filter.
|
125 |
+
|
126 |
+
$output = '<div class="swpm_mini_login_wrapper">';
|
127 |
+
|
128 |
+
//Check if the user is logged in or not
|
129 |
+
$auth = SwpmAuth::get_instance();
|
130 |
+
if ( $auth->is_logged_in() ) {
|
131 |
+
//User is logged in
|
132 |
+
$username = $auth->get( 'user_name' );
|
133 |
+
$output .= '<span class="swpm_mini_login_label">' . SwpmUtils::_( 'Logged in as: ' ) . '</span>';
|
134 |
+
$output .= '<span class="swpm_mini_login_username">' . $username . '</span>';
|
135 |
+
$output .= '<span class="swpm_mini_login_profile"> | <a href="' . $profile_page_url . '">' . SwpmUtils::_( 'Profile' ) . '</a></span>';
|
136 |
+
$output .= '<span class="swpm_mini_login_logout"> | <a href="' . $logout_url . '">' . SwpmUtils::_( 'Logout' ) . '</a></span>';
|
137 |
+
} else {
|
138 |
+
//User not logged in.
|
139 |
+
$output .= '<span class="swpm_mini_login_login_here"><a href="' . $filtered_login_url . '">' . SwpmUtils::_( 'Login Here' ) . '</a></span>';
|
140 |
+
$output .= '<span class="swpm_mini_login_no_membership"> | ' . SwpmUtils::_( 'Not a member? ' ) . '</span>';
|
141 |
+
$output .= '<span class="swpm_mini_login_join_now"><a href="' . $join_page_url . '">' . SwpmUtils::_( 'Join Now' ) . '</a></span>';
|
142 |
+
}
|
143 |
+
|
144 |
+
$output .= '</div>';
|
145 |
+
|
146 |
+
$output = apply_filters( 'swpm_mini_login_output', $output );
|
147 |
+
|
148 |
+
return $output;
|
149 |
+
}
|
150 |
+
|
151 |
+
public function swpm_stripe_cancel_subs_link_sc( $args ) {
|
152 |
+
//Shortcode parameters: ['anchor_text']
|
153 |
+
|
154 |
+
if ( ! SwpmMemberUtils::is_member_logged_in() ) {
|
155 |
+
//member not logged in
|
156 |
+
return SwpmUtils::_( 'You are not logged-in as a member' );
|
157 |
+
}
|
158 |
+
$member_id = SwpmMemberUtils::get_logged_in_members_id();
|
159 |
+
|
160 |
+
$subs = new SWPM_Member_Subscriptions( $member_id );
|
161 |
+
|
162 |
+
if ( empty( $subs->get_active_subs_count() ) ) {
|
163 |
+
//no active subscriptions found
|
164 |
+
return SwpmUtils::_( 'No active subscriptions' );
|
165 |
+
}
|
166 |
+
|
167 |
+
$output = $subs->get_stripe_subs_cancel_url($args, false);
|
168 |
+
|
169 |
+
return $output;
|
170 |
+
}
|
171 |
+
|
172 |
+
public function swpm_pp_cancel_subs_link_sc( $args ) {
|
173 |
+
//Shortcode parameters: ['anchor_text'], ['merchant_id']
|
174 |
+
|
175 |
+
extract(
|
176 |
+
shortcode_atts(
|
177 |
+
array(
|
178 |
+
'merchant_id' => '',
|
179 |
+
'anchor_text' => '',
|
180 |
+
),
|
181 |
+
$args
|
182 |
+
)
|
183 |
+
);
|
184 |
+
|
185 |
+
if ( empty( $merchant_id ) ) {
|
186 |
+
return '<p class="swpm-red-box">Error! You need to specify your secure PayPal merchant ID in the shortcode using the "merchant_id" parameter.</p>';
|
187 |
+
}
|
188 |
+
|
189 |
+
$output = '';
|
190 |
+
$settings = SwpmSettings::get_instance();
|
191 |
+
|
192 |
+
//Check if the member is logged-in
|
193 |
+
if ( SwpmMemberUtils::is_member_logged_in() ) {
|
194 |
+
$user_id = SwpmMemberUtils::get_logged_in_members_id();
|
195 |
+
}
|
196 |
+
|
197 |
+
if ( ! empty( $user_id ) ) {
|
198 |
+
//The user is logged-in
|
199 |
+
|
200 |
+
//Set the default anchor text (if one is provided via teh shortcode).
|
201 |
+
if ( empty( $anchor_text ) ) {
|
202 |
+
$anchor_text = SwpmUtils::_( 'Unsubscribe from PayPal' );
|
203 |
+
}
|
204 |
+
|
205 |
+
$output .= '<div class="swpm-paypal-subscription-cancel-link">';
|
206 |
+
$sandbox_enabled = $settings->get_value( 'enable-sandbox-testing' );
|
207 |
+
if ( $sandbox_enabled ) {
|
208 |
+
//Sandbox mode
|
209 |
+
$output .= '<a href="https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_subscr-find&alias=' . $merchant_id . '" _fcksavedurl="https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_subscr-find&alias=' . $merchant_id . '">';
|
210 |
+
$output .= $anchor_text;
|
211 |
+
$output .= '</a>';
|
212 |
+
} else {
|
213 |
+
//Live mode
|
214 |
+
$output .= '<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_subscr-find&alias=' . $merchant_id . '" _fcksavedurl="https://www.paypal.com/cgi-bin/webscr?cmd=_subscr-find&alias=' . $merchant_id . '">';
|
215 |
+
$output .= $anchor_text;
|
216 |
+
$output .= '</a>';
|
217 |
+
}
|
218 |
+
$output .= '</div>';
|
219 |
+
|
220 |
+
} else {
|
221 |
+
//The user is NOT logged-in
|
222 |
+
$output .= '<p>' . SwpmUtils::_( 'You are not logged-in as a member' ) . '</p>';
|
223 |
+
}
|
224 |
+
return $output;
|
225 |
+
}
|
226 |
+
}
|
css/swpm.common.css
CHANGED
@@ -128,6 +128,7 @@
|
|
128 |
|
129 |
.swpm-registration-widget-form input[type="text"], .swpm-registration-widget-form input[type="password"]{
|
130 |
width: 95%;
|
|
|
131 |
}
|
132 |
|
133 |
/* Edit profile form CSS */
|
@@ -163,4 +164,4 @@
|
|
163 |
.swpm-select-box-left{
|
164 |
margin: 0;
|
165 |
padding-bottom: 5px;
|
166 |
-
}
|
128 |
|
129 |
.swpm-registration-widget-form input[type="text"], .swpm-registration-widget-form input[type="password"]{
|
130 |
width: 95%;
|
131 |
+
position: relative;
|
132 |
}
|
133 |
|
134 |
/* Edit profile form CSS */
|
164 |
.swpm-select-box-left{
|
165 |
margin: 0;
|
166 |
padding-bottom: 5px;
|
167 |
+
}
|
ipn/swpm-stripe-sca-buy-now-ipn.php
CHANGED
@@ -200,6 +200,9 @@ class SwpmStripeSCABuyNowIpnHandler {
|
|
200 |
$ipn_data['address_zipcode'] = isset( $bd_addr->postal_code ) ? $bd_addr->postal_code : '';
|
201 |
$ipn_data['address_country'] = isset( $bd_addr->country ) ? $bd_addr->country : '';
|
202 |
|
|
|
|
|
|
|
203 |
// Handle the membership signup related tasks.
|
204 |
swpm_handle_subsc_signup_stand_alone( $ipn_data, $membership_level_id, $txn_id, $swpm_id );
|
205 |
|
200 |
$ipn_data['address_zipcode'] = isset( $bd_addr->postal_code ) ? $bd_addr->postal_code : '';
|
201 |
$ipn_data['address_country'] = isset( $bd_addr->country ) ? $bd_addr->country : '';
|
202 |
|
203 |
+
$ipn_data['payment_button_id'] = $button_id;
|
204 |
+
$ipn_data['is_live'] = ! $sandbox_enabled;
|
205 |
+
|
206 |
// Handle the membership signup related tasks.
|
207 |
swpm_handle_subsc_signup_stand_alone( $ipn_data, $membership_level_id, $txn_id, $swpm_id );
|
208 |
|
ipn/swpm_handle_pp_ipn.php
CHANGED
@@ -104,6 +104,18 @@ class swpm_paypal_ipn_handler { // phpcs:ignore
|
|
104 |
array_push( $cart_items, $current_item );
|
105 |
}
|
106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
$counter = 0;
|
108 |
foreach ( $cart_items as $current_cart_item ) {
|
109 |
$cart_item_data_num = $current_cart_item['item_number'];
|
@@ -222,6 +234,12 @@ class swpm_paypal_ipn_handler { // phpcs:ignore
|
|
222 |
$this->debug_log( 'Saving transaction data to the database table.', true );
|
223 |
$this->ipn_data['gateway'] = 'paypal';
|
224 |
$this->ipn_data['status'] = $this->ipn_data['payment_status'];
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
SwpmTransactions::save_txn_record( $this->ipn_data, $cart_items );
|
226 |
$this->debug_log( 'Transaction data saved.', true );
|
227 |
|
104 |
array_push( $cart_items, $current_item );
|
105 |
}
|
106 |
|
107 |
+
/*** Duplicate IPN check ***/
|
108 |
+
// Query the DB to check if we have already processed this transaction or not
|
109 |
+
global $wpdb;
|
110 |
+
$txn_row = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}swpm_payments_tbl WHERE txn_id = %s", $txn_id ), OBJECT );
|
111 |
+
|
112 |
+
// And if we have already processed it, do nothing and return true
|
113 |
+
if (!empty($txn_row)) {
|
114 |
+
$this->debug_log( "This transaction has already been processed (".$txn_id."). Nothing to do here.", true );
|
115 |
+
return true;
|
116 |
+
}
|
117 |
+
/*** End of duplicate IPN check ***/
|
118 |
+
|
119 |
$counter = 0;
|
120 |
foreach ( $cart_items as $current_cart_item ) {
|
121 |
$cart_item_data_num = $current_cart_item['item_number'];
|
234 |
$this->debug_log( 'Saving transaction data to the database table.', true );
|
235 |
$this->ipn_data['gateway'] = 'paypal';
|
236 |
$this->ipn_data['status'] = $this->ipn_data['payment_status'];
|
237 |
+
|
238 |
+
// If the value ipn_data['ip'] is empty, try to detect the customer IP address using the variable custom['user_ip']
|
239 |
+
if (empty($this->ipn_data['ip']) && filter_var($customvariables['user_ip'], FILTER_VALIDATE_IP)) {
|
240 |
+
$this->ipn_data['ip'] = $customvariables['user_ip'];
|
241 |
+
}
|
242 |
+
|
243 |
SwpmTransactions::save_txn_record( $this->ipn_data, $cart_items );
|
244 |
$this->debug_log( 'Transaction data saved.', true );
|
245 |
|
ipn/swpm_handle_subsc_ipn.php
CHANGED
@@ -288,7 +288,9 @@ function swpm_update_member_subscription_start_date_if_applicable( $ipn_data ) {
|
|
288 |
$email = isset( $ipn_data['payer_email'] ) ? $ipn_data['payer_email'] : '';
|
289 |
$subscr_id = $ipn_data['subscr_id'];
|
290 |
$account_state = SwpmSettings::get_instance()->get_value( 'default-account-status', 'active' );
|
291 |
-
|
|
|
|
|
292 |
|
293 |
// We can also query using the email address or SWPM ID (if present in custom var).
|
294 |
|
288 |
$email = isset( $ipn_data['payer_email'] ) ? $ipn_data['payer_email'] : '';
|
289 |
$subscr_id = $ipn_data['subscr_id'];
|
290 |
$account_state = SwpmSettings::get_instance()->get_value( 'default-account-status', 'active' );
|
291 |
+
$account_state = apply_filters( 'swpm_account_status_for_subscription_start_date_update', $account_state );
|
292 |
+
|
293 |
+
swpm_debug_log_subsc( 'Updating subscription start date if applicable for this subscription payment. Subscriber ID: ' . $subscr_id . ', Email: ' . $email . ', Account status: ' . $account_state, true );
|
294 |
|
295 |
// We can also query using the email address or SWPM ID (if present in custom var).
|
296 |
|
languages/simple-membership-es_ES.mo
CHANGED
Binary file
|
languages/simple-membership-es_ES.po
CHANGED
@@ -4,7 +4,7 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: Plugins - Simple Membership - Development (trunk)\n"
|
6 |
"POT-Creation-Date: 2019-05-26 13:48+0600\n"
|
7 |
-
"PO-Revision-Date:
|
8 |
"Last-Translator: \n"
|
9 |
"Language-Team: \n"
|
10 |
"Language: es\n"
|
@@ -12,7 +12,7 @@ msgstr ""
|
|
12 |
"Content-Type: text/plain; charset=UTF-8\n"
|
13 |
"Content-Transfer-Encoding: 8bit\n"
|
14 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
15 |
-
"X-Generator: Poedit 2.
|
16 |
|
17 |
#: classes/class.simple-wp-membership.php:180
|
18 |
msgid "The admin of this site does not allow users to access the wp dashboard."
|
@@ -243,7 +243,7 @@ msgid "Invalid Email Address"
|
|
243 |
msgstr "Dirección de correo electrónico no válido"
|
244 |
|
245 |
#: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36
|
246 |
-
msgid "
|
247 |
msgstr "Ya está cogido"
|
248 |
|
249 |
#: classes/class.swpm-ajax.php:30
|
@@ -1453,12 +1453,16 @@ msgstr "Permiso de acceso al escritorio de administración"
|
|
1453 |
msgid ""
|
1454 |
"SWPM admin dashboard is accessible to admin users only (just like any other "
|
1455 |
"plugin). You can allow users with other WP user role to access the SWPM "
|
1456 |
-
"admin dashboard by selecting a value here."
|
|
|
|
|
1457 |
msgstr ""
|
1458 |
-
"El escritorio de administración de SWPM
|
1459 |
-
"
|
1460 |
-
"con otro perfil de usuario de WP
|
1461 |
-
"SWPM seleccionando un valor aquí."
|
|
|
|
|
1462 |
|
1463 |
#: classes/class.swpm-settings.php:226
|
1464 |
msgid "Force WP User Synchronization"
|
@@ -2967,8 +2971,8 @@ msgid "Stripe Subscription Button Configuration"
|
|
2967 |
msgstr "Ajustes del botón de Suscripción de Stripe"
|
2968 |
|
2969 |
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:109
|
2970 |
-
msgid "Stripe
|
2971 |
-
msgstr "
|
2972 |
|
2973 |
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:125
|
2974 |
msgid "Stripe API Settings"
|
@@ -3105,6 +3109,9 @@ msgstr "El nivel de membresía ha sido actualizado."
|
|
3105 |
msgid "Already a member of this level."
|
3106 |
msgstr "Ya eres miembro de este nivel."
|
3107 |
|
|
|
|
|
|
|
3108 |
#~ msgid "Account already active. <a href=\""
|
3109 |
#~ msgstr "La cuenta ya está activa. <a href=\""
|
3110 |
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: Plugins - Simple Membership - Development (trunk)\n"
|
6 |
"POT-Creation-Date: 2019-05-26 13:48+0600\n"
|
7 |
+
"PO-Revision-Date: 2020-09-09 14:14+1000\n"
|
8 |
"Last-Translator: \n"
|
9 |
"Language-Team: \n"
|
10 |
"Language: es\n"
|
12 |
"Content-Type: text/plain; charset=UTF-8\n"
|
13 |
"Content-Transfer-Encoding: 8bit\n"
|
14 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
15 |
+
"X-Generator: Poedit 2.4.1\n"
|
16 |
|
17 |
#: classes/class.simple-wp-membership.php:180
|
18 |
msgid "The admin of this site does not allow users to access the wp dashboard."
|
243 |
msgstr "Dirección de correo electrónico no válido"
|
244 |
|
245 |
#: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36
|
246 |
+
msgid "Already taken"
|
247 |
msgstr "Ya está cogido"
|
248 |
|
249 |
#: classes/class.swpm-ajax.php:30
|
1453 |
msgid ""
|
1454 |
"SWPM admin dashboard is accessible to admin users only (just like any other "
|
1455 |
"plugin). You can allow users with other WP user role to access the SWPM "
|
1456 |
+
"admin dashboard by selecting a value here. Note that this option cannot work "
|
1457 |
+
"if you enabled the \"Disable Access to WP Dashboard\" option in General "
|
1458 |
+
"Settings."
|
1459 |
msgstr ""
|
1460 |
+
"El escritorio de administración de SWPM es accesible solo para usuarios "
|
1461 |
+
"administrativos (como cualquier otro plugin). Puedes permitir que los "
|
1462 |
+
"usuarios con otro perfil de usuario de WP accedan al escritorio de "
|
1463 |
+
"administración de SWPM seleccionando un valor aquí. Ten en cuenta que esta "
|
1464 |
+
"opción no puede funcionar si activas la opción «Desactivar el acceso al "
|
1465 |
+
"escritorio de WP» en ajustes generales."
|
1466 |
|
1467 |
#: classes/class.swpm-settings.php:226
|
1468 |
msgid "Force WP User Synchronization"
|
2971 |
msgstr "Ajustes del botón de Suscripción de Stripe"
|
2972 |
|
2973 |
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:109
|
2974 |
+
msgid "Stripe API ID"
|
2975 |
+
msgstr "Id. de API de Stripe"
|
2976 |
|
2977 |
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:125
|
2978 |
msgid "Stripe API Settings"
|
3109 |
msgid "Already a member of this level."
|
3110 |
msgstr "Ya eres miembro de este nivel."
|
3111 |
|
3112 |
+
#~ msgid "Aready taken"
|
3113 |
+
#~ msgstr "Ya está cogido"
|
3114 |
+
|
3115 |
#~ msgid "Account already active. <a href=\""
|
3116 |
#~ msgstr "La cuenta ya está activa. <a href=\""
|
3117 |
|
languages/simple-membership-fr_FR.mo
CHANGED
Binary file
|
languages/simple-membership-fr_FR.po
CHANGED
@@ -1981,3 +1981,464 @@ msgstr ""
|
|
1981 |
|
1982 |
msgid "This content is for members only."
|
1983 |
msgstr "Ce contenu est réservé aux abonnés."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1981 |
|
1982 |
msgid "This content is for members only."
|
1983 |
msgstr "Ce contenu est réservé aux abonnés."
|
1984 |
+
|
1985 |
+
#: classes/class.simple-wp-membership.php:646
|
1986 |
+
#: classes/class.simple-wp-membership.php:650
|
1987 |
+
msgid "Validating, please wait"
|
1988 |
+
msgstr "Validation en cours, veuillez patienter"
|
1989 |
+
|
1990 |
+
#: classes/class.simple-wp-membership.php:653
|
1991 |
+
msgid "Invalid email address"
|
1992 |
+
msgstr "Addresse email invalide"
|
1993 |
+
|
1994 |
+
#: classes/class.simple-wp-membership.php:656
|
1995 |
+
msgid "This field is required"
|
1996 |
+
msgstr "Ce champ est requis"
|
1997 |
+
|
1998 |
+
msgid "Password must contain at least:"
|
1999 |
+
msgstr "Le mot de passe doit contenir au minimum:"
|
2000 |
+
|
2001 |
+
msgid "- a digit"
|
2002 |
+
msgstr "- un chiffre"
|
2003 |
+
|
2004 |
+
msgid "- an uppercase letter"
|
2005 |
+
msgstr "- une majuscule"
|
2006 |
+
|
2007 |
+
msgid "- a lowercase letter"
|
2008 |
+
msgstr "- une minuscule"
|
2009 |
+
|
2010 |
+
#: classes/class.simple-wp-membership.php:659
|
2011 |
+
msgid "Usernames can only contain: letters, numbers and .-_*@"
|
2012 |
+
msgstr "Le nom d'utilisateur ne peut contenir que: lettres, chiffres et .-_*@"
|
2013 |
+
|
2014 |
+
#: classes/class.simple-wp-membership.php:662
|
2015 |
+
msgid "Minimum "
|
2016 |
+
msgstr "Au moins "
|
2017 |
+
|
2018 |
+
#: classes/class.simple-wp-membership.php:663
|
2019 |
+
msgid " characters required"
|
2020 |
+
msgstr " caractères sont requis"
|
2021 |
+
|
2022 |
+
#: classes/class.simple-wp-membership.php:666
|
2023 |
+
msgid "Apostrophe character is not allowed"
|
2024 |
+
msgstr "Le caractere Apostrophe n'est pas autorisé"
|
2025 |
+
|
2026 |
+
#: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36
|
2027 |
+
msgid "Already taken"
|
2028 |
+
msgstr "Déjà utilisé"
|
2029 |
+
|
2030 |
+
#: classes/class.swpm-auth.php:58
|
2031 |
+
msgid "Click here"
|
2032 |
+
msgstr "Cliquez ici"
|
2033 |
+
|
2034 |
+
#: classes/class.swpm-auth.php:58
|
2035 |
+
msgid " to see the profile you are currently logged into in this browser."
|
2036 |
+
msgstr " pour voir le profil avec lequel vous êtes actuellement connecté"
|
2037 |
+
|
2038 |
+
#: classes/class.swpm-auth.php:146
|
2039 |
+
#, php-format
|
2040 |
+
msgid ""
|
2041 |
+
"You need to activate your account. If you didn't receive an email then %s to "
|
2042 |
+
"resend the activation email."
|
2043 |
+
msgstr ""
|
2044 |
+
"Vous devez activer votre compte. Si vous n'avez pas reçu d'email, alors %s pour "
|
2045 |
+
"envoyer un nouvel email d'activation"
|
2046 |
+
|
2047 |
+
#: classes/class.swpm-auth.php:146
|
2048 |
+
#: classes/class.swpm-front-registration.php:376
|
2049 |
+
#: classes/class.swpm-front-registration.php:426
|
2050 |
+
#: classes/class.swpm-utils-misc.php:169
|
2051 |
+
msgid "click here"
|
2052 |
+
msgstr "cliquez ici"
|
2053 |
+
|
2054 |
+
#: classes/class.swpm-form.php:31
|
2055 |
+
msgid ""
|
2056 |
+
" Use a different username to complete the registration. If you want to use "
|
2057 |
+
"that username then you must enter the correct email address associated with "
|
2058 |
+
"the existing WP user to connect with that account."
|
2059 |
+
msgstr ""
|
2060 |
+
"Utilisez un nom d'utilisateur différent pour terminer l'enregistrement. Si vous souhaitez "
|
2061 |
+
"utiliser ce nom d'utilisateur, vous devez entrer l'adresse email correcte associé à "
|
2062 |
+
"l'utilisateur WP existant pour vous connecter à ce compte."
|
2063 |
+
|
2064 |
+
#: classes/class.swpm-form.php:38
|
2065 |
+
msgid ""
|
2066 |
+
" Use a different email address to complete the registration. If you want to "
|
2067 |
+
"use that email then you must enter the correct username associated with the "
|
2068 |
+
"existing WP user to connect with that account."
|
2069 |
+
msgstr ""
|
2070 |
+
"Utilisez une adresse e-mail différente pour terminer l'enregistrement. Si vous souhaitez "
|
2071 |
+
"utiliser cet e-mail, vous devez entrer le nom d'utilisateur correct associé à "
|
2072 |
+
"l'utilisateur WP existant pour vous connecter à ce compte."
|
2073 |
+
|
2074 |
+
#: classes/class.swpm-front-registration.php:49
|
2075 |
+
msgid " page to pay for a premium membership."
|
2076 |
+
msgstr " page pour acheter un abonnement premium"
|
2077 |
+
|
2078 |
+
#: classes/class.swpm-front-registration.php:89
|
2079 |
+
msgid "You must accept the terms and conditions."
|
2080 |
+
msgstr "Vous devez accepter les termes et conditions."
|
2081 |
+
|
2082 |
+
#: classes/class.swpm-front-registration.php:100
|
2083 |
+
msgid "You must agree to the privacy policy."
|
2084 |
+
msgstr "Vous devez accepter la politique de confidentialité"
|
2085 |
+
|
2086 |
+
#: classes/class.swpm-front-registration.php:140
|
2087 |
+
msgid "You need to confirm your email address. Please check your email and follow instructions to complete your registration."
|
2088 |
+
msgstr "Vous devez confirmer votre adresse e-mail. Veuillez vérifier vos emails et suivre les instructions pour terminer votre inscription."
|
2089 |
+
|
2090 |
+
#: classes/class.swpm-front-registration.php:301
|
2091 |
+
msgid "Captcha validation failed."
|
2092 |
+
msgstr "La validation du captcha a échoué."
|
2093 |
+
|
2094 |
+
#: classes/class.swpm-front-registration.php:371
|
2095 |
+
msgid "Can't find member account."
|
2096 |
+
msgstr "Impossible de trouver le compte membre."
|
2097 |
+
|
2098 |
+
#: classes/class.swpm-front-registration.php:376
|
2099 |
+
#: classes/class.swpm-front-registration.php:426
|
2100 |
+
msgid "Account already active. "
|
2101 |
+
msgstr "Compte déjà actif. "
|
2102 |
+
|
2103 |
+
#: classes/class.swpm-front-registration.php:376
|
2104 |
+
#: classes/class.swpm-front-registration.php:426
|
2105 |
+
msgid " to login."
|
2106 |
+
msgstr " pour se connecter."
|
2107 |
+
|
2108 |
+
#: classes/class.swpm-front-registration.php:383
|
2109 |
+
msgid ""
|
2110 |
+
"Activation code mismatch. Cannot activate this account. Please contact the "
|
2111 |
+
"site admin."
|
2112 |
+
msgstr ""
|
2113 |
+
"Incompatibilité du code d'activation. Impossible d'activer ce compte. Veuillez contacter"
|
2114 |
+
"l'administrateur du site."
|
2115 |
+
|
2116 |
+
#: classes/class.swpm-front-registration.php:397
|
2117 |
+
msgid "Success! Your account has been activated successfully."
|
2118 |
+
msgstr "Succès! Votre compte a été activé avec succès."
|
2119 |
+
|
2120 |
+
#: classes/class.swpm-front-registration.php:421
|
2121 |
+
msgid "Cannot find member account."
|
2122 |
+
msgstr "Impossible de trouver le compte membre."
|
2123 |
+
|
2124 |
+
#: classes/class.swpm-front-registration.php:443
|
2125 |
+
msgid ""
|
2126 |
+
"Activation email has been sent. Please check your email and activate your "
|
2127 |
+
"account."
|
2128 |
+
msgstr ""
|
2129 |
+
"Un e-mail d'activation a été envoyé. Veuillez vérifier votre messagerie et activer "
|
2130 |
+
"votre compte."
|
2131 |
+
|
2132 |
+
#: classes/class.swpm-members.php:27
|
2133 |
+
msgid "Last Login Date"
|
2134 |
+
msgstr "Date de la dernière connexion"
|
2135 |
+
|
2136 |
+
#: classes/class.swpm-membership-levels.php:269
|
2137 |
+
msgid "Post and Page Protection"
|
2138 |
+
msgstr "Protection des publications et des pages"
|
2139 |
+
|
2140 |
+
#: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53
|
2141 |
+
#: classes/class.swpm-post-list.php:63
|
2142 |
+
msgid "Title"
|
2143 |
+
msgstr "Titre"
|
2144 |
+
|
2145 |
+
#: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54
|
2146 |
+
#: classes/class.swpm-post-list.php:64
|
2147 |
+
msgid "Author"
|
2148 |
+
msgstr "Auteur"
|
2149 |
+
|
2150 |
+
#: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56
|
2151 |
+
#: classes/class.swpm-post-list.php:66
|
2152 |
+
msgid "Status"
|
2153 |
+
msgstr "Statut"
|
2154 |
+
|
2155 |
+
#: classes/class.swpm-post-list.php:55
|
2156 |
+
msgid "Categories"
|
2157 |
+
msgstr "Catégories"
|
2158 |
+
|
2159 |
+
#: classes/class.swpm-post-list.php:65
|
2160 |
+
msgid "Type"
|
2161 |
+
msgstr "Type"
|
2162 |
+
|
2163 |
+
#: classes/class.swpm-post-list.php:125
|
2164 |
+
msgid "Protection settings updated!"
|
2165 |
+
msgstr "Paramètres de protection mis à jour!"
|
2166 |
+
|
2167 |
+
#: classes/class.swpm-post-list.php:230
|
2168 |
+
msgid "No items found."
|
2169 |
+
msgstr "Aucun élément trouvé."
|
2170 |
+
|
2171 |
+
#: classes/class.swpm-protection.php:22
|
2172 |
+
msgid ""
|
2173 |
+
"The category or parent category of this post is protected. You can change "
|
2174 |
+
"the category protection settings from the "
|
2175 |
+
msgstr ""
|
2176 |
+
"La catégorie ou la catégorie parent de ce message est protégée. Vous pouvez "
|
2177 |
+
"modifier les paramètres de protection de catégorie à partir du "
|
2178 |
+
|
2179 |
+
#: classes/class.swpm-protection.php:23
|
2180 |
+
msgid "category protection menu"
|
2181 |
+
msgstr "menu de protection de catégorie"
|
2182 |
+
|
2183 |
+
#: classes/class.swpm-utils-member.php:80
|
2184 |
+
msgid "No Expiry"
|
2185 |
+
msgstr "Pas d'expiration"
|
2186 |
+
|
2187 |
+
#: classes/class.swpm-utils-misc.php:168
|
2188 |
+
#, php-format
|
2189 |
+
msgid ""
|
2190 |
+
"You will be automatically redirected in a few seconds. If not, please %s."
|
2191 |
+
msgstr ""
|
2192 |
+
"Vous serez automatiquement redirigé dans quelques secondes. Sinon, veuillez %s."
|
2193 |
+
|
2194 |
+
#: classes/class.swpm-utils-misc.php:172
|
2195 |
+
msgid "Action Status"
|
2196 |
+
msgstr "État de l'action"
|
2197 |
+
|
2198 |
+
#: classes/class.swpm-utils-misc.php:421
|
2199 |
+
msgid "(Please Select)"
|
2200 |
+
msgstr "(Veuillez sélectionner)"
|
2201 |
+
|
2202 |
+
#: classes/class.swpm-utils.php:118 views/admin_members_list.php:21
|
2203 |
+
msgid "Activation Required"
|
2204 |
+
msgstr "Activation requise"
|
2205 |
+
|
2206 |
+
#: classes/class.swpm-utils.php:119
|
2207 |
+
msgid "Male"
|
2208 |
+
msgstr "Homme"
|
2209 |
+
|
2210 |
+
#: classes/class.swpm-utils.php:120
|
2211 |
+
msgid "Female"
|
2212 |
+
msgstr "Femme"
|
2213 |
+
|
2214 |
+
#: classes/class.swpm-utils.php:121
|
2215 |
+
msgid "Not Specified"
|
2216 |
+
msgstr "Ne se prononce pas"
|
2217 |
+
|
2218 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:115
|
2219 |
+
msgid "Logged in as: "
|
2220 |
+
msgstr "Connecté en tant que:"
|
2221 |
+
|
2222 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:121
|
2223 |
+
msgid "Login Here"
|
2224 |
+
msgstr "Connectez-vous ici"
|
2225 |
+
|
2226 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:122
|
2227 |
+
msgid "Not a member? "
|
2228 |
+
msgstr "Pas un membre?"
|
2229 |
+
|
2230 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:123
|
2231 |
+
msgid "Join Now"
|
2232 |
+
msgstr "Créer un compte maintenant"
|
2233 |
+
|
2234 |
+
#: ipn/swpm-smart-checkout-ipn.php:260 ipn/swpm-smart-checkout-ipn.php:285
|
2235 |
+
#, php-format
|
2236 |
+
msgid "Error occured during payment verification. Error code: %d. Message: %s"
|
2237 |
+
msgstr "Une erreur s'est produite lors de la vérification du paiement. Code d'erreur: %d. Messages :%s"
|
2238 |
+
|
2239 |
+
#: ipn/swpm-smart-checkout-ipn.php:298
|
2240 |
+
#, php-format
|
2241 |
+
msgid ""
|
2242 |
+
"Payment check failed: invalid amount received. Expected %s %s, got %s %s."
|
2243 |
+
msgstr ""
|
2244 |
+
"Le chèque de paiement a échoué: montant non valide reçu. Attendu %s %s, obtenu %s %s."
|
2245 |
+
|
2246 |
+
#: ipn/swpm-smart-checkout-ipn.php:315
|
2247 |
+
msgid "Empty payment data received."
|
2248 |
+
msgstr "Données de paiement vides reçues."
|
2249 |
+
|
2250 |
+
#: ipn/swpm-smart-checkout-ipn.php:355
|
2251 |
+
msgid "IPN product validation failed. Check debug log for more details."
|
2252 |
+
msgstr "La validation du produit IPN a échoué. Consultez le journal de débogage pour plus de détails."
|
2253 |
+
|
2254 |
+
#: views/account_delete_warning.php:7
|
2255 |
+
msgid ""
|
2256 |
+
"You are about to delete an account. This will delete user data associated "
|
2257 |
+
"with this account. "
|
2258 |
+
msgstr ""
|
2259 |
+
"Vous êtes sur le point de supprimer un compte. Cela supprimera les données "
|
2260 |
+
"utilisateur associées à ce compte."
|
2261 |
+
|
2262 |
+
#: views/account_delete_warning.php:8
|
2263 |
+
msgid "It will also delete associated WordPress user account."
|
2264 |
+
msgstr "Cela supprimera également le compte d'utilisateur WordPress associé."
|
2265 |
+
|
2266 |
+
#: views/account_delete_warning.php:9
|
2267 |
+
msgid ""
|
2268 |
+
"(NOTE: for safety, we do not allow deletion of any associated WordPress "
|
2269 |
+
"account with administrator role)."
|
2270 |
+
msgstr ""
|
2271 |
+
"(REMARQUE: pour des raisons de sécurité, nous n'autorisons pas la suppression "
|
2272 |
+
"de tout compte WordPress associé avec le rôle d'administrateur)."
|
2273 |
+
|
2274 |
+
#: views/account_delete_warning.php:10
|
2275 |
+
msgid "Continue?"
|
2276 |
+
msgstr "Continuer?"
|
2277 |
+
|
2278 |
+
#: views/account_delete_warning.php:13
|
2279 |
+
msgid "Password: "
|
2280 |
+
msgstr "Mot de passe:"
|
2281 |
+
|
2282 |
+
#: views/account_delete_warning.php:14
|
2283 |
+
msgid "Confirm Account Deletion"
|
2284 |
+
msgstr "Confirmer la suppression du compte"
|
2285 |
+
|
2286 |
+
#: views/add.php:65
|
2287 |
+
msgid "I accept the "
|
2288 |
+
msgstr "J'accepte les"
|
2289 |
+
|
2290 |
+
#: views/add.php:77
|
2291 |
+
msgid "I agree to the "
|
2292 |
+
msgstr "Je suis d'accord avec la"
|
2293 |
+
|
2294 |
+
#: views/add.php:77
|
2295 |
+
msgid "Privacy Policy"
|
2296 |
+
msgstr "Politique de confidentialité"
|
2297 |
+
|
2298 |
+
#: views/edit.php:71
|
2299 |
+
msgid "Company Name"
|
2300 |
+
msgstr "Nom de l'entreprise"
|
2301 |
+
|
2302 |
+
#: views/loggedin.php:26
|
2303 |
+
msgid "Edit Profile"
|
2304 |
+
msgstr "Editer le profil"
|
2305 |
+
|
2306 |
+
#: views/login.php:33
|
2307 |
+
msgid "Forgot Password?"
|
2308 |
+
msgstr "Mot de passe oublié?"
|
2309 |
+
|
2310 |
+
#: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:137
|
2311 |
+
msgid "Error occured during PayPal Smart Checkout process."
|
2312 |
+
msgstr "Une erreur s'est produite lors du processus de paiement PayPal Smart Checkout."
|
2313 |
+
|
2314 |
+
#: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:165
|
2315 |
+
msgid "HTTP error occured during payment process:"
|
2316 |
+
msgstr "Une erreur HTTP s'est produite lors du processus de paiement:"
|
2317 |
+
|
2318 |
+
#: Translation strings from addons === Form builder addon
|
2319 |
+
msgid "Type password here"
|
2320 |
+
msgstr "Tapez le mot de passe ici"
|
2321 |
+
|
2322 |
+
msgid "Retype password here"
|
2323 |
+
msgstr "Retapez le mot de passe ici"
|
2324 |
+
|
2325 |
+
msgid ""
|
2326 |
+
"Check this box to delete the image. The image will be deleted when you save "
|
2327 |
+
"the profile."
|
2328 |
+
msgstr ""
|
2329 |
+
"Cochez cette case pour supprimer l'image. L'image sera supprimée lorsque vous "
|
2330 |
+
"enregistrez le profil."
|
2331 |
+
|
2332 |
+
msgid "You will need to re-login since you changed your password."
|
2333 |
+
msgstr "Vous allez devoir vous reconnecter car vous avez changé votre mot de passe."
|
2334 |
+
|
2335 |
+
msgid ""
|
2336 |
+
"Please enter any two digits with <strong>no</strong> spaces (Example: 12)"
|
2337 |
+
msgstr ""
|
2338 |
+
"Veuillez saisir deux chiffres avec <strong>aucun</strong> espace (Exemple: 12)"
|
2339 |
+
|
2340 |
+
msgid "Verification"
|
2341 |
+
msgstr "Vérification"
|
2342 |
+
|
2343 |
+
msgid "Please enter any two digits with no spaces (Example: 12)*"
|
2344 |
+
msgstr "Veuillez saisir deux chiffres sans espace (Exemple: 12)*"
|
2345 |
+
|
2346 |
+
msgid "Username can only contain: letters, numbers and .-*@"
|
2347 |
+
msgstr "Le nom d'utilisateur ne peut contenir que: des lettres, des chiffres et .-*@"
|
2348 |
+
|
2349 |
+
msgid "Allowed characters are: letters, numbers and .-_*@"
|
2350 |
+
msgstr "Les caractères autorisés sont: lettres, chiffres et .-_*@"
|
2351 |
+
|
2352 |
+
msgid "Please check at least one."
|
2353 |
+
msgstr "Veuillez en cocher au moins un."
|
2354 |
+
|
2355 |
+
#: === Member Directory Listing addon strings swpm-member-directory-admin.php:9
|
2356 |
+
msgid "Member Directory"
|
2357 |
+
msgstr "Annuaire des membres"
|
2358 |
+
|
2359 |
+
#: includes/swpm_mda_show_profile.php:26
|
2360 |
+
msgid "Member ID"
|
2361 |
+
msgstr "ID Membre"
|
2362 |
+
|
2363 |
+
#: includes/swpm_mda_show_profile.php:30
|
2364 |
+
msgid "Level"
|
2365 |
+
msgstr "Niveau"
|
2366 |
+
|
2367 |
+
#: includes/swpm_mda_show_profile.php:32
|
2368 |
+
msgid "Address"
|
2369 |
+
msgstr "Adresse"
|
2370 |
+
|
2371 |
+
#: views/template-1.php:52 views/template-2.php:53
|
2372 |
+
msgid "Search..."
|
2373 |
+
msgstr "Chercher..."
|
2374 |
+
|
2375 |
+
#: views/template-1.php:60 views/template-2.php:62
|
2376 |
+
msgid "Clear Search"
|
2377 |
+
msgstr "Effacer la recherche"
|
2378 |
+
|
2379 |
+
# === Misc Shortcodes Addon ===
|
2380 |
+
msgid "You must be logged in to upgrade a membership."
|
2381 |
+
msgstr "Vous devez être connecté pour mettre à niveau un abonnement."
|
2382 |
+
|
2383 |
+
msgid "Membership level has been updated."
|
2384 |
+
msgstr "Le niveau d'adhésion a été mis à jour."
|
2385 |
+
|
2386 |
+
msgid "Already a member of this level."
|
2387 |
+
msgstr "Déjà membre de ce niveau."
|
2388 |
+
|
2389 |
+
#: classes/class.simple-wp-membership.php:242
|
2390 |
+
msgid ""
|
2391 |
+
"Error! This site has the force WP user login feature enabled in the "
|
2392 |
+
"settings. We could not find a WP user record for the given username: "
|
2393 |
+
msgstr ""
|
2394 |
+
"Erreur! Ce site a la fonction de connexion utilisateur de force WP activée "
|
2395 |
+
"dans les paramètres. Nous n'avons pas pu trouver d'enregistrement "
|
2396 |
+
"d'utilisateur WP pour le nom d'utilisateur donné: "
|
2397 |
+
|
2398 |
+
#: classes/class.simple-wp-membership.php:243
|
2399 |
+
msgid ""
|
2400 |
+
"This error is triggered when a member account doesn't have a corresponding "
|
2401 |
+
"WP user account. So the plugin fails to log the user into the WP User system."
|
2402 |
+
msgstr ""
|
2403 |
+
"Cette erreur est déclenchée lorsqu'un compte membre n'a pas de compte utilisateur WP correspondant."
|
2404 |
+
" Le plugin ne parvient donc pas à connecter l'utilisateur au système WP User."
|
2405 |
+
|
2406 |
+
#: classes/class.simple-wp-membership.php:244
|
2407 |
+
msgid ""
|
2408 |
+
"Contact the site admin and request them to check your username in the WP "
|
2409 |
+
"Users menu to see what happened with the WP user entry of your account."
|
2410 |
+
msgstr ""
|
2411 |
+
"Contactez l'administrateur du site et demandez-lui de vérifier votre nom d'utilisateur dans le "
|
2412 |
+
"menu Utilisateurs WP pour voir ce qui s'est passé avec votre utilisateur WP."
|
2413 |
+
|
2414 |
+
#: classes/class.simple-wp-membership.php:245
|
2415 |
+
msgid ""
|
2416 |
+
"The site admin can disable the Force WP User Synchronization feature in the "
|
2417 |
+
"settings to disable this feature and this error will go away."
|
2418 |
+
msgstr ""
|
2419 |
+
"L'administrateur du site peut désactiver la fonctionnalité Force WP User Synchronization "
|
2420 |
+
"dans les paramètres pour désactiver cette fonctionnalité et cette erreur disparaîtra."
|
2421 |
+
|
2422 |
+
#: classes/class.simple-wp-membership.php:246
|
2423 |
+
msgid "You can use the back button of your browser to go back to the site."
|
2424 |
+
msgstr "Vous pouvez utiliser le bouton retour de votre navigateur pour revenir sur le site."
|
2425 |
+
|
2426 |
+
#: classes/class.simple-wp-membership.php:504
|
2427 |
+
msgid "No, Do not protect this content."
|
2428 |
+
msgstr "Non, ne pas protéger ce contenu."
|
2429 |
+
|
2430 |
+
#: classes/class.simple-wp-membership.php:505
|
2431 |
+
msgid "Yes, Protect this content."
|
2432 |
+
msgstr "Oui, protéger ce contenu."
|
2433 |
+
|
2434 |
+
#: classes/class.swpm-auth.php:59
|
2435 |
+
msgid ""
|
2436 |
+
"You are logged into the site as an ADMIN user in this browser. First, logout "
|
2437 |
+
"from WP Admin then you will be able to log in as a normal member."
|
2438 |
+
msgstr ""
|
2439 |
+
"Vous êtes connecté au site en tant qu'utilisateur ADMIN dans ce navigateur. Tout d'abord, "
|
2440 |
+
"déconnectez-vous de WP Admin, puis vous pourrez vous connecter en tant que membre normal."
|
2441 |
+
|
2442 |
+
#: classes/class.swpm-settings.php:251 views/add.php:65
|
2443 |
+
msgid "Terms and Conditions"
|
2444 |
+
msgstr "Termes et Conditions"
|
languages/simple-membership-nl_NL.mo
CHANGED
Binary file
|
languages/simple-membership-nl_NL.po
CHANGED
@@ -2,12 +2,12 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: simple membership\n"
|
4 |
"POT-Creation-Date: 2016-08-16 16:04+0300\n"
|
5 |
-
"PO-Revision-Date:
|
6 |
"Language-Team: \n"
|
7 |
"MIME-Version: 1.0\n"
|
8 |
"Content-Type: text/plain; charset=UTF-8\n"
|
9 |
"Content-Transfer-Encoding: 8bit\n"
|
10 |
-
"X-Generator: Poedit
|
11 |
"X-Poedit-KeywordsList: __;_e\n"
|
12 |
"X-Poedit-Basepath: .\n"
|
13 |
"Last-Translator: Websites with a Heart <info@websiteswithaheart.com>\n"
|
@@ -91,16 +91,16 @@ msgstr "Deze inhoud is niet toegankelijk voor jouw lidmaatschap."
|
|
91 |
#: classes/class.swpm-access-control.php:84
|
92 |
msgid " The rest of the content is not permitted for your membership level."
|
93 |
msgstr ""
|
94 |
-
"De rest van de inhoud is niet toegankelijk voor jouw lidmaatschapsniveau."
|
95 |
|
96 |
#: classes/class.swpm-access-control.php:88
|
97 |
#: classes/class.swpm-access-control.php:106
|
98 |
msgid "You need to login to view the rest of the content. "
|
99 |
-
msgstr "Je moet inloggen om de rest van deze inhoud te bekijken."
|
100 |
|
101 |
#: classes/class.swpm-admin-registration.php:54
|
102 |
msgid "Member record added successfully."
|
103 |
-
msgstr "Lid succesvol toegevoegd"
|
104 |
|
105 |
#: classes/class.swpm-admin-registration.php:59
|
106 |
#: classes/class.swpm-admin-registration.php:81
|
@@ -219,7 +219,7 @@ msgstr ""
|
|
219 |
|
220 |
#: classes/class.swpm-form.php:40
|
221 |
msgid "Username is required"
|
222 |
-
msgstr "Gebruikersnaam is verplicht
|
223 |
|
224 |
#: classes/class.swpm-form.php:44
|
225 |
msgid "Username contains invalid character"
|
@@ -227,7 +227,7 @@ msgstr "Gebruikersnaam bevat ongeldig teken"
|
|
227 |
|
228 |
#: classes/class.swpm-form.php:52
|
229 |
msgid "Username already exists."
|
230 |
-
msgstr "Gebruikersnaam bestaat al"
|
231 |
|
232 |
#: classes/class.swpm-form.php:75
|
233 |
msgid "Password is required"
|
@@ -275,7 +275,7 @@ msgstr "Security check: captcha validatie mislukt."
|
|
275 |
|
276 |
#: classes/class.swpm-front-registration.php:80
|
277 |
msgid "Registration Successful. "
|
278 |
-
msgstr "Registratie gelukt."
|
279 |
|
280 |
#: classes/class.swpm-front-registration.php:80
|
281 |
#: classes/class.swpm-settings.php:377
|
@@ -298,7 +298,7 @@ msgstr "Lidmaatschap niveau kon niet worden gevonden."
|
|
298 |
|
299 |
#: classes/class.swpm-front-registration.php:162
|
300 |
msgid "Profile updated successfully."
|
301 |
-
msgstr "Profiel succesvol bijgewerkt"
|
302 |
|
303 |
#: classes/class.swpm-front-registration.php:170
|
304 |
msgid ""
|
@@ -319,7 +319,7 @@ msgstr "Geen gebruiker gevonden met dit e-mailadres."
|
|
319 |
#: classes/class.swpm-front-registration.php:201
|
320 |
#: classes/class.swpm-front-registration.php:225
|
321 |
msgid "Email Address: "
|
322 |
-
msgstr "E-mailadres:"
|
323 |
|
324 |
#: classes/class.swpm-front-registration.php:224
|
325 |
msgid "New password has been sent to your email address."
|
@@ -652,7 +652,7 @@ msgstr "E-mail Instellingen (Wachtwoord herstel)"
|
|
652 |
|
653 |
#: classes/class.swpm-settings.php:131
|
654 |
msgid " Email Settings (Account Upgrade Notification)"
|
655 |
-
msgstr "Email instellingen (Bericht Account Upgrade)"
|
656 |
|
657 |
#: classes/class.swpm-settings.php:152
|
658 |
msgid "Enable Expired Account Login"
|
@@ -807,7 +807,7 @@ msgstr "Je lidmaatschap profiel wordt bijgewerkt met deze betaling."
|
|
807 |
|
808 |
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:48
|
809 |
msgid "Your profile username: "
|
810 |
-
msgstr "Je gebruikersnaam"
|
811 |
|
812 |
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:60
|
813 |
msgid "Click on the following link to complete the registration."
|
@@ -838,7 +838,7 @@ msgstr "Je bent niet ingelogd als lid"
|
|
838 |
#: views/add.php:14 views/admin_add.php:19 views/admin_edit.php:17
|
839 |
#: views/edit.php:13 views/login.php:11
|
840 |
msgid "Password"
|
841 |
-
msgstr "Wachtwoord
|
842 |
|
843 |
#: views/add.php:18 views/edit.php:17
|
844 |
msgid "Repeat Password"
|
@@ -883,7 +883,7 @@ msgid ""
|
|
883 |
msgstr ""
|
884 |
"Hint: Je wachtwoord moet minstens zeven karakters bevatten. Om het sterker "
|
885 |
"te maken gebruik je hoofdletters en kleine letters, nummers en symbolen "
|
886 |
-
"zoals ! ?
|
887 |
|
888 |
#: views/admin_add.php:29 views/admin_edit.php:26 views/loggedin.php:7
|
889 |
msgid "Account Status"
|
@@ -891,7 +891,7 @@ msgstr "Account Status"
|
|
891 |
|
892 |
#: views/admin_add.php:39
|
893 |
msgid "Add New Member "
|
894 |
-
msgstr "Voeg nieuw lid toe"
|
895 |
|
896 |
#: views/admin_addon_settings.php:3 views/admin_settings.php:3
|
897 |
#: views/admin_tools_settings.php:3 views/payments/admin_payment_settings.php:3
|
@@ -912,7 +912,7 @@ msgstr "Opslaan"
|
|
912 |
|
913 |
#: views/admin_add_level.php:6
|
914 |
msgid "Create new membership level."
|
915 |
-
msgstr "Maak een nieuw Lidmaatschap niveau"
|
916 |
|
917 |
#: views/admin_add_level.php:11 views/admin_edit_level.php:10
|
918 |
msgid "Membership Level Name"
|
@@ -964,7 +964,7 @@ msgstr "(Toegang vervalt op een vaste datum)"
|
|
964 |
|
965 |
#: views/admin_add_level.php:38
|
966 |
msgid "Add New Membership Level "
|
967 |
-
msgstr "Voeg een nieuw lidmaatschap niveau toe"
|
968 |
|
969 |
#: views/admin_add_ons_page.php:7
|
970 |
msgid "Simple WP Membership::Add-ons"
|
@@ -1020,7 +1020,7 @@ msgstr "Laatst ingelogd via IP"
|
|
1020 |
|
1021 |
#: views/admin_edit.php:52
|
1022 |
msgid "Edit User "
|
1023 |
-
msgstr "Wijzig gebruiker"
|
1024 |
|
1025 |
#: views/admin_edit_level.php:5
|
1026 |
msgid "Edit membership level"
|
@@ -1041,7 +1041,7 @@ msgstr "Weken (Toegang vervalt na bepaald aantal weken)"
|
|
1041 |
|
1042 |
#: views/admin_edit_level.php:41
|
1043 |
msgid "Edit Membership Level "
|
1044 |
-
msgstr "Wijzig lidmaatschap niveau"
|
1045 |
|
1046 |
#: views/admin_members.php:2
|
1047 |
msgid "Simple WP Membership::Members"
|
@@ -1049,7 +1049,7 @@ msgstr "Simple WP Membership::Leden"
|
|
1049 |
|
1050 |
#: views/admin_members.php:3 views/admin_members_list.php:30
|
1051 |
msgid "Add New"
|
1052 |
-
msgstr "Nieuwe toevoegen
|
1053 |
|
1054 |
#: views/admin_membership_levels.php:2
|
1055 |
msgid "Simple WP Membership::Membership Levels"
|
@@ -1178,8 +1178,8 @@ msgid "Remember Me"
|
|
1178 |
msgstr "Onthoud mij"
|
1179 |
|
1180 |
#: views/login.php:24
|
1181 |
-
msgid "Forgot Password"
|
1182 |
-
msgstr "Wachtwoord vergeten"
|
1183 |
|
1184 |
#: views/payments/admin_all_payment_transactions.php:7
|
1185 |
msgid "All the payments/transactions of your members are recorded here."
|
@@ -1206,7 +1206,7 @@ msgstr "Selecteer Type Betaal-knop"
|
|
1206 |
|
1207 |
#: views/payments/admin_create_payment_buttons.php:34
|
1208 |
msgid "Next"
|
1209 |
-
msgstr "
|
1210 |
|
1211 |
#: views/payments/admin_edit_payment_buttons.php:12
|
1212 |
msgid "You can edit a payment button using this interface."
|
@@ -1252,7 +1252,7 @@ msgstr "Knop titel"
|
|
1252 |
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46
|
1253 |
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227
|
1254 |
msgid "Payment Amount"
|
1255 |
-
msgstr "Te Betalen Bedrag
|
1256 |
|
1257 |
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54
|
1258 |
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235
|
@@ -1273,7 +1273,7 @@ msgstr "Retour URL"
|
|
1273 |
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:86
|
1274 |
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:359
|
1275 |
msgid "PayPal Email"
|
1276 |
-
msgstr "PayPal Email
|
1277 |
|
1278 |
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109
|
1279 |
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290
|
@@ -1307,7 +1307,7 @@ msgstr "Factuur bedrag per cyclus"
|
|
1307 |
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:102
|
1308 |
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:375
|
1309 |
msgid "Billing Cycle"
|
1310 |
-
msgstr "Factureringscyclus
|
1311 |
|
1312 |
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:115
|
1313 |
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:388
|
@@ -1350,3 +1350,18 @@ msgstr "Koop Nu"
|
|
1350 |
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:199
|
1351 |
msgid "Subscribe Now"
|
1352 |
msgstr "Nu inschrijven"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: simple membership\n"
|
4 |
"POT-Creation-Date: 2016-08-16 16:04+0300\n"
|
5 |
+
"PO-Revision-Date: 2021-04-17 00:10+0200\n"
|
6 |
"Language-Team: \n"
|
7 |
"MIME-Version: 1.0\n"
|
8 |
"Content-Type: text/plain; charset=UTF-8\n"
|
9 |
"Content-Transfer-Encoding: 8bit\n"
|
10 |
+
"X-Generator: Poedit 2.4.2\n"
|
11 |
"X-Poedit-KeywordsList: __;_e\n"
|
12 |
"X-Poedit-Basepath: .\n"
|
13 |
"Last-Translator: Websites with a Heart <info@websiteswithaheart.com>\n"
|
91 |
#: classes/class.swpm-access-control.php:84
|
92 |
msgid " The rest of the content is not permitted for your membership level."
|
93 |
msgstr ""
|
94 |
+
" De rest van de inhoud is niet toegankelijk voor jouw lidmaatschapsniveau."
|
95 |
|
96 |
#: classes/class.swpm-access-control.php:88
|
97 |
#: classes/class.swpm-access-control.php:106
|
98 |
msgid "You need to login to view the rest of the content. "
|
99 |
+
msgstr "Je moet inloggen om de rest van deze inhoud te bekijken. "
|
100 |
|
101 |
#: classes/class.swpm-admin-registration.php:54
|
102 |
msgid "Member record added successfully."
|
103 |
+
msgstr "Lid succesvol toegevoegd."
|
104 |
|
105 |
#: classes/class.swpm-admin-registration.php:59
|
106 |
#: classes/class.swpm-admin-registration.php:81
|
219 |
|
220 |
#: classes/class.swpm-form.php:40
|
221 |
msgid "Username is required"
|
222 |
+
msgstr "Gebruikersnaam is verplicht"
|
223 |
|
224 |
#: classes/class.swpm-form.php:44
|
225 |
msgid "Username contains invalid character"
|
227 |
|
228 |
#: classes/class.swpm-form.php:52
|
229 |
msgid "Username already exists."
|
230 |
+
msgstr "Gebruikersnaam bestaat al."
|
231 |
|
232 |
#: classes/class.swpm-form.php:75
|
233 |
msgid "Password is required"
|
275 |
|
276 |
#: classes/class.swpm-front-registration.php:80
|
277 |
msgid "Registration Successful. "
|
278 |
+
msgstr "Registratie gelukt. "
|
279 |
|
280 |
#: classes/class.swpm-front-registration.php:80
|
281 |
#: classes/class.swpm-settings.php:377
|
298 |
|
299 |
#: classes/class.swpm-front-registration.php:162
|
300 |
msgid "Profile updated successfully."
|
301 |
+
msgstr "Profiel succesvol bijgewerkt."
|
302 |
|
303 |
#: classes/class.swpm-front-registration.php:170
|
304 |
msgid ""
|
319 |
#: classes/class.swpm-front-registration.php:201
|
320 |
#: classes/class.swpm-front-registration.php:225
|
321 |
msgid "Email Address: "
|
322 |
+
msgstr "E-mailadres: "
|
323 |
|
324 |
#: classes/class.swpm-front-registration.php:224
|
325 |
msgid "New password has been sent to your email address."
|
652 |
|
653 |
#: classes/class.swpm-settings.php:131
|
654 |
msgid " Email Settings (Account Upgrade Notification)"
|
655 |
+
msgstr " Email instellingen (Bericht Account Upgrade)"
|
656 |
|
657 |
#: classes/class.swpm-settings.php:152
|
658 |
msgid "Enable Expired Account Login"
|
807 |
|
808 |
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:48
|
809 |
msgid "Your profile username: "
|
810 |
+
msgstr "Je gebruikersnaam: "
|
811 |
|
812 |
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:60
|
813 |
msgid "Click on the following link to complete the registration."
|
838 |
#: views/add.php:14 views/admin_add.php:19 views/admin_edit.php:17
|
839 |
#: views/edit.php:13 views/login.php:11
|
840 |
msgid "Password"
|
841 |
+
msgstr "Wachtwoord"
|
842 |
|
843 |
#: views/add.php:18 views/edit.php:17
|
844 |
msgid "Repeat Password"
|
883 |
msgstr ""
|
884 |
"Hint: Je wachtwoord moet minstens zeven karakters bevatten. Om het sterker "
|
885 |
"te maken gebruik je hoofdletters en kleine letters, nummers en symbolen "
|
886 |
+
"zoals ! \" ? $ % ^ & )."
|
887 |
|
888 |
#: views/admin_add.php:29 views/admin_edit.php:26 views/loggedin.php:7
|
889 |
msgid "Account Status"
|
891 |
|
892 |
#: views/admin_add.php:39
|
893 |
msgid "Add New Member "
|
894 |
+
msgstr "Voeg nieuw lid toe "
|
895 |
|
896 |
#: views/admin_addon_settings.php:3 views/admin_settings.php:3
|
897 |
#: views/admin_tools_settings.php:3 views/payments/admin_payment_settings.php:3
|
912 |
|
913 |
#: views/admin_add_level.php:6
|
914 |
msgid "Create new membership level."
|
915 |
+
msgstr "Maak een nieuw Lidmaatschap niveau."
|
916 |
|
917 |
#: views/admin_add_level.php:11 views/admin_edit_level.php:10
|
918 |
msgid "Membership Level Name"
|
964 |
|
965 |
#: views/admin_add_level.php:38
|
966 |
msgid "Add New Membership Level "
|
967 |
+
msgstr "Voeg een nieuw lidmaatschap niveau toe "
|
968 |
|
969 |
#: views/admin_add_ons_page.php:7
|
970 |
msgid "Simple WP Membership::Add-ons"
|
1020 |
|
1021 |
#: views/admin_edit.php:52
|
1022 |
msgid "Edit User "
|
1023 |
+
msgstr "Wijzig gebruiker "
|
1024 |
|
1025 |
#: views/admin_edit_level.php:5
|
1026 |
msgid "Edit membership level"
|
1041 |
|
1042 |
#: views/admin_edit_level.php:41
|
1043 |
msgid "Edit Membership Level "
|
1044 |
+
msgstr "Wijzig lidmaatschap niveau "
|
1045 |
|
1046 |
#: views/admin_members.php:2
|
1047 |
msgid "Simple WP Membership::Members"
|
1049 |
|
1050 |
#: views/admin_members.php:3 views/admin_members_list.php:30
|
1051 |
msgid "Add New"
|
1052 |
+
msgstr "Nieuwe toevoegen"
|
1053 |
|
1054 |
#: views/admin_membership_levels.php:2
|
1055 |
msgid "Simple WP Membership::Membership Levels"
|
1178 |
msgstr "Onthoud mij"
|
1179 |
|
1180 |
#: views/login.php:24
|
1181 |
+
msgid "Forgot Password?"
|
1182 |
+
msgstr "Wachtwoord vergeten?"
|
1183 |
|
1184 |
#: views/payments/admin_all_payment_transactions.php:7
|
1185 |
msgid "All the payments/transactions of your members are recorded here."
|
1206 |
|
1207 |
#: views/payments/admin_create_payment_buttons.php:34
|
1208 |
msgid "Next"
|
1209 |
+
msgstr "Volgende"
|
1210 |
|
1211 |
#: views/payments/admin_edit_payment_buttons.php:12
|
1212 |
msgid "You can edit a payment button using this interface."
|
1252 |
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46
|
1253 |
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227
|
1254 |
msgid "Payment Amount"
|
1255 |
+
msgstr "Te Betalen Bedrag"
|
1256 |
|
1257 |
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54
|
1258 |
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235
|
1273 |
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:86
|
1274 |
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:359
|
1275 |
msgid "PayPal Email"
|
1276 |
+
msgstr "PayPal Email"
|
1277 |
|
1278 |
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109
|
1279 |
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290
|
1307 |
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:102
|
1308 |
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:375
|
1309 |
msgid "Billing Cycle"
|
1310 |
+
msgstr "Factureringscyclus"
|
1311 |
|
1312 |
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:115
|
1313 |
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:388
|
1350 |
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:199
|
1351 |
msgid "Subscribe Now"
|
1352 |
msgstr "Nu inschrijven"
|
1353 |
+
|
1354 |
+
msgid "Username or Email"
|
1355 |
+
msgstr "Gebruikersnaam of e-mailadres"
|
1356 |
+
|
1357 |
+
msgid "Leave empty to keep the current password"
|
1358 |
+
msgstr "Leeg laten om het huidige wachtwoord te behouden"
|
1359 |
+
|
1360 |
+
msgid "Company Name"
|
1361 |
+
msgstr "Bedrijfsnaam"
|
1362 |
+
|
1363 |
+
msgid "(Please Select)"
|
1364 |
+
msgstr "(Maak een keuze)"
|
1365 |
+
|
1366 |
+
msgid "Edit Profile"
|
1367 |
+
msgstr "Wijzig profiel"
|
languages/simple-membership-sl_SI.mo
ADDED
Binary file
|
languages/simple-membership-sl_SI.po
ADDED
@@ -0,0 +1,3021 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Simple Membership\n"
|
4 |
+
"POT-Creation-Date: 2019-05-26 13:48+0600\n"
|
5 |
+
"PO-Revision-Date: 2021-03-24 14:44+0100\n"
|
6 |
+
"Language-Team: \n"
|
7 |
+
"MIME-Version: 1.0\n"
|
8 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
9 |
+
"Content-Transfer-Encoding: 8bit\n"
|
10 |
+
"X-Generator: Poedit 2.4.2\n"
|
11 |
+
"X-Poedit-KeywordsList: __;_e;e\n"
|
12 |
+
"X-Poedit-Basepath: .\n"
|
13 |
+
"Last-Translator: \n"
|
14 |
+
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100>=3 && n"
|
15 |
+
"%100<=4 ? 2 : 3);\n"
|
16 |
+
"Language: sl_SI\n"
|
17 |
+
"X-Poedit-SearchPath-0: .\n"
|
18 |
+
|
19 |
+
#: classes/class.simple-wp-membership.php:180
|
20 |
+
msgid "The admin of this site does not allow users to access the wp dashboard."
|
21 |
+
msgstr ""
|
22 |
+
"Skrbnik tega mesta uporabnikom ne omogoča dostopa do Wordpress nadzorne "
|
23 |
+
"plošče."
|
24 |
+
|
25 |
+
#: classes/class.simple-wp-membership.php:181
|
26 |
+
msgid "Go back to the home page by "
|
27 |
+
msgstr "Vrnite se na domačo stran tako, da "
|
28 |
+
|
29 |
+
#: classes/class.simple-wp-membership.php:181
|
30 |
+
msgid "clicking here"
|
31 |
+
msgstr "kliknete tukaj"
|
32 |
+
|
33 |
+
#: classes/class.simple-wp-membership.php:242
|
34 |
+
msgid ""
|
35 |
+
"Error! This site has the force WP user login feature enabled in the "
|
36 |
+
"settings. We could not find a WP user record for the given username: "
|
37 |
+
msgstr ""
|
38 |
+
"Napaka! Na tem mestu je omogočena funkcija obvezne prijave uporabnika v "
|
39 |
+
"Wordpress v nastavitvah. Za dano uporabniško ime ni bilo mogoče najti "
|
40 |
+
"Wordpress uporabniškega zapisa: "
|
41 |
+
|
42 |
+
#: classes/class.simple-wp-membership.php:243
|
43 |
+
msgid ""
|
44 |
+
"This error is triggered when a member account doesn't have a corresponding "
|
45 |
+
"WP user account. So the plugin fails to log the user into the WP User system."
|
46 |
+
msgstr ""
|
47 |
+
"Ta napaka se sproži, ko račun člana nima ustreznega Wordpress uporabniškega "
|
48 |
+
"računa. Zato vtičnik ne uspe prijaviti uporabnika v Wordpress Uporabniški "
|
49 |
+
"sistem."
|
50 |
+
|
51 |
+
#: classes/class.simple-wp-membership.php:244
|
52 |
+
msgid ""
|
53 |
+
"Contact the site admin and request them to check your username in the WP "
|
54 |
+
"Users menu to see what happened with the WP user entry of your account."
|
55 |
+
msgstr ""
|
56 |
+
"Obrnite se na administratorja spletne strani in ga prosite, da med Wordpress "
|
57 |
+
"uporabnikih preveri vaše uporabniško ime in da si ogleda, kaj se je zgodilo "
|
58 |
+
"z vnosom vašega uporabniškega računa v Wordpressu."
|
59 |
+
|
60 |
+
#: classes/class.simple-wp-membership.php:245
|
61 |
+
msgid ""
|
62 |
+
"The site admin can disable the Force WP User Synchronization feature in the "
|
63 |
+
"settings to disable this feature and this error will go away."
|
64 |
+
msgstr ""
|
65 |
+
|
66 |
+
#: classes/class.simple-wp-membership.php:246
|
67 |
+
msgid "You can use the back button of your browser to go back to the site."
|
68 |
+
msgstr ""
|
69 |
+
"Če se želite vrniti na spletno mesto, uporabite gumb “Nazaj” na vašem "
|
70 |
+
"brskalniku."
|
71 |
+
|
72 |
+
#: classes/class.simple-wp-membership.php:407
|
73 |
+
msgid "You are not logged in."
|
74 |
+
msgstr "Niste prijavljeni."
|
75 |
+
|
76 |
+
#: classes/class.simple-wp-membership.php:458
|
77 |
+
msgid ""
|
78 |
+
"You have the sandbox payment mode enabled in plugin settings. Make sure to "
|
79 |
+
"turn off the sandbox mode when you want to do live transactions."
|
80 |
+
msgstr ""
|
81 |
+
|
82 |
+
#: classes/class.simple-wp-membership.php:473
|
83 |
+
msgid "Simple WP Membership Protection"
|
84 |
+
msgstr ""
|
85 |
+
|
86 |
+
#: classes/class.simple-wp-membership.php:485
|
87 |
+
msgid "Simple Membership Protection options"
|
88 |
+
msgstr ""
|
89 |
+
|
90 |
+
#: classes/class.simple-wp-membership.php:503
|
91 |
+
msgid "Do you want to protect this content?"
|
92 |
+
msgstr "Ali želite zaščititi to vsebino?"
|
93 |
+
|
94 |
+
#: classes/class.simple-wp-membership.php:504
|
95 |
+
msgid "No, Do not protect this content."
|
96 |
+
msgstr "Ne, ne ščiti te vsebine."
|
97 |
+
|
98 |
+
#: classes/class.simple-wp-membership.php:505
|
99 |
+
msgid "Yes, Protect this content."
|
100 |
+
msgstr "Da, zaščitite to vsebino."
|
101 |
+
|
102 |
+
#: classes/class.simple-wp-membership.php:508
|
103 |
+
msgid "Select the membership level that can access this content:"
|
104 |
+
msgstr "Izberite raven članstva, ki lahko dostopa do te vsebine:"
|
105 |
+
|
106 |
+
#: classes/class.simple-wp-membership.php:646
|
107 |
+
#: classes/class.simple-wp-membership.php:650
|
108 |
+
msgid "Validating, please wait"
|
109 |
+
msgstr "Preverjanje veljavnosti, prosimo počakajte"
|
110 |
+
|
111 |
+
#: classes/class.simple-wp-membership.php:653
|
112 |
+
msgid "Invalid email address"
|
113 |
+
msgstr "Neveljaven e-poštni naslov"
|
114 |
+
|
115 |
+
#: classes/class.simple-wp-membership.php:656
|
116 |
+
msgid "This field is required"
|
117 |
+
msgstr "To polje je obvezno"
|
118 |
+
|
119 |
+
msgid "Password must contain at least:"
|
120 |
+
msgstr "Geslo mora vsebovati vsaj:"
|
121 |
+
|
122 |
+
msgid "- a digit"
|
123 |
+
msgstr "- številko"
|
124 |
+
|
125 |
+
msgid "- an uppercase letter"
|
126 |
+
msgstr "- veliko tiskano črko"
|
127 |
+
|
128 |
+
msgid "- a lowercase letter"
|
129 |
+
msgstr "- malo tiskano črko"
|
130 |
+
|
131 |
+
#: classes/class.simple-wp-membership.php:659 classes/class.swpm-auth.php:296
|
132 |
+
msgid "Invalid Username"
|
133 |
+
msgstr "Neveljavno uporabniško ime"
|
134 |
+
|
135 |
+
#: classes/class.simple-wp-membership.php:659
|
136 |
+
msgid "Usernames can only contain: letters, numbers and .-_*@"
|
137 |
+
msgstr "Uporabniško ime lahko vsebuje samo: črke, številke in .-_*@"
|
138 |
+
|
139 |
+
#: classes/class.simple-wp-membership.php:662
|
140 |
+
msgid "Minimum "
|
141 |
+
msgstr "Minimalno "
|
142 |
+
|
143 |
+
#: classes/class.simple-wp-membership.php:663
|
144 |
+
msgid " characters required"
|
145 |
+
msgstr " znakov, ki so potrebni"
|
146 |
+
|
147 |
+
#: classes/class.simple-wp-membership.php:666
|
148 |
+
msgid "Apostrophe character is not allowed"
|
149 |
+
msgstr "Znak apostrofa ni dovoljen"
|
150 |
+
|
151 |
+
#: classes/class.simple-wp-membership.php:697
|
152 |
+
msgid "WP Membership"
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: classes/class.simple-wp-membership.php:698 classes/class.swpm-members.php:11
|
156 |
+
#: classes/class.swpm-members.php:581
|
157 |
+
msgid "Members"
|
158 |
+
msgstr "Uporabniki"
|
159 |
+
|
160 |
+
#: classes/class.simple-wp-membership.php:699
|
161 |
+
#: classes/class.swpm-category-list.php:20
|
162 |
+
#: classes/class.swpm-membership-levels.php:12
|
163 |
+
#: classes/class.swpm-membership-levels.php:265
|
164 |
+
#: classes/class.swpm-post-list.php:21
|
165 |
+
msgid "Membership Levels"
|
166 |
+
msgstr "Ravni članstva"
|
167 |
+
|
168 |
+
#: classes/class.simple-wp-membership.php:700
|
169 |
+
msgid "Settings"
|
170 |
+
msgstr "Nastavitve"
|
171 |
+
|
172 |
+
#: classes/class.simple-wp-membership.php:701
|
173 |
+
msgid "Payments"
|
174 |
+
msgstr "Možnosti plačila"
|
175 |
+
|
176 |
+
#: classes/class.simple-wp-membership.php:702
|
177 |
+
msgid "Add-ons"
|
178 |
+
msgstr "Dodatki"
|
179 |
+
|
180 |
+
#: classes/class.swpm-access-control.php:47
|
181 |
+
#: classes/class.swpm-access-control.php:120
|
182 |
+
msgid "You need to login to view this content. "
|
183 |
+
msgstr "Če si želite ogledati to vsebino, se morate prijaviti. "
|
184 |
+
|
185 |
+
#: classes/class.swpm-access-control.php:56
|
186 |
+
#: classes/class.swpm-access-control.php:128
|
187 |
+
#: classes/class.swpm-access-control.php:212
|
188 |
+
msgid "Your account has expired. "
|
189 |
+
msgstr "Vaš račun je potekel. "
|
190 |
+
|
191 |
+
#: classes/class.swpm-access-control.php:66
|
192 |
+
#: classes/class.swpm-access-control.php:138
|
193 |
+
msgid "This content can only be viewed by members who joined on or before "
|
194 |
+
msgstr "To vsebino si lahko ogledajo le člani, ki so se pridružili "
|
195 |
+
|
196 |
+
#: classes/class.swpm-access-control.php:79
|
197 |
+
#: classes/class.swpm-access-control.php:148
|
198 |
+
msgid "This content is not permitted for your membership level."
|
199 |
+
msgstr "Ta vsebina ni dovoljena za vašo raven članstva."
|
200 |
+
|
201 |
+
#: classes/class.swpm-access-control.php:204
|
202 |
+
msgid "You need to login to view the rest of the content. "
|
203 |
+
msgstr "Za ogled preostale vsebine se morate prijaviti. "
|
204 |
+
|
205 |
+
#: classes/class.swpm-access-control.php:217
|
206 |
+
msgid " The rest of the content is not permitted for your membership level."
|
207 |
+
msgstr "Nadaljnja vsebina ni dovoljena za vašo raven članstva. "
|
208 |
+
|
209 |
+
#: classes/class.swpm-admin-registration.php:25
|
210 |
+
msgid "Error! Nonce verification failed for user registration from admin end."
|
211 |
+
msgstr ""
|
212 |
+
"Napaka! Preverjanje ni uspelo za registracijo uporabnika iz "
|
213 |
+
"administracijskega konca."
|
214 |
+
|
215 |
+
#: classes/class.swpm-admin-registration.php:71
|
216 |
+
msgid "Member record added successfully."
|
217 |
+
msgstr "Zapis člana je bil uspešno dodan."
|
218 |
+
|
219 |
+
#: classes/class.swpm-admin-registration.php:76
|
220 |
+
#: classes/class.swpm-admin-registration.php:124
|
221 |
+
#: classes/class.swpm-admin-registration.php:151
|
222 |
+
#: classes/class.swpm-membership-level.php:73
|
223 |
+
#: classes/class.swpm-membership-level.php:105
|
224 |
+
msgid "Please correct the following:"
|
225 |
+
msgstr "Prosimo, popravite naslednje:"
|
226 |
+
|
227 |
+
#: classes/class.swpm-admin-registration.php:87
|
228 |
+
msgid "Error! Nonce verification failed for user edit from admin end."
|
229 |
+
msgstr ""
|
230 |
+
"Napaka! Preverjanje ni uspelo za urejanje uporabnika s strani skrbnika."
|
231 |
+
|
232 |
+
#: classes/class.swpm-admin-registration.php:139
|
233 |
+
msgid "Your current password"
|
234 |
+
msgstr "Vaše trenutno geslo"
|
235 |
+
|
236 |
+
#: classes/class.swpm-ajax.php:14
|
237 |
+
msgid "Invalid Email Address"
|
238 |
+
msgstr "Neveljaven e-poštni naslov"
|
239 |
+
|
240 |
+
#: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36
|
241 |
+
msgid "Already taken"
|
242 |
+
msgstr "Že uporabljeno"
|
243 |
+
|
244 |
+
#: classes/class.swpm-ajax.php:30
|
245 |
+
msgid "Name contains invalid character"
|
246 |
+
msgstr "Ime vsebuje neveljaven znak"
|
247 |
+
|
248 |
+
#: classes/class.swpm-ajax.php:37
|
249 |
+
msgid "Available"
|
250 |
+
msgstr "Na voljo"
|
251 |
+
|
252 |
+
#: classes/class.swpm-auth.php:57
|
253 |
+
msgid ""
|
254 |
+
"Warning! Simple Membership plugin cannot process this login request to "
|
255 |
+
"prevent you from getting logged out of WP Admin accidentally."
|
256 |
+
msgstr ""
|
257 |
+
"Opozorilo! Vtičnik Simple Membership ne more obdelati te zahteve za prijavo, "
|
258 |
+
"da bi preprečili nenamerno prijavo iz Wordpress administracije."
|
259 |
+
|
260 |
+
#: classes/class.swpm-auth.php:58
|
261 |
+
msgid "Click here"
|
262 |
+
msgstr "Kliknite tukaj"
|
263 |
+
|
264 |
+
#: classes/class.swpm-auth.php:58
|
265 |
+
msgid " to see the profile you are currently logged into in this browser."
|
266 |
+
msgstr ""
|
267 |
+
" če si želite ogleti profil, v katerega ste trenutno prijavljeni v tem "
|
268 |
+
"brskalniku."
|
269 |
+
|
270 |
+
#: classes/class.swpm-auth.php:59
|
271 |
+
msgid ""
|
272 |
+
"You are logged into the site as an ADMIN user in this browser. First, logout "
|
273 |
+
"from WP Admin then you will be able to log in as a normal member."
|
274 |
+
msgstr ""
|
275 |
+
"V tem brskalniku ste prijavljeni na spletno mesto kot administrator. Najprej "
|
276 |
+
"se odjavite iz WP Admin, da se boste potem lahko prijavili kot normalen član."
|
277 |
+
|
278 |
+
#: classes/class.swpm-auth.php:60
|
279 |
+
msgid ""
|
280 |
+
"Alternatively, you can use a different browser (where you are not logged-in "
|
281 |
+
"as ADMIN) to test the membership login."
|
282 |
+
msgstr ""
|
283 |
+
"Druga možnost je, da uporabite drug brskalnik (kjer niste prijavljeni kot "
|
284 |
+
"administrator), da preizkusite prijavo za članstvo."
|
285 |
+
|
286 |
+
#: classes/class.swpm-auth.php:61
|
287 |
+
msgid ""
|
288 |
+
"Your normal visitors or members will never see this message. This message is "
|
289 |
+
"ONLY for ADMIN user."
|
290 |
+
msgstr ""
|
291 |
+
"Vaši obiskovalci ali člani tega sporočila ne bodo videli. To sporočilo je "
|
292 |
+
"prikazano samo administratorju."
|
293 |
+
|
294 |
+
#: classes/class.swpm-auth.php:68
|
295 |
+
msgid "Captcha validation failed on login form."
|
296 |
+
msgstr "Preverjanje veljavnosti Captche v prijavnem obrazcu ni uspelo."
|
297 |
+
|
298 |
+
#: classes/class.swpm-auth.php:93
|
299 |
+
msgid "User Not Found."
|
300 |
+
msgstr "Uporabnik ni bil najden."
|
301 |
+
|
302 |
+
#: classes/class.swpm-auth.php:100
|
303 |
+
msgid "Password Empty or Invalid."
|
304 |
+
msgstr "Geslo prazno ali neveljavno."
|
305 |
+
|
306 |
+
#: classes/class.swpm-auth.php:133
|
307 |
+
msgid "Account is inactive."
|
308 |
+
msgstr "Račun ni aktiven."
|
309 |
+
|
310 |
+
#: classes/class.swpm-auth.php:136 classes/class.swpm-auth.php:162
|
311 |
+
msgid "Account has expired."
|
312 |
+
msgstr "Račun je potekel."
|
313 |
+
|
314 |
+
#: classes/class.swpm-auth.php:139
|
315 |
+
msgid "Account is pending."
|
316 |
+
msgstr "Račun je v čakanju."
|
317 |
+
|
318 |
+
#: classes/class.swpm-auth.php:146
|
319 |
+
#, php-format
|
320 |
+
msgid ""
|
321 |
+
"You need to activate your account. If you didn't receive an email then %s to "
|
322 |
+
"resend the activation email."
|
323 |
+
msgstr ""
|
324 |
+
"Svoj račun morate aktivirati. Če e-poštnega sporočila niste prejeli, %s za "
|
325 |
+
"ponovno pošiljanje e-poštnega sporočila za aktiviranje."
|
326 |
+
|
327 |
+
#: classes/class.swpm-auth.php:146
|
328 |
+
#: classes/class.swpm-front-registration.php:376
|
329 |
+
#: classes/class.swpm-front-registration.php:426
|
330 |
+
#: classes/class.swpm-utils-misc.php:169
|
331 |
+
msgid "click here"
|
332 |
+
msgstr "kliknite tukaj"
|
333 |
+
|
334 |
+
#: classes/class.swpm-auth.php:170
|
335 |
+
msgid "You are logged in as:"
|
336 |
+
msgstr "Prijavljeni ste kot:"
|
337 |
+
|
338 |
+
#: classes/class.swpm-auth.php:234
|
339 |
+
msgid "Logged Out Successfully."
|
340 |
+
msgstr "Odjava uspešna."
|
341 |
+
|
342 |
+
#: classes/class.swpm-auth.php:287
|
343 |
+
msgid "Session Expired."
|
344 |
+
msgstr "Seja je potekla."
|
345 |
+
|
346 |
+
#: classes/class.swpm-auth.php:304
|
347 |
+
msgid "Please login again."
|
348 |
+
msgstr "Prosimo, prijavite se znova."
|
349 |
+
|
350 |
+
#: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:24
|
351 |
+
#: classes/class.swpm-membership-levels.php:11
|
352 |
+
#: classes/class.swpm-membership-levels.php:21
|
353 |
+
#: classes/class.swpm-post-list.php:20
|
354 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:85
|
355 |
+
#: views/add.php:40 views/admin_member_form_common_part.php:2 views/edit.php:75
|
356 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50
|
357 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34
|
358 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:229
|
359 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49
|
360 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:35
|
361 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:317
|
362 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:47
|
363 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:273
|
364 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:99
|
365 |
+
msgid "Membership Level"
|
366 |
+
msgstr "Raven članstva"
|
367 |
+
|
368 |
+
#: classes/class.swpm-category-list.php:33
|
369 |
+
msgid "Category ID"
|
370 |
+
msgstr "ID kategorije"
|
371 |
+
|
372 |
+
#: classes/class.swpm-category-list.php:34
|
373 |
+
msgid "Category Name"
|
374 |
+
msgstr "Ime kategorije"
|
375 |
+
|
376 |
+
#: classes/class.swpm-category-list.php:35
|
377 |
+
msgid "Category Type (Taxonomy)"
|
378 |
+
msgstr "Vrsta kategorije (taksonomija)"
|
379 |
+
|
380 |
+
#: classes/class.swpm-category-list.php:36
|
381 |
+
msgid "Description"
|
382 |
+
msgstr "Opis"
|
383 |
+
|
384 |
+
#: classes/class.swpm-category-list.php:37
|
385 |
+
msgid "Count"
|
386 |
+
msgstr "Število"
|
387 |
+
|
388 |
+
#: classes/class.swpm-category-list.php:92
|
389 |
+
msgid "Category protection updated!"
|
390 |
+
msgstr "Zaščita kategorije posodobljena!"
|
391 |
+
|
392 |
+
#: classes/class.swpm-category-list.php:130
|
393 |
+
msgid "No category found."
|
394 |
+
msgstr "Ni najdene kategorije."
|
395 |
+
|
396 |
+
#: classes/class.swpm-comment-form-related.php:15
|
397 |
+
msgid "Please login to comment."
|
398 |
+
msgstr "Za komentiranje se prosimo prijavite."
|
399 |
+
|
400 |
+
#: classes/class.swpm-comment-form-related.php:40
|
401 |
+
msgid "Please Login to Comment."
|
402 |
+
msgstr "Za komentiranje se prosimo prijavite."
|
403 |
+
|
404 |
+
#: classes/class.swpm-comment-form-related.php:79
|
405 |
+
msgid "Comments not allowed by a non-member."
|
406 |
+
msgstr "Komentarji nečlanom niso dovoljeni."
|
407 |
+
|
408 |
+
#: classes/class.swpm-form.php:30
|
409 |
+
msgid ""
|
410 |
+
"Wordpress account exists with given username. But given email doesn't match."
|
411 |
+
msgstr ""
|
412 |
+
"Wordpress račun z danim uporabniškim imenom že obstaja, vendar se ne ujema z "
|
413 |
+
"e-pošto."
|
414 |
+
|
415 |
+
#: classes/class.swpm-form.php:31
|
416 |
+
msgid ""
|
417 |
+
" Use a different username to complete the registration. If you want to use "
|
418 |
+
"that username then you must enter the correct email address associated with "
|
419 |
+
"the existing WP user to connect with that account."
|
420 |
+
msgstr ""
|
421 |
+
" Za dokončanje registracije uporabite drugo uporabniško ime. Če želite "
|
422 |
+
"uporabiti to uporabniško ime, morate vnesti pravilen e-poštni naslov, "
|
423 |
+
"povezan z obstoječim Wordpress uporabnikom, da se povežete s tem računom."
|
424 |
+
|
425 |
+
#: classes/class.swpm-form.php:37
|
426 |
+
msgid ""
|
427 |
+
"Wordpress account exists with given email. But given username doesn't match."
|
428 |
+
msgstr ""
|
429 |
+
"Wordpress račun z dano e-pošto že obstaja, vendar se uporabniško ime ne "
|
430 |
+
"ujema."
|
431 |
+
|
432 |
+
#: classes/class.swpm-form.php:38
|
433 |
+
msgid ""
|
434 |
+
" Use a different email address to complete the registration. If you want to "
|
435 |
+
"use that email then you must enter the correct username associated with the "
|
436 |
+
"existing WP user to connect with that account."
|
437 |
+
msgstr ""
|
438 |
+
" Za dokončanje registracije uporabite drug e-poštni naslov. Če želite "
|
439 |
+
"uporabiti to e-poštno sporočilo, morate vnesti pravilno uporabniško ime, "
|
440 |
+
"povezano z obstoječim uporabnikom WP, da se povežete s tem računom."
|
441 |
+
|
442 |
+
#: classes/class.swpm-form.php:48
|
443 |
+
msgid "Username is required"
|
444 |
+
msgstr "Uporabniško ime je obvezno"
|
445 |
+
|
446 |
+
#: classes/class.swpm-form.php:52
|
447 |
+
msgid "Username contains invalid character"
|
448 |
+
msgstr "Uporabniško ime vsebuje neveljaven znak"
|
449 |
+
|
450 |
+
#: classes/class.swpm-form.php:60
|
451 |
+
msgid "Username already exists."
|
452 |
+
msgstr "Uporabniško ime že obstaja."
|
453 |
+
|
454 |
+
#: classes/class.swpm-form.php:83
|
455 |
+
msgid "Password is required"
|
456 |
+
msgstr "Geslo je potrebno"
|
457 |
+
|
458 |
+
#: classes/class.swpm-form.php:90
|
459 |
+
msgid "Password mismatch"
|
460 |
+
msgstr "Neskladje gesla"
|
461 |
+
|
462 |
+
#: classes/class.swpm-form.php:101
|
463 |
+
msgid "Email is required"
|
464 |
+
msgstr "E-pošta je potrebna"
|
465 |
+
|
466 |
+
#: classes/class.swpm-form.php:105
|
467 |
+
msgid "Email is invalid"
|
468 |
+
msgstr "E-pošta ni veljavna"
|
469 |
+
|
470 |
+
#: classes/class.swpm-form.php:121
|
471 |
+
msgid "Email is already used."
|
472 |
+
msgstr "Ta e-pošta je že uporabljena."
|
473 |
+
|
474 |
+
#: classes/class.swpm-form.php:179
|
475 |
+
msgid "Member since field is invalid"
|
476 |
+
msgstr "Član, ker je polje neveljavno"
|
477 |
+
|
478 |
+
#: classes/class.swpm-form.php:190
|
479 |
+
msgid "Access starts field is invalid"
|
480 |
+
msgstr ""
|
481 |
+
|
482 |
+
#: classes/class.swpm-form.php:200
|
483 |
+
msgid "Gender field is invalid"
|
484 |
+
msgstr "Polje spola ni veljavno"
|
485 |
+
|
486 |
+
#: classes/class.swpm-form.php:211
|
487 |
+
msgid "Account state field is invalid"
|
488 |
+
msgstr "Polje stanja računa ni veljavno"
|
489 |
+
|
490 |
+
#: classes/class.swpm-form.php:218
|
491 |
+
msgid "Invalid membership level"
|
492 |
+
msgstr "Neveljavna raven članstva"
|
493 |
+
|
494 |
+
#: classes/class.swpm-front-registration.php:33
|
495 |
+
msgid ""
|
496 |
+
"Error! Invalid Request. Could not find a match for the given security code "
|
497 |
+
"and the user ID."
|
498 |
+
msgstr ""
|
499 |
+
"Napaka! Neveljavna zahteva. Ni bilo mogoče najti ujemanja za dano varnostno "
|
500 |
+
"kodo in ID uporabnika."
|
501 |
+
|
502 |
+
#: classes/class.swpm-front-registration.php:45
|
503 |
+
#: classes/class.swpm-utils-misc.php:274 views/login.php:36
|
504 |
+
msgid "Join Us"
|
505 |
+
msgstr "Pridružite se nam"
|
506 |
+
|
507 |
+
#: classes/class.swpm-front-registration.php:47
|
508 |
+
msgid ""
|
509 |
+
"Free membership is disabled on this site. Please make a payment from the "
|
510 |
+
msgstr ""
|
511 |
+
"Brezplačno članstvo je na tej strani onemogočeno. Prosimo, da naročite "
|
512 |
+
|
513 |
+
#: classes/class.swpm-front-registration.php:49
|
514 |
+
msgid " page to pay for a premium membership."
|
515 |
+
msgstr " mesečno članstvo na naši strani."
|
516 |
+
|
517 |
+
#: classes/class.swpm-front-registration.php:51
|
518 |
+
msgid ""
|
519 |
+
"You will receive a unique link via email after the payment. You will be able "
|
520 |
+
"to use that link to complete the premium membership registration."
|
521 |
+
msgstr ""
|
522 |
+
"Po plačilu boste prejeli edinstveno povezavo preko e-pošte. To povezavo "
|
523 |
+
"uporabite za dokončanje registracije članstva."
|
524 |
+
|
525 |
+
#: classes/class.swpm-front-registration.php:79
|
526 |
+
msgid "Security check: captcha validation failed."
|
527 |
+
msgstr "Varnostno preverjanje: preverjanje veljavnosti Captche ni uspelo."
|
528 |
+
|
529 |
+
#: classes/class.swpm-front-registration.php:89
|
530 |
+
msgid "You must accept the terms and conditions."
|
531 |
+
msgstr "Sprejeti morate pogoje in določila."
|
532 |
+
|
533 |
+
#: classes/class.swpm-front-registration.php:100
|
534 |
+
msgid "You must agree to the privacy policy."
|
535 |
+
msgstr "Strinjati se morate s pravilnikom o zasebnosti."
|
536 |
+
|
537 |
+
#: classes/class.swpm-front-registration.php:140
|
538 |
+
msgid ""
|
539 |
+
"You need to confirm your email address. Please check your email and follow "
|
540 |
+
"instructions to complete your registration."
|
541 |
+
msgstr ""
|
542 |
+
"Potrditi morate svoj e-poštni naslov. Preverite e-pošto in upoštevajte "
|
543 |
+
"navodila za dokončanje registracije."
|
544 |
+
|
545 |
+
#: classes/class.swpm-front-registration.php:145
|
546 |
+
msgid "Registration Successful. "
|
547 |
+
msgstr "Registracija uspešna. "
|
548 |
+
|
549 |
+
#: classes/class.swpm-front-registration.php:145
|
550 |
+
#: classes/class.swpm-utils-misc.php:273 classes/class.swpm-utils-misc.php:285
|
551 |
+
msgid "Please"
|
552 |
+
msgstr "Prosimo"
|
553 |
+
|
554 |
+
#: classes/class.swpm-front-registration.php:145
|
555 |
+
#: classes/class.swpm-utils-misc.php:273 views/login.php:30
|
556 |
+
msgid "Login"
|
557 |
+
msgstr "Prijavite se"
|
558 |
+
|
559 |
+
#: classes/class.swpm-front-registration.php:159
|
560 |
+
msgid "Please correct the following"
|
561 |
+
msgstr "Prosimo, popravite naslednje"
|
562 |
+
|
563 |
+
#: classes/class.swpm-front-registration.php:207
|
564 |
+
msgid "Membership Level Couldn't be found."
|
565 |
+
msgstr "Ravni članstva ni bilo mogoče najti."
|
566 |
+
|
567 |
+
#: classes/class.swpm-front-registration.php:258
|
568 |
+
msgid "Error! Nonce verification failed for front end profile edit."
|
569 |
+
msgstr ""
|
570 |
+
|
571 |
+
#: classes/class.swpm-front-registration.php:266
|
572 |
+
msgid "Profile updated successfully."
|
573 |
+
msgstr "Profil je uspešno posodobljen."
|
574 |
+
|
575 |
+
#: classes/class.swpm-front-registration.php:275
|
576 |
+
msgid ""
|
577 |
+
"Profile updated successfully. You will need to re-login since you changed "
|
578 |
+
"your password."
|
579 |
+
msgstr ""
|
580 |
+
"Profil je uspešno posodobljen. Zaradi spremembe gesla se ponovno prijavite."
|
581 |
+
|
582 |
+
#: classes/class.swpm-front-registration.php:289
|
583 |
+
msgid "Please correct the following."
|
584 |
+
msgstr "Prosimo, popravite naslednje."
|
585 |
+
|
586 |
+
#: classes/class.swpm-front-registration.php:301
|
587 |
+
msgid "Captcha validation failed."
|
588 |
+
msgstr "Preverjanje veljavnosti Captche ni uspelo."
|
589 |
+
|
590 |
+
#: classes/class.swpm-front-registration.php:309
|
591 |
+
msgid "Email address not valid."
|
592 |
+
msgstr "E-poštni naslov ni veljaven."
|
593 |
+
|
594 |
+
#: classes/class.swpm-front-registration.php:320
|
595 |
+
msgid "No user found with that email address."
|
596 |
+
msgstr "Noben uporabnik ni bil najden s tem e-poštnim naslovom."
|
597 |
+
|
598 |
+
#: classes/class.swpm-front-registration.php:321
|
599 |
+
#: classes/class.swpm-front-registration.php:350
|
600 |
+
msgid "Email Address: "
|
601 |
+
msgstr "E-poštni naslov: "
|
602 |
+
|
603 |
+
#: classes/class.swpm-front-registration.php:349
|
604 |
+
msgid "New password has been sent to your email address."
|
605 |
+
msgstr "Na vaš e-poštni naslov je bilo poslano novo geslo."
|
606 |
+
|
607 |
+
#: classes/class.swpm-front-registration.php:371
|
608 |
+
msgid "Can't find member account."
|
609 |
+
msgstr "Ne najdem računa člana."
|
610 |
+
|
611 |
+
#: classes/class.swpm-front-registration.php:376
|
612 |
+
#: classes/class.swpm-front-registration.php:426
|
613 |
+
msgid "Account already active. "
|
614 |
+
msgstr "Račun je že aktiven. "
|
615 |
+
|
616 |
+
#: classes/class.swpm-front-registration.php:376
|
617 |
+
#: classes/class.swpm-front-registration.php:426
|
618 |
+
msgid " to login."
|
619 |
+
msgstr " za prijavo."
|
620 |
+
|
621 |
+
#: classes/class.swpm-front-registration.php:383
|
622 |
+
msgid ""
|
623 |
+
"Activation code mismatch. Cannot activate this account. Please contact the "
|
624 |
+
"site admin."
|
625 |
+
msgstr ""
|
626 |
+
"Neskladje aktivacijske kode. Tega računa ni mogoče aktivirati. Obrnite se na "
|
627 |
+
"administratorja spletnega mesta."
|
628 |
+
|
629 |
+
#: classes/class.swpm-front-registration.php:397
|
630 |
+
msgid "Success! Your account has been activated successfully."
|
631 |
+
msgstr "Čestitamo! Vaš račun je bil uspešno aktiviran."
|
632 |
+
|
633 |
+
#: classes/class.swpm-front-registration.php:421
|
634 |
+
msgid "Cannot find member account."
|
635 |
+
msgstr "Računa člana ni mogoče najti."
|
636 |
+
|
637 |
+
#: classes/class.swpm-front-registration.php:443
|
638 |
+
msgid ""
|
639 |
+
"Activation email has been sent. Please check your email and activate your "
|
640 |
+
"account."
|
641 |
+
msgstr ""
|
642 |
+
"Aktivacijsko e-poštno sporočilo je bilo poslano. Preverite e-pošto in "
|
643 |
+
"aktivirajte račun."
|
644 |
+
|
645 |
+
#: classes/class.swpm-init-time-tasks.php:118
|
646 |
+
msgid "Sorry, Nonce verification failed."
|
647 |
+
msgstr "Oprostite, preverjanje ni uspelo."
|
648 |
+
|
649 |
+
#: classes/class.swpm-init-time-tasks.php:125
|
650 |
+
msgid "Sorry, Password didn't match."
|
651 |
+
msgstr "Oprostite, gesla se ne ujemajo."
|
652 |
+
|
653 |
+
#: classes/class.swpm-level-form.php:50
|
654 |
+
msgid "Date format is not valid."
|
655 |
+
msgstr "Oblika datuma ni veljavna."
|
656 |
+
|
657 |
+
#: classes/class.swpm-level-form.php:58
|
658 |
+
msgid "Access duration must be > 0."
|
659 |
+
msgstr "Trajanje dostopa mora biti > 0."
|
660 |
+
|
661 |
+
#: classes/class.swpm-members.php:10
|
662 |
+
msgid "Member"
|
663 |
+
msgstr "Uporabnik"
|
664 |
+
|
665 |
+
#: classes/class.swpm-members.php:19
|
666 |
+
#: classes/class.swpm-membership-levels.php:20
|
667 |
+
msgid "ID"
|
668 |
+
msgstr "ID"
|
669 |
+
|
670 |
+
#: classes/class.swpm-members.php:20 views/add.php:16 views/admin_add.php:11
|
671 |
+
#: views/admin_edit.php:19 views/edit.php:23
|
672 |
+
#: includes/swpm_mda_show_profile.php:27
|
673 |
+
msgid "Username"
|
674 |
+
msgstr "Uporabniško ime"
|
675 |
+
|
676 |
+
#: classes/class.swpm-members.php:21
|
677 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:78
|
678 |
+
#: views/add.php:32 views/admin_member_form_common_part.php:15
|
679 |
+
#: views/edit.php:39 includes/swpm_mda_show_profile.php:28
|
680 |
+
msgid "First Name"
|
681 |
+
msgstr "Ime"
|
682 |
+
|
683 |
+
#: classes/class.swpm-members.php:22
|
684 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:79
|
685 |
+
#: views/add.php:36 views/admin_member_form_common_part.php:19
|
686 |
+
#: views/edit.php:43 includes/swpm_mda_show_profile.php:29
|
687 |
+
msgid "Last Name"
|
688 |
+
msgstr "Priimek"
|
689 |
+
|
690 |
+
#: classes/class.swpm-members.php:23 views/add.php:20 views/edit.php:27
|
691 |
+
#: includes/swpm_mda_show_profile.php:35
|
692 |
+
msgid "Email"
|
693 |
+
msgstr "E-pošta"
|
694 |
+
|
695 |
+
#: classes/class.swpm-members.php:25 views/admin_member_form_common_part.php:11
|
696 |
+
msgid "Access Starts"
|
697 |
+
msgstr "Začetek dostopa"
|
698 |
+
|
699 |
+
#: classes/class.swpm-members.php:26 includes/swpm_mda_show_profile.php:31
|
700 |
+
msgid "Account State"
|
701 |
+
msgstr "Stanje računa"
|
702 |
+
|
703 |
+
#: classes/class.swpm-members.php:27
|
704 |
+
msgid "Last Login Date"
|
705 |
+
msgstr "Datum zadnje prijave"
|
706 |
+
|
707 |
+
#: classes/class.swpm-members.php:46
|
708 |
+
#: classes/class.swpm-membership-levels.php:36
|
709 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:94
|
710 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:102
|
711 |
+
msgid "Delete"
|
712 |
+
msgstr "Izbriši"
|
713 |
+
|
714 |
+
#: classes/class.swpm-members.php:47
|
715 |
+
msgid "Set Status to Active"
|
716 |
+
msgstr "Nastavi status na Aktivno"
|
717 |
+
|
718 |
+
#: classes/class.swpm-members.php:48
|
719 |
+
msgid "Set Status to Active and Notify"
|
720 |
+
msgstr "Nastavi stanje na Aktivno in me obvesti"
|
721 |
+
|
722 |
+
#: classes/class.swpm-members.php:49
|
723 |
+
msgid "Set Status to Inactive"
|
724 |
+
msgstr "Nastavi stanje na Neaktivno"
|
725 |
+
|
726 |
+
#: classes/class.swpm-members.php:50
|
727 |
+
msgid "Set Status to Pending"
|
728 |
+
msgstr "Nastavi stanje na Čakanje"
|
729 |
+
|
730 |
+
#: classes/class.swpm-members.php:51
|
731 |
+
msgid "Set Status to Expired"
|
732 |
+
msgstr "Nastavi stanje na Poteklo"
|
733 |
+
|
734 |
+
#: classes/class.swpm-members.php:72
|
735 |
+
msgid "incomplete"
|
736 |
+
msgstr "nepopolno"
|
737 |
+
|
738 |
+
#: classes/class.swpm-members.php:191
|
739 |
+
msgid "No member found."
|
740 |
+
msgstr "Noben član ni bil najden."
|
741 |
+
|
742 |
+
#: classes/class.swpm-members.php:337
|
743 |
+
msgid "Error! Nonce verification failed for user delete from admin end."
|
744 |
+
msgstr ""
|
745 |
+
|
746 |
+
#: classes/class.swpm-members.php:406 classes/class.swpm-members.php:436
|
747 |
+
msgid "Error! Please select a membership level first."
|
748 |
+
msgstr "Napaka! Najprej izberite raven članstva."
|
749 |
+
|
750 |
+
#: classes/class.swpm-members.php:423
|
751 |
+
msgid "Membership level change operation completed successfully."
|
752 |
+
msgstr "Operacija spremembe ravni članstva se je uspešno zaključila."
|
753 |
+
|
754 |
+
#: classes/class.swpm-members.php:453
|
755 |
+
msgid "Access starts date change operation successfully completed."
|
756 |
+
msgstr "Sprememba datuma začetka dostopa je uspešna."
|
757 |
+
|
758 |
+
#: classes/class.swpm-members.php:462
|
759 |
+
msgid "Bulk Update Membership Level of Members"
|
760 |
+
msgstr ""
|
761 |
+
|
762 |
+
#: classes/class.swpm-members.php:465
|
763 |
+
msgid ""
|
764 |
+
"You can manually change the membership level of any member by editing the "
|
765 |
+
"record from the members menu. "
|
766 |
+
msgstr ""
|
767 |
+
"Raven članstva katerega koli člana lahko ročno spremenite tako, da uredite "
|
768 |
+
"zapis v seznamu članov. "
|
769 |
+
|
770 |
+
#: classes/class.swpm-members.php:466
|
771 |
+
msgid ""
|
772 |
+
"You can use the following option to bulk update the membership level of "
|
773 |
+
"users who belong to the level you select below."
|
774 |
+
msgstr ""
|
775 |
+
"To možnost lahko uporabite za množično posodobite ravne članstva "
|
776 |
+
"uporabnikov, ki pripadajo ravni, ki jo izberete spodaj."
|
777 |
+
|
778 |
+
#: classes/class.swpm-members.php:472 classes/class.swpm-members.php:520
|
779 |
+
msgid "Membership Level: "
|
780 |
+
msgstr "Raven članstva: "
|
781 |
+
|
782 |
+
#: classes/class.swpm-members.php:476
|
783 |
+
msgid "Select Current Level"
|
784 |
+
msgstr "Izberi trenutno raven"
|
785 |
+
|
786 |
+
#: classes/class.swpm-members.php:479
|
787 |
+
msgid ""
|
788 |
+
"Select the current membership level (the membership level of all members who "
|
789 |
+
"are in this level will be updated)."
|
790 |
+
msgstr ""
|
791 |
+
"Izberite trenutno raven članstva (raven članstva vseh članov, ki so na tej "
|
792 |
+
"ravni, bodo posodobljena)."
|
793 |
+
|
794 |
+
#: classes/class.swpm-members.php:485
|
795 |
+
msgid "Level to Change to: "
|
796 |
+
msgstr "Raven, v katero članstvo spreminjate: "
|
797 |
+
|
798 |
+
#: classes/class.swpm-members.php:489
|
799 |
+
msgid "Select Target Level"
|
800 |
+
msgstr "Izberite ciljno raven"
|
801 |
+
|
802 |
+
#: classes/class.swpm-members.php:492
|
803 |
+
msgid "Select the new membership level."
|
804 |
+
msgstr "Izberite novo raven članstva."
|
805 |
+
|
806 |
+
#: classes/class.swpm-members.php:498
|
807 |
+
msgid "Bulk Change Membership Level"
|
808 |
+
msgstr "Skupinska sprememba ravni članstev"
|
809 |
+
|
810 |
+
#: classes/class.swpm-members.php:508
|
811 |
+
msgid "Bulk Update Access Starts Date of Members"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: classes/class.swpm-members.php:512
|
815 |
+
msgid ""
|
816 |
+
"The access starts date of a member is set to the day the user registers. "
|
817 |
+
"This date value is used to calculate how long the member can access your "
|
818 |
+
"content that are protected with a duration type protection in the membership "
|
819 |
+
"level. "
|
820 |
+
msgstr ""
|
821 |
+
|
822 |
+
#: classes/class.swpm-members.php:513
|
823 |
+
msgid ""
|
824 |
+
"You can manually set a specific access starts date value of all members who "
|
825 |
+
"belong to a particular level using the following option."
|
826 |
+
msgstr ""
|
827 |
+
"Določeno vrednost datuma začetka dostopa lahko ročno nastavite za vse člane, "
|
828 |
+
"ki pripadajo določeni ravni, in to z naslednjo možnostjo."
|
829 |
+
|
830 |
+
#: classes/class.swpm-members.php:523
|
831 |
+
msgid "Select Level"
|
832 |
+
msgstr "Izberite raven"
|
833 |
+
|
834 |
+
#: classes/class.swpm-members.php:526
|
835 |
+
msgid ""
|
836 |
+
"Select the Membership level (the access start date of all members who are in "
|
837 |
+
"this level will be updated)."
|
838 |
+
msgstr ""
|
839 |
+
"Izberite raven članstva (datum začetka dostopa vseh članov, ki so na tej "
|
840 |
+
"ravni, bo posodobljen)."
|
841 |
+
|
842 |
+
#: classes/class.swpm-members.php:535
|
843 |
+
msgid "Specify the access starts date value."
|
844 |
+
msgstr "Določite vrednost datuma začetka dostopa."
|
845 |
+
|
846 |
+
#: classes/class.swpm-members.php:541
|
847 |
+
msgid "Bulk Change Access Starts Date"
|
848 |
+
msgstr ""
|
849 |
+
|
850 |
+
#: classes/class.swpm-members.php:576
|
851 |
+
msgid "Simple WP Membership::Members"
|
852 |
+
msgstr "Simple WP Membership::Člani"
|
853 |
+
|
854 |
+
#: classes/class.swpm-members.php:577
|
855 |
+
#: classes/class.swpm-membership-levels.php:226 views/admin_members_list.php:44
|
856 |
+
msgid "Add New"
|
857 |
+
msgstr "Dodaj novo"
|
858 |
+
|
859 |
+
#: classes/class.swpm-members.php:582 views/admin_add.php:6
|
860 |
+
msgid "Add Member"
|
861 |
+
msgstr "Dodaj člana"
|
862 |
+
|
863 |
+
#: classes/class.swpm-members.php:583
|
864 |
+
msgid "Bulk Operation"
|
865 |
+
msgstr "Množično delovanje"
|
866 |
+
|
867 |
+
#: classes/class.swpm-membership-level.php:52
|
868 |
+
msgid ""
|
869 |
+
"Error! Nonce verification failed for membership level creation from admin "
|
870 |
+
"end."
|
871 |
+
msgstr ""
|
872 |
+
|
873 |
+
#: classes/class.swpm-membership-level.php:68
|
874 |
+
msgid "Membership Level Creation Successful."
|
875 |
+
msgstr "Ustvarjanje ravni članstva uspešno."
|
876 |
+
|
877 |
+
#: classes/class.swpm-membership-level.php:84
|
878 |
+
msgid ""
|
879 |
+
"Error! Nonce verification failed for membership level edit from admin end."
|
880 |
+
msgstr ""
|
881 |
+
|
882 |
+
#: classes/class.swpm-membership-level.php:100
|
883 |
+
msgid "Membership Level Updated Successfully."
|
884 |
+
msgstr "Raven članstva je bila uspešno posodobljena."
|
885 |
+
|
886 |
+
#: classes/class.swpm-membership-levels.php:22
|
887 |
+
msgid "Role"
|
888 |
+
msgstr "Vloga"
|
889 |
+
|
890 |
+
#: classes/class.swpm-membership-levels.php:23
|
891 |
+
msgid "Access Valid For/Until"
|
892 |
+
msgstr "Dostop veljaven za/do"
|
893 |
+
|
894 |
+
#: classes/class.swpm-membership-levels.php:133
|
895 |
+
msgid "No membership levels found."
|
896 |
+
msgstr "Ni bilo najdenih ravni članstva."
|
897 |
+
|
898 |
+
#: classes/class.swpm-membership-levels.php:197
|
899 |
+
msgid ""
|
900 |
+
"Error! Nonce verification failed for membership level delete from admin end."
|
901 |
+
msgstr ""
|
902 |
+
|
903 |
+
#: classes/class.swpm-membership-levels.php:216 views/admin_members_list.php:31
|
904 |
+
#: views/payments/admin_all_payment_transactions.php:16 views/template-1.php:53
|
905 |
+
#: views/template-2.php:54
|
906 |
+
msgid "Search"
|
907 |
+
msgstr "Išči"
|
908 |
+
|
909 |
+
#: classes/class.swpm-membership-levels.php:261
|
910 |
+
msgid "Simple WP Membership::Membership Levels"
|
911 |
+
msgstr "Simple WP Membership::Ravni članstva"
|
912 |
+
|
913 |
+
#: classes/class.swpm-membership-levels.php:266
|
914 |
+
msgid "Add Level"
|
915 |
+
msgstr "Dodaj raven"
|
916 |
+
|
917 |
+
#: classes/class.swpm-membership-levels.php:267
|
918 |
+
msgid "Manage Content Protection"
|
919 |
+
msgstr "Upravljanje zaščite vsebine"
|
920 |
+
|
921 |
+
#: classes/class.swpm-membership-levels.php:268
|
922 |
+
msgid "Category Protection"
|
923 |
+
msgstr "Zaščita kategorije"
|
924 |
+
|
925 |
+
#: classes/class.swpm-membership-levels.php:269
|
926 |
+
msgid "Post and Page Protection"
|
927 |
+
msgstr "Zaščita prispevkov in strani"
|
928 |
+
|
929 |
+
#: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52
|
930 |
+
#: classes/class.swpm-post-list.php:62
|
931 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:81
|
932 |
+
msgid "Date"
|
933 |
+
msgstr "Datum"
|
934 |
+
|
935 |
+
#: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53
|
936 |
+
#: classes/class.swpm-post-list.php:63
|
937 |
+
msgid "Title"
|
938 |
+
msgstr "Naslov"
|
939 |
+
|
940 |
+
#: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54
|
941 |
+
#: classes/class.swpm-post-list.php:64
|
942 |
+
msgid "Author"
|
943 |
+
msgstr "Avtor"
|
944 |
+
|
945 |
+
#: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56
|
946 |
+
#: classes/class.swpm-post-list.php:66
|
947 |
+
msgid "Status"
|
948 |
+
msgstr "Stanje"
|
949 |
+
|
950 |
+
#: classes/class.swpm-post-list.php:55
|
951 |
+
msgid "Categories"
|
952 |
+
msgstr "Kategorije"
|
953 |
+
|
954 |
+
#: classes/class.swpm-post-list.php:65
|
955 |
+
msgid "Type"
|
956 |
+
msgstr "Vrsta"
|
957 |
+
|
958 |
+
#: classes/class.swpm-post-list.php:125
|
959 |
+
msgid "Protection settings updated!"
|
960 |
+
msgstr "Nastavitve zaščite posodobljene!"
|
961 |
+
|
962 |
+
#: classes/class.swpm-post-list.php:230
|
963 |
+
msgid "No items found."
|
964 |
+
msgstr "Ne najdem ničesar."
|
965 |
+
|
966 |
+
#: classes/class.swpm-protection.php:22
|
967 |
+
msgid ""
|
968 |
+
"The category or parent category of this post is protected. You can change "
|
969 |
+
"the category protection settings from the "
|
970 |
+
msgstr ""
|
971 |
+
"Kategorija ali nadrejena kategorija te objave je zaščitena. Nastavitve "
|
972 |
+
"zaščite kategorije lahko spremenite v "
|
973 |
+
|
974 |
+
#: classes/class.swpm-protection.php:23
|
975 |
+
msgid "category protection menu"
|
976 |
+
msgstr "meniju za zaščito kategorije"
|
977 |
+
|
978 |
+
#: classes/class.swpm-settings.php:26 classes/class.swpm-settings.php:54
|
979 |
+
msgid "General Settings"
|
980 |
+
msgstr "Splošne nastavitve"
|
981 |
+
|
982 |
+
#: classes/class.swpm-settings.php:27
|
983 |
+
msgid "Payment Settings"
|
984 |
+
msgstr "Nastavitve plačila"
|
985 |
+
|
986 |
+
#: classes/class.swpm-settings.php:28
|
987 |
+
msgid "Email Settings"
|
988 |
+
msgstr "Nastavitve e-pošte"
|
989 |
+
|
990 |
+
#: classes/class.swpm-settings.php:29
|
991 |
+
msgid "Tools"
|
992 |
+
msgstr "Orodja"
|
993 |
+
|
994 |
+
#: classes/class.swpm-settings.php:30 classes/class.swpm-settings.php:187
|
995 |
+
msgid "Advanced Settings"
|
996 |
+
msgstr "Napredne nastavitve"
|
997 |
+
|
998 |
+
#: classes/class.swpm-settings.php:31
|
999 |
+
msgid "Addons Settings"
|
1000 |
+
msgstr "Nastavitve dodatkov"
|
1001 |
+
|
1002 |
+
#: classes/class.swpm-settings.php:53
|
1003 |
+
msgid "Plugin Documentation"
|
1004 |
+
msgstr "Dokumentacija vtičnika"
|
1005 |
+
|
1006 |
+
#: classes/class.swpm-settings.php:55
|
1007 |
+
msgid "Enable Free Membership"
|
1008 |
+
msgstr "Omogoči brezplačno članstvo"
|
1009 |
+
|
1010 |
+
#: classes/class.swpm-settings.php:56
|
1011 |
+
msgid ""
|
1012 |
+
"Enable/disable registration for free membership level. When you enable this "
|
1013 |
+
"option, make sure to specify a free membership level ID in the field below."
|
1014 |
+
msgstr ""
|
1015 |
+
"Omogočite/onemogočite registracijo za brezplačno raven članstva. Ko "
|
1016 |
+
"omogočite to možnost, v spodnjem polju navedite brezplačni ID ravni članstva."
|
1017 |
+
|
1018 |
+
#: classes/class.swpm-settings.php:57
|
1019 |
+
msgid "Free Membership Level ID"
|
1020 |
+
msgstr "ID brezplačne ravni članstva"
|
1021 |
+
|
1022 |
+
#: classes/class.swpm-settings.php:58
|
1023 |
+
msgid "Assign free membership level ID"
|
1024 |
+
msgstr "Dodelite ID brezplačne ravni članstva"
|
1025 |
+
|
1026 |
+
#: classes/class.swpm-settings.php:59
|
1027 |
+
msgid "Enable More Tag Protection"
|
1028 |
+
msgstr "Omogoči več zaščite oznak"
|
1029 |
+
|
1030 |
+
#: classes/class.swpm-settings.php:60
|
1031 |
+
msgid ""
|
1032 |
+
"Enables or disables \"more\" tag protection in the posts and pages. Anything "
|
1033 |
+
"after the More tag is protected. Anything before the more tag is teaser "
|
1034 |
+
"content."
|
1035 |
+
msgstr ""
|
1036 |
+
"Omogoča ali onemogoči zaščito oznak »več« v objavah in straneh. Vse po več "
|
1037 |
+
"oznako je zaščitena. Vse, kar je pred več oznako je teaser vsebina."
|
1038 |
+
|
1039 |
+
#: classes/class.swpm-settings.php:61
|
1040 |
+
msgid "Hide Adminbar"
|
1041 |
+
msgstr "Skrij skrbniško vrstico"
|
1042 |
+
|
1043 |
+
#: classes/class.swpm-settings.php:62
|
1044 |
+
msgid ""
|
1045 |
+
"WordPress shows an admin toolbar to the logged in users of the site. Check "
|
1046 |
+
"this if you want to hide that admin toolbar in the frontend of your site."
|
1047 |
+
msgstr ""
|
1048 |
+
"WordPress prikaže skrbniško orodno vrstico prijavljenim skrbnikom spletnega "
|
1049 |
+
"mesta. Obkljukajte, če želite skriti to skrbniško orodno vrstico na "
|
1050 |
+
"frontendu spletnega mesta."
|
1051 |
+
|
1052 |
+
#: classes/class.swpm-settings.php:63
|
1053 |
+
msgid "Show Adminbar to Admin"
|
1054 |
+
msgstr "Pokaži skrbniško vrstico skrbniku"
|
1055 |
+
|
1056 |
+
#: classes/class.swpm-settings.php:64
|
1057 |
+
msgid ""
|
1058 |
+
"Use this option if you want to show the admin toolbar to admin users only. "
|
1059 |
+
"The admin toolbar will be hidden for all other users."
|
1060 |
+
msgstr ""
|
1061 |
+
"To možnost uporabite, če želite skrbniku pokazati orodno vrstico samo za "
|
1062 |
+
"administratorje. Skrbniška orodna vrstica bo skrita za vse druge ravni "
|
1063 |
+
"skrbništva spletne strani."
|
1064 |
+
|
1065 |
+
#: classes/class.swpm-settings.php:65
|
1066 |
+
msgid "Disable Access to WP Dashboard"
|
1067 |
+
msgstr "Onemogoči dostop do Wordpress nadzorne plošče"
|
1068 |
+
|
1069 |
+
#: classes/class.swpm-settings.php:66
|
1070 |
+
msgid ""
|
1071 |
+
"WordPress allows a standard wp user to be able to go to the wp-admin URL and "
|
1072 |
+
"access his profile from the wp dashbaord. Using this option will prevent any "
|
1073 |
+
"non admin users from going to the wp dashboard."
|
1074 |
+
msgstr ""
|
1075 |
+
"WordPress omogoča standardnemu uporabnik Wordpressa, da lahko gre na “wp-"
|
1076 |
+
"admin” URL in dostopa do njegovega profila iz Wordpress nadzorne plošče. S "
|
1077 |
+
"to možnostjo boste preprečili, da bi vsi uporabniki, ki niso skrbniki, lahko "
|
1078 |
+
"prišli na Wordpress nadzorno ploščo."
|
1079 |
+
|
1080 |
+
#: classes/class.swpm-settings.php:68 classes/class.swpm-settings.php:242
|
1081 |
+
msgid "Default Account Status"
|
1082 |
+
msgstr "Privzeto stanje računa"
|
1083 |
+
|
1084 |
+
#: classes/class.swpm-settings.php:71
|
1085 |
+
msgid ""
|
1086 |
+
"Select the default account status for newly registered users. If you want to "
|
1087 |
+
"manually approve the members then you can set the status to \"Pending\"."
|
1088 |
+
msgstr ""
|
1089 |
+
"Izberite privzeto stanje računa za novo registrirane uporabnike. Če želite "
|
1090 |
+
"člane ročno odobriti, lahko stanje nastavite na »Neohajano«."
|
1091 |
+
|
1092 |
+
#: classes/class.swpm-settings.php:73
|
1093 |
+
msgid "Members Must be Logged in to Comment"
|
1094 |
+
msgstr "Člani morajo biti prijavljeni za komentiranje"
|
1095 |
+
|
1096 |
+
#: classes/class.swpm-settings.php:74
|
1097 |
+
msgid ""
|
1098 |
+
"Enable this option if you only want the members of the site to be able to "
|
1099 |
+
"post a comment."
|
1100 |
+
msgstr ""
|
1101 |
+
"Omogočite to možnost, če želite da lahko člani spletnega mesta objavljajo le "
|
1102 |
+
"komentarje."
|
1103 |
+
|
1104 |
+
#: classes/class.swpm-settings.php:83
|
1105 |
+
msgid "Pages Settings"
|
1106 |
+
msgstr "Nastavitve strani"
|
1107 |
+
|
1108 |
+
#: classes/class.swpm-settings.php:84
|
1109 |
+
msgid "Login Page URL"
|
1110 |
+
msgstr "URL prijavne strani"
|
1111 |
+
|
1112 |
+
#: classes/class.swpm-settings.php:86
|
1113 |
+
msgid "Registration Page URL"
|
1114 |
+
msgstr "URL registracijske strani"
|
1115 |
+
|
1116 |
+
#: classes/class.swpm-settings.php:88
|
1117 |
+
msgid "Join Us Page URL"
|
1118 |
+
msgstr "URL strani Pridružite se nam"
|
1119 |
+
|
1120 |
+
#: classes/class.swpm-settings.php:90
|
1121 |
+
msgid "Edit Profile Page URL"
|
1122 |
+
msgstr "URL strani Uredi profil"
|
1123 |
+
|
1124 |
+
#: classes/class.swpm-settings.php:92
|
1125 |
+
msgid "Password Reset Page URL"
|
1126 |
+
msgstr "URL strani za ponastavitev gesla"
|
1127 |
+
|
1128 |
+
#: classes/class.swpm-settings.php:95
|
1129 |
+
msgid "Test & Debug Settings"
|
1130 |
+
msgstr ""
|
1131 |
+
|
1132 |
+
#: classes/class.swpm-settings.php:97
|
1133 |
+
msgid "Check this option to enable debug logging."
|
1134 |
+
msgstr ""
|
1135 |
+
|
1136 |
+
#: classes/class.swpm-settings.php:98
|
1137 |
+
msgid ""
|
1138 |
+
" This can be useful when troubleshooting an issue. Turn it off and reset the "
|
1139 |
+
"log files after the troubleshooting is complete."
|
1140 |
+
msgstr ""
|
1141 |
+
|
1142 |
+
#: classes/class.swpm-settings.php:100
|
1143 |
+
msgid "View general debug log file by clicking "
|
1144 |
+
msgstr ""
|
1145 |
+
|
1146 |
+
#: classes/class.swpm-settings.php:100 classes/class.swpm-settings.php:101
|
1147 |
+
#: classes/class.swpm-settings.php:102
|
1148 |
+
msgid "here"
|
1149 |
+
msgstr ""
|
1150 |
+
|
1151 |
+
#: classes/class.swpm-settings.php:101
|
1152 |
+
msgid "View login related debug log file by clicking "
|
1153 |
+
msgstr ""
|
1154 |
+
|
1155 |
+
#: classes/class.swpm-settings.php:102
|
1156 |
+
msgid "Reset debug log files by clicking "
|
1157 |
+
msgstr ""
|
1158 |
+
|
1159 |
+
#: classes/class.swpm-settings.php:103
|
1160 |
+
msgid "Enable Debug"
|
1161 |
+
msgstr ""
|
1162 |
+
|
1163 |
+
#: classes/class.swpm-settings.php:105
|
1164 |
+
msgid "Enable Sandbox Testing"
|
1165 |
+
msgstr ""
|
1166 |
+
|
1167 |
+
#: classes/class.swpm-settings.php:106
|
1168 |
+
msgid "Enable this option if you want to do sandbox payment testing."
|
1169 |
+
msgstr ""
|
1170 |
+
|
1171 |
+
#: classes/class.swpm-settings.php:119
|
1172 |
+
msgid "Email Settings Overview"
|
1173 |
+
msgstr "Pregled nastavitev e-pošte"
|
1174 |
+
|
1175 |
+
#: classes/class.swpm-settings.php:120
|
1176 |
+
msgid "Email Misc. Settings"
|
1177 |
+
msgstr ""
|
1178 |
+
|
1179 |
+
#: classes/class.swpm-settings.php:122
|
1180 |
+
msgid "From Email Address"
|
1181 |
+
msgstr "Iz e-poštnega naslova"
|
1182 |
+
|
1183 |
+
#: classes/class.swpm-settings.php:126
|
1184 |
+
msgid "Email Settings (Prompt to Complete Registration )"
|
1185 |
+
msgstr "Nastavitve e-pošte (Poziv k popolni registraciji)"
|
1186 |
+
|
1187 |
+
#: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:140
|
1188 |
+
#: classes/class.swpm-settings.php:158 classes/class.swpm-settings.php:163
|
1189 |
+
#: classes/class.swpm-settings.php:168 classes/class.swpm-settings.php:173
|
1190 |
+
msgid "Email Subject"
|
1191 |
+
msgstr "Zadeva e-pošte"
|
1192 |
+
|
1193 |
+
#: classes/class.swpm-settings.php:129 classes/class.swpm-settings.php:142
|
1194 |
+
#: classes/class.swpm-settings.php:159 classes/class.swpm-settings.php:164
|
1195 |
+
#: classes/class.swpm-settings.php:169 classes/class.swpm-settings.php:174
|
1196 |
+
msgid "Email Body"
|
1197 |
+
msgstr "Telo e-poštnega sporočila"
|
1198 |
+
|
1199 |
+
#: classes/class.swpm-settings.php:133
|
1200 |
+
msgid ""
|
1201 |
+
"Enter the email address where you want the admin notification email to be "
|
1202 |
+
"sent to."
|
1203 |
+
msgstr ""
|
1204 |
+
"Vnesite e-poštni naslov, kamor želite poslati e-poštno obvestilo "
|
1205 |
+
"administratorja."
|
1206 |
+
|
1207 |
+
#: classes/class.swpm-settings.php:134
|
1208 |
+
msgid ""
|
1209 |
+
" You can put multiple email addresses separated by comma (,) in the above "
|
1210 |
+
"field to send the notification to multiple email addresses."
|
1211 |
+
msgstr ""
|
1212 |
+
" V zgornje polje lahko vstavite več e-poštnih naslovov, ločenih z vejico "
|
1213 |
+
"(,), da pošljete obvestilo na več e-poštnih naslovov."
|
1214 |
+
|
1215 |
+
#: classes/class.swpm-settings.php:136
|
1216 |
+
msgid "Enter the subject for the admin notification email."
|
1217 |
+
msgstr "Vnesite zadevo za e-poštno obvestilo administratorju."
|
1218 |
+
|
1219 |
+
#: classes/class.swpm-settings.php:137
|
1220 |
+
msgid ""
|
1221 |
+
"This email will be sent to the admin when a new user completes the "
|
1222 |
+
"membership registration. Only works if you have enabled the \"Send "
|
1223 |
+
"Notification to Admin\" option above."
|
1224 |
+
msgstr ""
|
1225 |
+
"To e-poštno sporočilo bo poslano administratorju, ko novi uporabnik dokonča "
|
1226 |
+
"registracijo članstva. Deluje le, če ste zgoraj omogočili možnost »Pošlji "
|
1227 |
+
"obvestilo administratorju«."
|
1228 |
+
|
1229 |
+
#: classes/class.swpm-settings.php:139
|
1230 |
+
msgid "Email Settings (Registration Complete)"
|
1231 |
+
msgstr "Nastavitve e-pošte (končana registracija)"
|
1232 |
+
|
1233 |
+
#: classes/class.swpm-settings.php:144
|
1234 |
+
msgid "Send Notification to Admin"
|
1235 |
+
msgstr "Pošlji obvestilo administratorju"
|
1236 |
+
|
1237 |
+
#: classes/class.swpm-settings.php:145
|
1238 |
+
msgid ""
|
1239 |
+
"Enable this option if you want the admin to receive a notification when a "
|
1240 |
+
"member registers."
|
1241 |
+
msgstr ""
|
1242 |
+
"Omogočite to možnost, če želite, da administrator prejme obvestilo, ko se "
|
1243 |
+
"član registrira."
|
1244 |
+
|
1245 |
+
#: classes/class.swpm-settings.php:146
|
1246 |
+
msgid "Admin Email Address"
|
1247 |
+
msgstr "E-poštni naslov administratorja "
|
1248 |
+
|
1249 |
+
#: classes/class.swpm-settings.php:148
|
1250 |
+
msgid "Admin Notification Email Subject"
|
1251 |
+
msgstr "Zadeva e-poštnega obvestila administratorju"
|
1252 |
+
|
1253 |
+
#: classes/class.swpm-settings.php:150
|
1254 |
+
msgid "Admin Notification Email Body"
|
1255 |
+
msgstr "Telo e-poštnega obvestila administratorju"
|
1256 |
+
|
1257 |
+
#: classes/class.swpm-settings.php:153
|
1258 |
+
msgid "Send Email to Member When Added via Admin Dashboard"
|
1259 |
+
msgstr "Pošlji e-pošto članu, ko je ta dodan prek Wordpress nadzorne plošče"
|
1260 |
+
|
1261 |
+
#: classes/class.swpm-settings.php:157
|
1262 |
+
msgid "Email Settings (Password Reset)"
|
1263 |
+
msgstr "Nastavitve e-pošte (Ponastavitev gesla)"
|
1264 |
+
|
1265 |
+
#: classes/class.swpm-settings.php:162
|
1266 |
+
msgid " Email Settings (Account Upgrade Notification)"
|
1267 |
+
msgstr " Nastavitve e-pošte (obvestilo o nadgradnji računa)"
|
1268 |
+
|
1269 |
+
#: classes/class.swpm-settings.php:167
|
1270 |
+
msgid " Email Settings (Bulk Account Activate Notification)"
|
1271 |
+
msgstr ""
|
1272 |
+
|
1273 |
+
#: classes/class.swpm-settings.php:172
|
1274 |
+
msgid " Email Settings (Email Activation)"
|
1275 |
+
msgstr " Nastavitve e-pošte (Aktiviranje e-pošte)"
|
1276 |
+
|
1277 |
+
#: classes/class.swpm-settings.php:189
|
1278 |
+
msgid "Enable Expired Account Login"
|
1279 |
+
msgstr "Omogoči prijavo na račun po njegovem poteku"
|
1280 |
+
|
1281 |
+
#: classes/class.swpm-settings.php:190
|
1282 |
+
msgid ""
|
1283 |
+
"When enabled, expired members will be able to log into the system but won't "
|
1284 |
+
"be able to view any protected content. This allows them to easily renew "
|
1285 |
+
"their account by making another payment."
|
1286 |
+
msgstr ""
|
1287 |
+
"Če je to omogočeno, se bodo lahko člani, katerim je članstvo poteklo, "
|
1288 |
+
"prijavili v sistem, vendar si ne bodo mogli ogledati zaščitene vsebine. To "
|
1289 |
+
"jim omogoča enostavno podaljšanje računa z drugim plačilom."
|
1290 |
+
|
1291 |
+
#: classes/class.swpm-settings.php:192
|
1292 |
+
msgid "Membership Renewal URL"
|
1293 |
+
msgstr "URL obnovitve članstva"
|
1294 |
+
|
1295 |
+
#: classes/class.swpm-settings.php:193
|
1296 |
+
msgid ""
|
1297 |
+
"You can create a renewal page for your site. Read <a href=\"https://simple-"
|
1298 |
+
"membership-plugin.com/creating-membership-renewal-button/\" target=\"_blank"
|
1299 |
+
"\">this documentation</a> to learn how to create a renewal page."
|
1300 |
+
msgstr ""
|
1301 |
+
"Za svoje mesto lahko ustvarite stran za obnovitev. Preberite <a href="
|
1302 |
+
"\"https://simple-membership-plugin.com/creating-membership-renewal-button/\" "
|
1303 |
+
"target=\"_blank\">to dokumentacijo, če</a> želite izvedeti, kako ustvariti "
|
1304 |
+
"stran za obnovitev."
|
1305 |
+
|
1306 |
+
#: classes/class.swpm-settings.php:195
|
1307 |
+
msgid "After Registration Redirect URL"
|
1308 |
+
msgstr "Preusmeritveni URL po registraciji"
|
1309 |
+
|
1310 |
+
#: classes/class.swpm-settings.php:196
|
1311 |
+
msgid ""
|
1312 |
+
"You can enter an URL here to redirect the members to this page after they "
|
1313 |
+
"submit the registration form. Read <a href=\"https://simple-membership-"
|
1314 |
+
"plugin.com/configure-after-registration-redirect-for-members/\" target="
|
1315 |
+
"\"_blank\">this documentation</a> to learn how to setup after registration "
|
1316 |
+
"redirect."
|
1317 |
+
msgstr ""
|
1318 |
+
"Tukaj lahko vnesete URL, da preusmerite člane na to stran, potem ko pošljejo "
|
1319 |
+
"obrazec za registracijo. Preberite <a href=\"https://simple-membership-"
|
1320 |
+
"plugin.com/configure-after-registration-redirect-for-members/\" target="
|
1321 |
+
"\"_blank\">to dokumentacijo in</a> se naučite nastaviti preusmeritev po "
|
1322 |
+
"registraciji."
|
1323 |
+
|
1324 |
+
#: classes/class.swpm-settings.php:198
|
1325 |
+
msgid "Enable Auto Login After Registration"
|
1326 |
+
msgstr "Omogoči samodejno prijavo po registraciji"
|
1327 |
+
|
1328 |
+
#: classes/class.swpm-settings.php:199
|
1329 |
+
msgid ""
|
1330 |
+
"Use this option if you want the members to be automatically logged into your "
|
1331 |
+
"site right after they complete the registration. This option will override "
|
1332 |
+
"any after registration redirection and instead it will trigger the after "
|
1333 |
+
"login redirection. Read <a href=\"https://simple-membership-plugin.com/"
|
1334 |
+
"configure-auto-login-after-registration-members/\" target=\"_blank\">this "
|
1335 |
+
"documentation</a> to learn more."
|
1336 |
+
msgstr ""
|
1337 |
+
"Uporabite to možnost, če želite, da so člani samodejno prijavljeni na vaše "
|
1338 |
+
"mesto takoj po končani registraciji. Ta možnost bo preklicala vse "
|
1339 |
+
"preusmeritve po registraciji in namesto tega sprožila preusmeritev po "
|
1340 |
+
"prijavi. Preberite <a href=\"https://simple-membership-plugin.com/configure-"
|
1341 |
+
"auto-login-after-registration-members/\" target=\"_blank\">to dokumentacijo, "
|
1342 |
+
"če</a> želite izvedeti več."
|
1343 |
+
|
1344 |
+
#: classes/class.swpm-settings.php:201
|
1345 |
+
msgid "After Logout Redirect URL"
|
1346 |
+
msgstr "Preusmeritveni URL po odjavi"
|
1347 |
+
|
1348 |
+
#: classes/class.swpm-settings.php:202
|
1349 |
+
msgid ""
|
1350 |
+
"You can enter an URL here to redirect the members to this page after they "
|
1351 |
+
"click the logout link to logout from your site."
|
1352 |
+
msgstr ""
|
1353 |
+
"Tukaj lahko vnesete URL, da preusmerite člane na to stran, potem ko kliknejo "
|
1354 |
+
"povezavo za odjavo s spletnega mesta."
|
1355 |
+
|
1356 |
+
#: classes/class.swpm-settings.php:204
|
1357 |
+
msgid "Logout Member on Browser Close"
|
1358 |
+
msgstr "Odjava člana po zaprtju brskalnika"
|
1359 |
+
|
1360 |
+
#: classes/class.swpm-settings.php:205
|
1361 |
+
msgid ""
|
1362 |
+
"Enable this option if you want the member to be logged out of the account "
|
1363 |
+
"when he closes the browser."
|
1364 |
+
msgstr ""
|
1365 |
+
"Omogočite to možnost, če želite, da je član odjavljen iz računa, ko zapre "
|
1366 |
+
"brskalnik."
|
1367 |
+
|
1368 |
+
#: classes/class.swpm-settings.php:207
|
1369 |
+
msgid "Allow Account Deletion"
|
1370 |
+
msgstr "Dovoli brisanje računa"
|
1371 |
+
|
1372 |
+
#: classes/class.swpm-settings.php:208
|
1373 |
+
msgid "Allow users to delete their accounts."
|
1374 |
+
msgstr "Uporabnikom dovolite, da izbrišejo svoje račune."
|
1375 |
+
|
1376 |
+
#: classes/class.swpm-settings.php:210
|
1377 |
+
msgid "Force Strong Password for Members"
|
1378 |
+
msgstr "Sili močno geslo za člane"
|
1379 |
+
|
1380 |
+
#: classes/class.swpm-settings.php:211
|
1381 |
+
msgid ""
|
1382 |
+
"Enable this if you want the users to be forced to use a strong password for "
|
1383 |
+
"their accounts."
|
1384 |
+
msgstr ""
|
1385 |
+
"Omogočite to, če želite, da so uporabniki prisiljeni uporabiti močno geslo "
|
1386 |
+
"za svoje račune."
|
1387 |
+
|
1388 |
+
#: classes/class.swpm-settings.php:213
|
1389 |
+
msgid "Use WordPress Timezone"
|
1390 |
+
msgstr "Uporaba Wordpress časovnega pasu"
|
1391 |
+
|
1392 |
+
#: classes/class.swpm-settings.php:214
|
1393 |
+
msgid ""
|
1394 |
+
"Use this option if you want to use the timezone value specified in your "
|
1395 |
+
"WordPress General Settings interface."
|
1396 |
+
msgstr ""
|
1397 |
+
"Uporabite to možnost, če želite uporabiti vrednost časovnega pasu, ki je "
|
1398 |
+
"določena v vmesniku za splošne nastavitve WordPress."
|
1399 |
+
|
1400 |
+
#: classes/class.swpm-settings.php:216
|
1401 |
+
msgid "Auto Delete Pending Account"
|
1402 |
+
msgstr "Samodejni izbris računov na čakanju"
|
1403 |
+
|
1404 |
+
#: classes/class.swpm-settings.php:219
|
1405 |
+
msgid "Select how long you want to keep \"pending\" account."
|
1406 |
+
msgstr "Izberite, koliko časa želite ohraniti račun »na čakanju«."
|
1407 |
+
|
1408 |
+
#: classes/class.swpm-settings.php:221
|
1409 |
+
msgid "Admin Dashboard Access Permission"
|
1410 |
+
msgstr "Dovoljenje za dostop do nadzorne plošče administratorja"
|
1411 |
+
|
1412 |
+
#: classes/class.swpm-settings.php:224
|
1413 |
+
msgid ""
|
1414 |
+
"SWPM admin dashboard is accessible to admin users only (just like any other "
|
1415 |
+
"plugin). You can allow users with other WP user role to access the SWPM "
|
1416 |
+
"admin dashboard by selecting a value here. Note that this option cannot work "
|
1417 |
+
"if you enabled the \"Disable Access to WP Dashboard\" option in General "
|
1418 |
+
"Settings."
|
1419 |
+
msgstr ""
|
1420 |
+
|
1421 |
+
#: classes/class.swpm-settings.php:226
|
1422 |
+
msgid "Force WP User Synchronization"
|
1423 |
+
msgstr "Sili Wordpress sinhronizacijo uporabnikov"
|
1424 |
+
|
1425 |
+
#: classes/class.swpm-settings.php:227
|
1426 |
+
msgid ""
|
1427 |
+
"Enable this option if you want to force the member login to be synchronized "
|
1428 |
+
"with WP user account. This can be useful if you are using another plugin "
|
1429 |
+
"that uses WP user records. For example: bbPress plugin."
|
1430 |
+
msgstr ""
|
1431 |
+
"Omogočite to možnost, če želite prisiliti, da se prijava člana sinhronizira "
|
1432 |
+
"z Wordpress uporabniškim računom. To je lahko koristno, če uporabljate drug "
|
1433 |
+
"vtičnik, ki uporablja WP uporabniške zapise. Na primer: bbPress plugin."
|
1434 |
+
|
1435 |
+
#: classes/class.swpm-settings.php:230
|
1436 |
+
msgid "Create Member Accounts for New WP Users"
|
1437 |
+
msgstr ""
|
1438 |
+
|
1439 |
+
#: classes/class.swpm-settings.php:232
|
1440 |
+
msgid "Enable Auto Create Member Accounts"
|
1441 |
+
msgstr ""
|
1442 |
+
|
1443 |
+
#: classes/class.swpm-settings.php:233
|
1444 |
+
msgid ""
|
1445 |
+
"Enable this option to automatically create member accounts for any new WP "
|
1446 |
+
"user that is created by another plugin."
|
1447 |
+
msgstr ""
|
1448 |
+
|
1449 |
+
#: classes/class.swpm-settings.php:236
|
1450 |
+
msgid "Default Membership Level"
|
1451 |
+
msgstr "Privzeta raven članstva"
|
1452 |
+
|
1453 |
+
#: classes/class.swpm-settings.php:239
|
1454 |
+
msgid ""
|
1455 |
+
"When automatically creating a member account using this feature, the "
|
1456 |
+
"membership level of the user will be set to the one you specify here."
|
1457 |
+
msgstr ""
|
1458 |
+
"Ko samodejno ustvarite račun člana s to funkcijo, bo raven članstva "
|
1459 |
+
"uporabnika nastavljena na raven, ki jo določite tukaj."
|
1460 |
+
|
1461 |
+
#: classes/class.swpm-settings.php:245
|
1462 |
+
msgid ""
|
1463 |
+
"When automatically creating a member account using this feature, the "
|
1464 |
+
"membership account status of the user will be set to the one you specify "
|
1465 |
+
"here."
|
1466 |
+
msgstr ""
|
1467 |
+
"Ko samodejno ustvarite račun člana s to funkcijo, bo stanje računa članstva "
|
1468 |
+
"uporabnika nastavljeno na stanje, ki ga določite tukaj."
|
1469 |
+
|
1470 |
+
#: classes/class.swpm-settings.php:247
|
1471 |
+
msgid "Payment Notification Forward URL"
|
1472 |
+
msgstr "URL za posredovanje obvestila o plačilu"
|
1473 |
+
|
1474 |
+
#: classes/class.swpm-settings.php:248
|
1475 |
+
msgid ""
|
1476 |
+
"You can enter an URL here to forward the payment notification after the "
|
1477 |
+
"membership payment has been processed by this plugin. Useful if you want to "
|
1478 |
+
"forward the payment notification to an external script for further "
|
1479 |
+
"processing."
|
1480 |
+
msgstr ""
|
1481 |
+
"Tukaj lahko vnesete URL, da pošljete obvestilo o plačilu po tem, ko je ta "
|
1482 |
+
"vtičnik obdeloval plačilo članstva. Koristno, če želite obvestilo o plačilu "
|
1483 |
+
"posredovati zunanji skripti za nadaljnjo obdelavo."
|
1484 |
+
|
1485 |
+
#: classes/class.swpm-settings.php:251 views/add.php:65
|
1486 |
+
msgid "Terms and Conditions"
|
1487 |
+
msgstr "Določila in pogoji poslovanja"
|
1488 |
+
|
1489 |
+
#: classes/class.swpm-settings.php:253
|
1490 |
+
msgid "Enable Terms and Conditions"
|
1491 |
+
msgstr "Omogoči pogoje in določila"
|
1492 |
+
|
1493 |
+
#: classes/class.swpm-settings.php:254
|
1494 |
+
msgid "Users must accept the terms before they can complete the registration."
|
1495 |
+
msgstr ""
|
1496 |
+
"Uporabniki morajo sprejeti pogoje, preden lahko dokončajo registracijo."
|
1497 |
+
|
1498 |
+
#: classes/class.swpm-settings.php:255
|
1499 |
+
msgid "Terms and Conditions Page URL"
|
1500 |
+
msgstr "URL strani s pogoji in določili"
|
1501 |
+
|
1502 |
+
#: classes/class.swpm-settings.php:256
|
1503 |
+
msgid ""
|
1504 |
+
"Enter the URL of your terms and conditions page. You can create a WordPress "
|
1505 |
+
"page and specify your terms in there then specify the URL of that page in "
|
1506 |
+
"the above field."
|
1507 |
+
msgstr ""
|
1508 |
+
"Vnesite URL strani s pogoji poslovanja. Lahko ustvarite WordPress stran in "
|
1509 |
+
"določite svoje pogoje tam nato določite URL te strani v zgornjem polju."
|
1510 |
+
|
1511 |
+
#: classes/class.swpm-settings.php:257
|
1512 |
+
msgid "Enable Privacy Policy"
|
1513 |
+
msgstr "Omogoči pravilnik zasebnosti"
|
1514 |
+
|
1515 |
+
#: classes/class.swpm-settings.php:258
|
1516 |
+
msgid "Users must accept it before they can complete the registration."
|
1517 |
+
msgstr "Uporabniki ga morajo sprejeti, preden lahko dokončajo registracijo."
|
1518 |
+
|
1519 |
+
#: classes/class.swpm-settings.php:259
|
1520 |
+
msgid "Privacy Policy Page URL"
|
1521 |
+
msgstr "URL strani s pravilnikom o zasebnosti"
|
1522 |
+
|
1523 |
+
#: classes/class.swpm-settings.php:260
|
1524 |
+
msgid "Enter the URL of your privacy policy page."
|
1525 |
+
msgstr "Vnesite URL strani pravilnika o zasebnosti."
|
1526 |
+
|
1527 |
+
#: classes/class.swpm-settings.php:350 classes/class.swpm-settings.php:396
|
1528 |
+
#: classes/class.swpm-settings.php:425
|
1529 |
+
msgid "Settings updated!"
|
1530 |
+
msgstr "Nastavitve posodobljene!"
|
1531 |
+
|
1532 |
+
#: classes/class.swpm-settings.php:355
|
1533 |
+
msgid "General Plugin Settings."
|
1534 |
+
msgstr "Splošne nastavitve vtičnika."
|
1535 |
+
|
1536 |
+
#: classes/class.swpm-settings.php:359
|
1537 |
+
msgid "Page Setup and URL Related settings."
|
1538 |
+
msgstr "Nastavitve strani in nastavitve povezane z URL-ji."
|
1539 |
+
|
1540 |
+
#: classes/class.swpm-settings.php:362
|
1541 |
+
msgid ""
|
1542 |
+
"The following pages are required for the plugin to function correctly. These "
|
1543 |
+
"pages were automatically created by the plugin at install time."
|
1544 |
+
msgstr ""
|
1545 |
+
"Za pravilno delovanje vtičnika so potrebne naslednje strani. Te strani je "
|
1546 |
+
"vtičnik samodejno ustvaril ob namestitvi."
|
1547 |
+
|
1548 |
+
#: classes/class.swpm-settings.php:367
|
1549 |
+
msgid "Testing and Debug Related Settings."
|
1550 |
+
msgstr ""
|
1551 |
+
|
1552 |
+
#: classes/class.swpm-settings.php:371
|
1553 |
+
msgid ""
|
1554 |
+
"This email will be sent to your users when they complete the registration "
|
1555 |
+
"and become a member."
|
1556 |
+
msgstr ""
|
1557 |
+
"To e-poštno sporočilo bo poslano uporabnikom, ko dokončajo registracijo in "
|
1558 |
+
"postanejo član."
|
1559 |
+
|
1560 |
+
#: classes/class.swpm-settings.php:375
|
1561 |
+
msgid ""
|
1562 |
+
"This email will be sent to your users when they use the password reset "
|
1563 |
+
"functionality."
|
1564 |
+
msgstr ""
|
1565 |
+
"To e-poštno sporočilo bo poslano uporabnikom, ko bodo uporabljali funkcijo "
|
1566 |
+
"ponastavitve gesla."
|
1567 |
+
|
1568 |
+
#: classes/class.swpm-settings.php:381
|
1569 |
+
msgid ""
|
1570 |
+
"This interface lets you custsomize the various emails that gets sent to your "
|
1571 |
+
"members for various actions. The default settings should be good to get your "
|
1572 |
+
"started."
|
1573 |
+
msgstr ""
|
1574 |
+
"Ta vmesnik vam omogoča, da prilagodite e-poštna sporočila, ki se pošljejo "
|
1575 |
+
"članom za različna dejanja. Privzete nastavitve so dovolj dobre za začetek."
|
1576 |
+
|
1577 |
+
#: classes/class.swpm-settings.php:385 views/admin_tools_settings.php:82
|
1578 |
+
msgid "This documentation"
|
1579 |
+
msgstr "Ta dokumentacija"
|
1580 |
+
|
1581 |
+
#: classes/class.swpm-settings.php:386
|
1582 |
+
msgid ""
|
1583 |
+
" explains what email merge tags you can use in the email body field to "
|
1584 |
+
"customize it (if you want to)."
|
1585 |
+
msgstr ""
|
1586 |
+
" pojasnjuje, katere oznake spajanja e-pošte lahko uporabite v telesu e-"
|
1587 |
+
"pošte, da jo prilagodite (če želite)."
|
1588 |
+
|
1589 |
+
#: classes/class.swpm-settings.php:399
|
1590 |
+
msgid "Settings in this section apply to all emails."
|
1591 |
+
msgstr "Nastavitve v tem razdelku veljajo za vsa e-poštna sporočila."
|
1592 |
+
|
1593 |
+
#: classes/class.swpm-settings.php:403
|
1594 |
+
msgid ""
|
1595 |
+
"This email will be sent to your users after account upgrade (when an "
|
1596 |
+
"existing member pays for a new membership level)."
|
1597 |
+
msgstr ""
|
1598 |
+
"To e-poštno sporočilo bo poslano uporabnikom po nadgradnji računa (ko "
|
1599 |
+
"obstoječi član plača novo raven članstva)."
|
1600 |
+
|
1601 |
+
#: classes/class.swpm-settings.php:407
|
1602 |
+
msgid ""
|
1603 |
+
"This email will be sent to your members when you use the bulk account "
|
1604 |
+
"activate and notify action."
|
1605 |
+
msgstr ""
|
1606 |
+
"To e-poštno sporočilo bo poslano članom, ko uporabite množično aktiviranje "
|
1607 |
+
"in se odločite za obveščanje članov o dejanju množičnega računa."
|
1608 |
+
|
1609 |
+
#: classes/class.swpm-settings.php:408
|
1610 |
+
msgid ""
|
1611 |
+
" You cannot use email merge tags in this email. You can only use generic "
|
1612 |
+
"text."
|
1613 |
+
msgstr ""
|
1614 |
+
" V tem e-poštnem sporočilu ne morete uporabljati oznak za spajanje e-pošte. "
|
1615 |
+
"Uporabljate lahko le generično besedilo."
|
1616 |
+
|
1617 |
+
#: classes/class.swpm-settings.php:413
|
1618 |
+
msgid ""
|
1619 |
+
"This email will be sent if Email Activation is enabled for a Membership "
|
1620 |
+
"Level."
|
1621 |
+
msgstr ""
|
1622 |
+
"To e-poštno sporočilo bo poslano, če je aktiviranje e-pošte omogočeno za "
|
1623 |
+
"raven članstva."
|
1624 |
+
|
1625 |
+
#: classes/class.swpm-settings.php:417
|
1626 |
+
msgid ""
|
1627 |
+
"This email will be sent to prompt users to complete registration after the "
|
1628 |
+
"payment."
|
1629 |
+
msgstr ""
|
1630 |
+
"To e-poštno sporočilo bo poslano uporabnikom, naj po plačilu dokončajo "
|
1631 |
+
"registracijo."
|
1632 |
+
|
1633 |
+
#: classes/class.swpm-settings.php:428
|
1634 |
+
msgid "This page allows you to configure some advanced features of the plugin."
|
1635 |
+
msgstr ""
|
1636 |
+
|
1637 |
+
#: classes/class.swpm-settings.php:432
|
1638 |
+
msgid ""
|
1639 |
+
"This section allows you to configure automatic creation of member accounts "
|
1640 |
+
"when new WP User records are created by another plugin. It can be useful if "
|
1641 |
+
"you are using another plugin that creates WP user records and you want them "
|
1642 |
+
"to be recognized in the membership plugin."
|
1643 |
+
msgstr ""
|
1644 |
+
|
1645 |
+
#: classes/class.swpm-settings.php:436
|
1646 |
+
msgid ""
|
1647 |
+
"This section allows you to configure terms and conditions and privacy policy "
|
1648 |
+
"that users must accept at registration time."
|
1649 |
+
msgstr ""
|
1650 |
+
|
1651 |
+
#: classes/class.swpm-settings.php:565
|
1652 |
+
msgid "Simple WP Membership::Settings"
|
1653 |
+
msgstr "Simple WP Membership::Nastavitve"
|
1654 |
+
|
1655 |
+
#: classes/class.swpm-utils-member.php:36
|
1656 |
+
#: classes/class.swpm-utils-member.php:44
|
1657 |
+
#: classes/class.swpm-utils-member.php:52
|
1658 |
+
#: classes/class.swpm-utils-member.php:62
|
1659 |
+
msgid "User is not logged in."
|
1660 |
+
msgstr "Uporabnik ni prijavljen."
|
1661 |
+
|
1662 |
+
#: classes/class.swpm-utils-member.php:80
|
1663 |
+
msgid "No Expiry"
|
1664 |
+
msgstr "Brez datuma poteka"
|
1665 |
+
|
1666 |
+
#: classes/class.swpm-utils-misc.php:50
|
1667 |
+
msgid "Registration"
|
1668 |
+
msgstr "Registracija"
|
1669 |
+
|
1670 |
+
#: classes/class.swpm-utils-misc.php:73
|
1671 |
+
msgid "Member Login"
|
1672 |
+
msgstr "Prijava za člane"
|
1673 |
+
|
1674 |
+
#: classes/class.swpm-utils-misc.php:96
|
1675 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:117
|
1676 |
+
msgid "Profile"
|
1677 |
+
msgstr "Profil"
|
1678 |
+
|
1679 |
+
#: classes/class.swpm-utils-misc.php:119
|
1680 |
+
msgid "Password Reset"
|
1681 |
+
msgstr "Ponastavitev gesla"
|
1682 |
+
|
1683 |
+
#: classes/class.swpm-utils-misc.php:168
|
1684 |
+
#, php-format
|
1685 |
+
msgid ""
|
1686 |
+
"You will be automatically redirected in a few seconds. If not, please %s."
|
1687 |
+
msgstr "V nekaj sekundah boste samodejno preusmerjeni. Če ne, prosim %s."
|
1688 |
+
|
1689 |
+
#: classes/class.swpm-utils-misc.php:172
|
1690 |
+
msgid "Action Status"
|
1691 |
+
msgstr "Stanje dejanja"
|
1692 |
+
|
1693 |
+
#: classes/class.swpm-utils-misc.php:274
|
1694 |
+
msgid "Not a Member?"
|
1695 |
+
msgstr "Niste član?"
|
1696 |
+
|
1697 |
+
#: classes/class.swpm-utils-misc.php:285
|
1698 |
+
msgid "renew"
|
1699 |
+
msgstr "obnovi"
|
1700 |
+
|
1701 |
+
#: classes/class.swpm-utils-misc.php:285
|
1702 |
+
msgid " your account to gain access to this content."
|
1703 |
+
msgstr " svoj račun za dostop do te vsebine."
|
1704 |
+
|
1705 |
+
#: classes/class.swpm-utils-misc.php:343 classes/class.swpm-utils-misc.php:349
|
1706 |
+
msgid "Error! This action ("
|
1707 |
+
msgstr ""
|
1708 |
+
|
1709 |
+
#: classes/class.swpm-utils-misc.php:421
|
1710 |
+
msgid "(Please Select)"
|
1711 |
+
msgstr "(Izberite prosim)"
|
1712 |
+
|
1713 |
+
#: classes/class.swpm-utils-template.php:38
|
1714 |
+
msgid "Error! Failed to find a template path for the specified template: "
|
1715 |
+
msgstr ""
|
1716 |
+
|
1717 |
+
#: classes/class.swpm-utils.php:101
|
1718 |
+
msgid "Never"
|
1719 |
+
msgstr "Nikoli"
|
1720 |
+
|
1721 |
+
#: classes/class.swpm-utils.php:116 views/admin_members_list.php:19
|
1722 |
+
msgid "Active"
|
1723 |
+
msgstr "Aktivno"
|
1724 |
+
|
1725 |
+
#: classes/class.swpm-utils.php:117 views/admin_members_list.php:20
|
1726 |
+
msgid "Inactive"
|
1727 |
+
msgstr "Neaktiven"
|
1728 |
+
|
1729 |
+
#: classes/class.swpm-utils.php:118 views/admin_members_list.php:21
|
1730 |
+
msgid "Activation Required"
|
1731 |
+
msgstr "Potrebna je aktivacija"
|
1732 |
+
|
1733 |
+
#: classes/class.swpm-utils.php:119
|
1734 |
+
msgid "Male"
|
1735 |
+
msgstr "Moški"
|
1736 |
+
|
1737 |
+
#: classes/class.swpm-utils.php:120
|
1738 |
+
msgid "Female"
|
1739 |
+
msgstr "Ženska"
|
1740 |
+
|
1741 |
+
#: classes/class.swpm-utils.php:121
|
1742 |
+
msgid "Not Specified"
|
1743 |
+
msgstr "Ni določeno"
|
1744 |
+
|
1745 |
+
#: classes/class.swpm-utils.php:119 views/admin_members_list.php:22
|
1746 |
+
msgid "Pending"
|
1747 |
+
msgstr "Na čakanju"
|
1748 |
+
|
1749 |
+
#: classes/class.swpm-utils.php:120 views/admin_members_list.php:24
|
1750 |
+
msgid "Expired"
|
1751 |
+
msgstr "Poteklo"
|
1752 |
+
|
1753 |
+
#: classes/class.swpm-utils.php:414 views/account_delete_warning.php:3
|
1754 |
+
msgid "Delete Account"
|
1755 |
+
msgstr "Izbriši račun"
|
1756 |
+
|
1757 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:75
|
1758 |
+
msgid "Payment Button ID"
|
1759 |
+
msgstr ""
|
1760 |
+
|
1761 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76
|
1762 |
+
msgid "Payment Button Title"
|
1763 |
+
msgstr "Naslov plačilnega gumba"
|
1764 |
+
|
1765 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77
|
1766 |
+
msgid "Membership Level ID"
|
1767 |
+
msgstr ""
|
1768 |
+
|
1769 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78
|
1770 |
+
msgid "Button Type"
|
1771 |
+
msgstr "Vrsta Gumba"
|
1772 |
+
|
1773 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79
|
1774 |
+
msgid "Button Shortcode"
|
1775 |
+
msgstr ""
|
1776 |
+
|
1777 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:127
|
1778 |
+
#: views/admin_members_list.php:9
|
1779 |
+
#: views/payments/admin_all_payment_transactions.php:32
|
1780 |
+
msgid "The selected entry was deleted!"
|
1781 |
+
msgstr "Izbrani vnos je bil izbrisan!"
|
1782 |
+
|
1783 |
+
#: classes/admin-includes/class.swpm-payments-admin-menu.php:21
|
1784 |
+
msgid "Simple Membership::Payments"
|
1785 |
+
msgstr "Simple Membership::Plačila"
|
1786 |
+
|
1787 |
+
#: classes/admin-includes/class.swpm-payments-admin-menu.php:25
|
1788 |
+
msgid "Transactions"
|
1789 |
+
msgstr "Transakcije"
|
1790 |
+
|
1791 |
+
#: classes/admin-includes/class.swpm-payments-admin-menu.php:26
|
1792 |
+
msgid "Manage Payment Buttons"
|
1793 |
+
msgstr "Upravljanje plačilnih gumbov"
|
1794 |
+
|
1795 |
+
#: classes/admin-includes/class.swpm-payments-admin-menu.php:27
|
1796 |
+
#: views/payments/admin_payment_buttons.php:27
|
1797 |
+
msgid "Create New Button"
|
1798 |
+
msgstr "Ustvari nov gumb"
|
1799 |
+
|
1800 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:57
|
1801 |
+
#: views/template-1.php:95 views/template-2.php:97
|
1802 |
+
msgid "View Profile"
|
1803 |
+
msgstr "Poglej profil"
|
1804 |
+
|
1805 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:76
|
1806 |
+
msgid "Row ID"
|
1807 |
+
msgstr ""
|
1808 |
+
|
1809 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:77
|
1810 |
+
#: views/forgot_password.php:5
|
1811 |
+
msgid "Email Address"
|
1812 |
+
msgstr "E-poštni naslov"
|
1813 |
+
|
1814 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:80
|
1815 |
+
msgid "Member Profile"
|
1816 |
+
msgstr "Profil člana"
|
1817 |
+
|
1818 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:82
|
1819 |
+
msgid "Transaction ID"
|
1820 |
+
msgstr "ID transakcije"
|
1821 |
+
|
1822 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:83
|
1823 |
+
msgid "Subscriber ID"
|
1824 |
+
msgstr "ID člana"
|
1825 |
+
|
1826 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:84
|
1827 |
+
msgid "Amount"
|
1828 |
+
msgstr "Znesek"
|
1829 |
+
|
1830 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:60
|
1831 |
+
msgid "Your membership profile will be updated to reflect the payment."
|
1832 |
+
msgstr "Vaš profil članstva bo posodobljen tako, da odraža plačilo."
|
1833 |
+
|
1834 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:61
|
1835 |
+
msgid "Your profile username: "
|
1836 |
+
msgstr "Uporabniško ime vašega profila: "
|
1837 |
+
|
1838 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:73
|
1839 |
+
msgid "Click on the following link to complete the registration."
|
1840 |
+
msgstr "Kliknite na naslednjo povezavo, da dokončate registracijo."
|
1841 |
+
|
1842 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:74
|
1843 |
+
msgid "Click here to complete your paid registration"
|
1844 |
+
msgstr "Kliknite tukaj, da dokončate plačljive registracije"
|
1845 |
+
|
1846 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:79
|
1847 |
+
msgid ""
|
1848 |
+
"If you have just made a membership payment then your payment is yet to be "
|
1849 |
+
"processed. Please check back in a few minutes. An email will be sent to you "
|
1850 |
+
"with the details shortly."
|
1851 |
+
msgstr ""
|
1852 |
+
"Če ste pravkar opravili plačilo za članstvo, je vaše plačilo v obdelavi. "
|
1853 |
+
"Prosim, preverite še enkrat v nekaj minutah. V kratkem vam bo poslano tudi e-"
|
1854 |
+
"poštno sporočilo s podrobnostmi."
|
1855 |
+
|
1856 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:93
|
1857 |
+
msgid "Expiry: "
|
1858 |
+
msgstr "Iztek: "
|
1859 |
+
|
1860 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:95
|
1861 |
+
msgid "You are not logged-in as a member"
|
1862 |
+
msgstr "Niste prijavljeni kot član"
|
1863 |
+
|
1864 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:115
|
1865 |
+
msgid "Logged in as: "
|
1866 |
+
msgstr "Prijavljen kot: "
|
1867 |
+
|
1868 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:118
|
1869 |
+
#: views/loggedin.php:31
|
1870 |
+
msgid "Logout"
|
1871 |
+
msgstr "Odjava"
|
1872 |
+
|
1873 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:121
|
1874 |
+
msgid "Login Here"
|
1875 |
+
msgstr "Prijavi se"
|
1876 |
+
|
1877 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:122
|
1878 |
+
msgid "Not a member? "
|
1879 |
+
msgstr "Niste član? "
|
1880 |
+
|
1881 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:123
|
1882 |
+
msgid "Join Now"
|
1883 |
+
msgstr "Včlanite se zdaj"
|
1884 |
+
|
1885 |
+
#: ipn/swpm-smart-checkout-ipn.php:260 ipn/swpm-smart-checkout-ipn.php:285
|
1886 |
+
#, php-format
|
1887 |
+
msgid "Error occured during payment verification. Error code: %d. Message: %s"
|
1888 |
+
msgstr ""
|
1889 |
+
"Med preverjanjem plačila je prišlo do napake. Koda napake: %d. Sporočilo: %s"
|
1890 |
+
|
1891 |
+
#: ipn/swpm-smart-checkout-ipn.php:298
|
1892 |
+
#, php-format
|
1893 |
+
msgid ""
|
1894 |
+
"Payment check failed: invalid amount received. Expected %s %s, got %s %s."
|
1895 |
+
msgstr ""
|
1896 |
+
"Preverjanje plačila ni uspelo: prejeti neveljaven znesek. Pričakovano %s %s, "
|
1897 |
+
"dobil %s %s."
|
1898 |
+
|
1899 |
+
#: ipn/swpm-smart-checkout-ipn.php:315
|
1900 |
+
msgid "Empty payment data received."
|
1901 |
+
msgstr "Prejeti prazni podatki o plačilu."
|
1902 |
+
|
1903 |
+
#: ipn/swpm-smart-checkout-ipn.php:355
|
1904 |
+
msgid "IPN product validation failed. Check debug log for more details."
|
1905 |
+
msgstr ""
|
1906 |
+
|
1907 |
+
#: views/account_delete_warning.php:7
|
1908 |
+
msgid ""
|
1909 |
+
"You are about to delete an account. This will delete user data associated "
|
1910 |
+
"with this account. "
|
1911 |
+
msgstr ""
|
1912 |
+
"Račun boste izbrisali. S tem boste izbrisali uporabniške podatke, povezane s "
|
1913 |
+
"tem računom. "
|
1914 |
+
|
1915 |
+
#: views/account_delete_warning.php:8
|
1916 |
+
msgid "It will also delete associated WordPress user account."
|
1917 |
+
msgstr "Prav tako se bo izbrisal pridruženi WordPress uporabniški račun."
|
1918 |
+
|
1919 |
+
#: views/account_delete_warning.php:9
|
1920 |
+
msgid ""
|
1921 |
+
"(NOTE: for safety, we do not allow deletion of any associated WordPress "
|
1922 |
+
"account with administrator role)."
|
1923 |
+
msgstr ""
|
1924 |
+
"(OPOMBA: za varnost ne dovolimo izbrisa katerega koli povezanega WordPress "
|
1925 |
+
"računa z administratorsko vlogo)."
|
1926 |
+
|
1927 |
+
#: views/account_delete_warning.php:10
|
1928 |
+
msgid "Continue?"
|
1929 |
+
msgstr "Nadaljuj?"
|
1930 |
+
|
1931 |
+
#: views/account_delete_warning.php:13
|
1932 |
+
msgid "Password: "
|
1933 |
+
msgstr "Geslo: "
|
1934 |
+
|
1935 |
+
#: views/account_delete_warning.php:14
|
1936 |
+
msgid "Confirm Account Deletion"
|
1937 |
+
msgstr "Potrditev brisanja računa"
|
1938 |
+
|
1939 |
+
#: views/add.php:24 views/admin_add.php:19 views/admin_edit.php:44
|
1940 |
+
#: views/edit.php:31 views/login.php:17
|
1941 |
+
msgid "Password"
|
1942 |
+
msgstr "Geslo"
|
1943 |
+
|
1944 |
+
#: views/add.php:28 views/edit.php:35
|
1945 |
+
msgid "Repeat Password"
|
1946 |
+
msgstr "Ponovitev gesla"
|
1947 |
+
|
1948 |
+
#: views/add.php:65
|
1949 |
+
msgid "I accept the "
|
1950 |
+
msgstr "Sprejemam "
|
1951 |
+
|
1952 |
+
#: views/add.php:77
|
1953 |
+
msgid "I agree to the "
|
1954 |
+
msgstr "Strinjam se z "
|
1955 |
+
|
1956 |
+
#: views/add.php:77
|
1957 |
+
msgid "Privacy Policy"
|
1958 |
+
msgstr "Pravilnik o zasebnosti"
|
1959 |
+
|
1960 |
+
#: views/add.php:88
|
1961 |
+
msgid "Register"
|
1962 |
+
msgstr "Registracija"
|
1963 |
+
|
1964 |
+
#: views/admin_add.php:7
|
1965 |
+
msgid "Create a brand new user and add it to this site."
|
1966 |
+
msgstr "Ustvarite novega uporabnika in ga dodajte na to spletno stran."
|
1967 |
+
|
1968 |
+
#: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:12
|
1969 |
+
#: views/admin_add_level.php:16 views/admin_add_level.php:20
|
1970 |
+
#: views/admin_edit.php:19 views/admin_edit.php:40
|
1971 |
+
#: views/admin_edit_level.php:16 views/admin_edit_level.php:20
|
1972 |
+
#: views/admin_edit_level.php:24
|
1973 |
+
msgid "(required)"
|
1974 |
+
msgstr "(zahtevano)"
|
1975 |
+
|
1976 |
+
#: views/admin_add.php:15 views/admin_edit.php:40
|
1977 |
+
msgid "E-mail"
|
1978 |
+
msgstr "E-pošta"
|
1979 |
+
|
1980 |
+
#: views/admin_add.php:19
|
1981 |
+
msgid "(twice, required)"
|
1982 |
+
msgstr "(dvakrat, zahtevano)"
|
1983 |
+
|
1984 |
+
#: views/admin_add.php:24 views/admin_edit.php:48
|
1985 |
+
msgid "Strength indicator"
|
1986 |
+
msgstr "Indikator kakovosti gesla"
|
1987 |
+
|
1988 |
+
#: views/admin_add.php:25 views/admin_edit.php:49
|
1989 |
+
msgid ""
|
1990 |
+
"Hint: The password should be at least seven characters long. To make it "
|
1991 |
+
"stronger, use upper and lower case letters, numbers and symbols like ! \" ? "
|
1992 |
+
"$ % ^ & )."
|
1993 |
+
msgstr ""
|
1994 |
+
"Namig: Geslo mora biti dolgo vsaj sedem znakov. Da bo močnejši, uporabite "
|
1995 |
+
"zgornje in spodnje črke, številke in simbole, kot so ! \" ? $ % ^ & )."
|
1996 |
+
|
1997 |
+
#: views/admin_add.php:29 views/admin_edit.php:53 views/loggedin.php:10
|
1998 |
+
msgid "Account Status"
|
1999 |
+
msgstr "Status računa"
|
2000 |
+
|
2001 |
+
#: views/admin_add.php:39
|
2002 |
+
msgid "Add New Member "
|
2003 |
+
msgstr "Dodaj novega člana "
|
2004 |
+
|
2005 |
+
#: views/admin_addon_settings.php:3
|
2006 |
+
msgid ""
|
2007 |
+
"Some of the simple membership plugin's addon settings and options will be "
|
2008 |
+
"displayed here (if you have them)"
|
2009 |
+
msgstr ""
|
2010 |
+
|
2011 |
+
#: views/admin_addon_settings.php:8
|
2012 |
+
msgid "Save Changes"
|
2013 |
+
msgstr "Shrani spremembe"
|
2014 |
+
|
2015 |
+
#: views/admin_add_level.php:6
|
2016 |
+
msgid "Add Membership Level"
|
2017 |
+
msgstr "Dodaj raven članstva"
|
2018 |
+
|
2019 |
+
#: views/admin_add_level.php:7
|
2020 |
+
msgid "Create new membership level."
|
2021 |
+
msgstr "Ustvarite novo raven članstva."
|
2022 |
+
|
2023 |
+
#: views/admin_add_level.php:12 views/admin_edit_level.php:16
|
2024 |
+
msgid "Membership Level Name"
|
2025 |
+
msgstr "Ime ravni članstva"
|
2026 |
+
|
2027 |
+
#: views/admin_add_level.php:16 views/admin_edit_level.php:20
|
2028 |
+
msgid "Default WordPress Role"
|
2029 |
+
msgstr "Privzeta Wordpress vloga"
|
2030 |
+
|
2031 |
+
#: views/admin_add_level.php:20 views/admin_edit_level.php:24
|
2032 |
+
msgid "Access Duration"
|
2033 |
+
msgstr "Trajanje dostopa"
|
2034 |
+
|
2035 |
+
#: views/admin_add_level.php:23
|
2036 |
+
msgid "No Expiry (Access for this level will not expire until cancelled"
|
2037 |
+
msgstr ""
|
2038 |
+
"Brez izteka veljavnosti (Dostop za to raven ne bo potekel, dokler ni "
|
2039 |
+
"preklican"
|
2040 |
+
|
2041 |
+
#: views/admin_add_level.php:24 views/admin_add_level.php:26
|
2042 |
+
#: views/admin_add_level.php:28 views/admin_add_level.php:30
|
2043 |
+
#: views/admin_edit_level.php:28 views/admin_edit_level.php:31
|
2044 |
+
#: views/admin_edit_level.php:34 views/admin_edit_level.php:37
|
2045 |
+
msgid "Expire After"
|
2046 |
+
msgstr "Poteče po"
|
2047 |
+
|
2048 |
+
#: views/admin_add_level.php:25 views/admin_edit_level.php:29
|
2049 |
+
msgid "Days (Access expires after given number of days)"
|
2050 |
+
msgstr "Dnevi (Dostop poteče po danem številu dni)"
|
2051 |
+
|
2052 |
+
#: views/admin_add_level.php:27
|
2053 |
+
msgid "Weeks (Access expires after given number of weeks"
|
2054 |
+
msgstr "Tedni (Dostop poteče po danem številu tednov"
|
2055 |
+
|
2056 |
+
#: views/admin_add_level.php:29 views/admin_edit_level.php:35
|
2057 |
+
msgid "Months (Access expires after given number of months)"
|
2058 |
+
msgstr "Meseci (Dostop poteče po danem številu mesecev)"
|
2059 |
+
|
2060 |
+
#: views/admin_add_level.php:31 views/admin_edit_level.php:38
|
2061 |
+
msgid "Years (Access expires after given number of years)"
|
2062 |
+
msgstr "Leta (Dostop poteče po danem številu let)"
|
2063 |
+
|
2064 |
+
#: views/admin_add_level.php:32 views/admin_edit_level.php:40
|
2065 |
+
msgid "Fixed Date Expiry"
|
2066 |
+
msgstr "Končen datum dostopa"
|
2067 |
+
|
2068 |
+
#: views/admin_add_level.php:33 views/admin_edit_level.php:41
|
2069 |
+
msgid "(Access expires on a fixed date)"
|
2070 |
+
msgstr "(Dostop poteče na določen datum)"
|
2071 |
+
|
2072 |
+
#: views/admin_add_level.php:38 views/admin_edit_level.php:46
|
2073 |
+
msgid "Email Activation"
|
2074 |
+
msgstr "Aktiviranje e-pošte"
|
2075 |
+
|
2076 |
+
#: views/admin_add_level.php:43
|
2077 |
+
msgid ""
|
2078 |
+
"Enable new user activation via email. When enabled, members will need to "
|
2079 |
+
"click on an activation link that is sent to their email address to activate "
|
2080 |
+
"the account. Useful for free membership. "
|
2081 |
+
msgstr ""
|
2082 |
+
"Omogočite aktiviranje novega uporabnika preko e-pošte. Če je omogočeno, bodo "
|
2083 |
+
"člani morali klikniti na aktivacijsko povezavo, ki bo poslana na njihov e-"
|
2084 |
+
"poštni naslov za aktiviranje računa. Uporabno za brezplačno članstvo. "
|
2085 |
+
|
2086 |
+
#: views/admin_add_level.php:44 views/admin_edit_level.php:52
|
2087 |
+
msgid "View Documentation"
|
2088 |
+
msgstr "Ogled dokumentacije"
|
2089 |
+
|
2090 |
+
#: views/admin_add_level.php:45 views/admin_edit_level.php:53
|
2091 |
+
msgid "Note:"
|
2092 |
+
msgstr "Opomba:"
|
2093 |
+
|
2094 |
+
#: views/admin_add_level.php:45 views/admin_edit_level.php:53
|
2095 |
+
msgid ""
|
2096 |
+
"If enabled, decryptable member password is temporarily stored in the "
|
2097 |
+
"database until the account is activated."
|
2098 |
+
msgstr ""
|
2099 |
+
"Če je omogočeno, je dešifrirano geslo člana začasno shranjeno v zbirki "
|
2100 |
+
"podatkov, dokler se račun ne aktivira."
|
2101 |
+
|
2102 |
+
#: views/admin_add_level.php:52
|
2103 |
+
msgid "Add New Membership Level "
|
2104 |
+
msgstr "Dodaj novo raven članstva "
|
2105 |
+
|
2106 |
+
#: views/admin_add_ons_page.php:7
|
2107 |
+
msgid "Simple WP Membership::Add-ons"
|
2108 |
+
msgstr ""
|
2109 |
+
|
2110 |
+
#: views/admin_category_list.php:5
|
2111 |
+
msgid ""
|
2112 |
+
"First of all, globally protect the category on your site by selecting "
|
2113 |
+
"\"General Protection\" from the drop-down box below and then select the "
|
2114 |
+
"categories that should be protected from non-logged in users."
|
2115 |
+
msgstr ""
|
2116 |
+
|
2117 |
+
#: views/admin_category_list.php:8
|
2118 |
+
msgid ""
|
2119 |
+
"Next, select an existing membership level from the drop-down box below and "
|
2120 |
+
"then select the categories you want to grant access to (for that particular "
|
2121 |
+
"membership level)."
|
2122 |
+
msgstr ""
|
2123 |
+
|
2124 |
+
#: views/admin_category_list.php:11 views/admin_post_list.php:11
|
2125 |
+
msgid "Read the "
|
2126 |
+
msgstr "Preberite "
|
2127 |
+
|
2128 |
+
#: views/admin_category_list.php:11
|
2129 |
+
msgid "category protection documentation"
|
2130 |
+
msgstr "dokumentacija o varstvu kategorije"
|
2131 |
+
|
2132 |
+
#: views/admin_category_list.php:17 views/admin_post_list.php:27
|
2133 |
+
msgid "Membership Level:"
|
2134 |
+
msgstr "Raven članstva:"
|
2135 |
+
|
2136 |
+
#: views/admin_category_list.php:19 views/admin_post_list.php:29
|
2137 |
+
msgid "General Protection"
|
2138 |
+
msgstr "Splošna zaščita"
|
2139 |
+
|
2140 |
+
#: views/admin_category_list.php:23 views/admin_post_list.php:33
|
2141 |
+
#: views/edit.php:83
|
2142 |
+
msgid "Update"
|
2143 |
+
msgstr "Posodobi"
|
2144 |
+
|
2145 |
+
#: views/admin_edit.php:11
|
2146 |
+
msgid "Edit Member"
|
2147 |
+
msgstr "Uredi člana"
|
2148 |
+
|
2149 |
+
#: views/admin_edit.php:13
|
2150 |
+
msgid "Edit existing member details."
|
2151 |
+
msgstr "Uredite obstoječe podrobnosti o članu."
|
2152 |
+
|
2153 |
+
#: views/admin_edit.php:14
|
2154 |
+
msgid " You are currenty editing member with member ID: "
|
2155 |
+
msgstr " Trenutno urejate člana z ID-jem člana: "
|
2156 |
+
|
2157 |
+
#: views/admin_edit.php:44
|
2158 |
+
msgid "(twice, leave empty to retain old password)"
|
2159 |
+
msgstr "(dvakrat pustite prazno za obhajanje starega gesla)"
|
2160 |
+
|
2161 |
+
#: views/admin_edit.php:59
|
2162 |
+
msgid ""
|
2163 |
+
"This is the member's account status. If you want to manually activate an "
|
2164 |
+
"expired member's account then read"
|
2165 |
+
msgstr ""
|
2166 |
+
"To je stanje računa člana. Če želite ročno aktivirati račun člana, ki je "
|
2167 |
+
"poteklo, preberite"
|
2168 |
+
|
2169 |
+
#: views/admin_edit.php:60
|
2170 |
+
msgid "this documentation"
|
2171 |
+
msgstr "to dokumentacijo"
|
2172 |
+
|
2173 |
+
#: views/admin_edit.php:61
|
2174 |
+
msgid " to learn how to do it."
|
2175 |
+
msgstr " da se naučite, kako to storiti."
|
2176 |
+
|
2177 |
+
#: views/admin_edit.php:66
|
2178 |
+
msgid "Notify User"
|
2179 |
+
msgstr "Obvesti uporabnika"
|
2180 |
+
|
2181 |
+
#: views/admin_edit.php:69
|
2182 |
+
msgid ""
|
2183 |
+
"You can use this option to send a quick notification email to this member "
|
2184 |
+
"(the email will be sent when you hit the save button below)."
|
2185 |
+
msgstr ""
|
2186 |
+
"To možnost lahko uporabite za pošiljanje hitrega e-poštnega obvestila temu "
|
2187 |
+
"članu (e-poštno sporočilo bo poslano, ko pritisnete gumb za shranjevanje "
|
2188 |
+
"spodaj)."
|
2189 |
+
|
2190 |
+
#: views/admin_edit.php:75
|
2191 |
+
msgid "Subscriber ID/Reference"
|
2192 |
+
msgstr "ID naročnika/sklic"
|
2193 |
+
|
2194 |
+
#: views/admin_edit.php:79
|
2195 |
+
msgid "Last Accessed Date"
|
2196 |
+
msgstr "Datum zadnjega dostopa"
|
2197 |
+
|
2198 |
+
#: views/admin_edit.php:82 views/admin_edit.php:89
|
2199 |
+
msgid "This value gets updated when this member logs into your site."
|
2200 |
+
msgstr "Ta vrednost se posodobi, ko se ta član prijavi na vaše mesto."
|
2201 |
+
|
2202 |
+
#: views/admin_edit.php:86
|
2203 |
+
msgid "Last Accessed From IP"
|
2204 |
+
msgstr "Zadnji dostop iz IP"
|
2205 |
+
|
2206 |
+
#: views/admin_edit.php:97
|
2207 |
+
msgid "Save Data"
|
2208 |
+
msgstr "Shranjevanje podatkov"
|
2209 |
+
|
2210 |
+
#: views/admin_edit.php:102
|
2211 |
+
msgid "Delete User Profile"
|
2212 |
+
msgstr "Izbriši uporabniški profil"
|
2213 |
+
|
2214 |
+
#: views/admin_edit_level.php:6
|
2215 |
+
msgid "Edit membership level"
|
2216 |
+
msgstr "Urejanje ravni članstva"
|
2217 |
+
|
2218 |
+
#: views/admin_edit_level.php:9
|
2219 |
+
msgid ""
|
2220 |
+
"You can edit details of a selected membership level from this interface. "
|
2221 |
+
msgstr "Podrobnosti o izbrani ravni članstva lahko urejate iz tega vmesnika. "
|
2222 |
+
|
2223 |
+
#: views/admin_edit_level.php:10
|
2224 |
+
msgid "You are currently editing: "
|
2225 |
+
msgstr "Trenutno urejate: "
|
2226 |
+
|
2227 |
+
#: views/admin_edit_level.php:27
|
2228 |
+
msgid "No Expiry (Access for this level will not expire until cancelled)"
|
2229 |
+
msgstr "Brez izteka veljavnosti (Dostop za to raven ne bo potekel do preklica)"
|
2230 |
+
|
2231 |
+
#: views/admin_edit_level.php:32
|
2232 |
+
msgid "Weeks (Access expires after given number of weeks)"
|
2233 |
+
msgstr "Tedni (Dostop poteče po danem številu tednov)"
|
2234 |
+
|
2235 |
+
#: views/admin_edit_level.php:51
|
2236 |
+
msgid ""
|
2237 |
+
"Enable new user activation via email. When enabled, members will need to "
|
2238 |
+
"click on an activation link that is sent to their email address to activate "
|
2239 |
+
"the account. Useful for free membership."
|
2240 |
+
msgstr ""
|
2241 |
+
"Omogočite aktiviranje novega uporabnika preko e-pošte. Ko je omogočeno, bodo "
|
2242 |
+
"člani morali klikniti na aktivacijsko povezavo, ki je poslana na njihov e-"
|
2243 |
+
"poštni naslov za aktiviranje računa. Uporabno za brezplačno članstvo."
|
2244 |
+
|
2245 |
+
#: views/admin_edit_level.php:60
|
2246 |
+
msgid "Save Membership Level "
|
2247 |
+
msgstr "Shrani raven članstva "
|
2248 |
+
|
2249 |
+
#: views/admin_membership_manage.php:18
|
2250 |
+
msgid "Example Content Protection Settings"
|
2251 |
+
msgstr "Primer nastavitve zaščite vsebine"
|
2252 |
+
|
2253 |
+
#: views/admin_members_list.php:18
|
2254 |
+
msgid "All"
|
2255 |
+
msgstr "Vse"
|
2256 |
+
|
2257 |
+
#: views/admin_members_list.php:23
|
2258 |
+
msgid "Incomplete"
|
2259 |
+
msgstr "Nepopolne"
|
2260 |
+
|
2261 |
+
#: views/admin_member_form_common_part.php:23
|
2262 |
+
#: includes/swpm_mda_show_profile.php:37
|
2263 |
+
msgid "Gender"
|
2264 |
+
msgstr "Spol"
|
2265 |
+
|
2266 |
+
#: views/admin_member_form_common_part.php:30 views/edit.php:47
|
2267 |
+
#: includes/swpm_mda_show_profile.php:34
|
2268 |
+
msgid "Phone"
|
2269 |
+
msgstr "Telefon"
|
2270 |
+
|
2271 |
+
#: views/admin_member_form_common_part.php:34 views/edit.php:51
|
2272 |
+
msgid "Street"
|
2273 |
+
msgstr "Ulica"
|
2274 |
+
|
2275 |
+
#: views/admin_member_form_common_part.php:38 views/edit.php:55
|
2276 |
+
msgid "City"
|
2277 |
+
msgstr "Mesto"
|
2278 |
+
|
2279 |
+
#: views/admin_member_form_common_part.php:42 views/edit.php:59
|
2280 |
+
msgid "State"
|
2281 |
+
msgstr "Regija"
|
2282 |
+
|
2283 |
+
#: views/admin_member_form_common_part.php:46 views/edit.php:63
|
2284 |
+
msgid "Zipcode"
|
2285 |
+
msgstr "Poštna številka"
|
2286 |
+
|
2287 |
+
#: views/admin_member_form_common_part.php:50 views/edit.php:67
|
2288 |
+
#: includes/swpm_mda_show_profile.php:33
|
2289 |
+
msgid "Country"
|
2290 |
+
msgstr "Država"
|
2291 |
+
|
2292 |
+
#: views/admin_member_form_common_part.php:54
|
2293 |
+
#: includes/swpm_mda_show_profile.php:38
|
2294 |
+
msgid "Company"
|
2295 |
+
msgstr "Podjetje"
|
2296 |
+
|
2297 |
+
#: views/admin_member_form_common_part.php:58
|
2298 |
+
#: includes/swpm_mda_show_profile.php:36
|
2299 |
+
msgid "Member Since"
|
2300 |
+
msgstr "Član Od"
|
2301 |
+
|
2302 |
+
#: views/admin_post_list.php:5
|
2303 |
+
msgid ""
|
2304 |
+
"First of all, globally protect posts and pages on your site by selecting "
|
2305 |
+
"\"General Protection\" from the drop-down box below and then select posts "
|
2306 |
+
"and pages that should be protected from non-logged in users."
|
2307 |
+
msgstr ""
|
2308 |
+
|
2309 |
+
#: views/admin_post_list.php:8
|
2310 |
+
msgid ""
|
2311 |
+
"Next, select an existing membership level from the drop-down box below and "
|
2312 |
+
"then select posts and pages you want to grant access to (for that particular "
|
2313 |
+
"membership level)."
|
2314 |
+
msgstr ""
|
2315 |
+
|
2316 |
+
#: views/admin_post_list.php:11
|
2317 |
+
msgid "bulk protect posts and pages documentation"
|
2318 |
+
msgstr ""
|
2319 |
+
|
2320 |
+
#: views/admin_post_list.php:11
|
2321 |
+
msgid " to learn how to use it."
|
2322 |
+
msgstr ""
|
2323 |
+
|
2324 |
+
#: views/admin_post_list.php:21
|
2325 |
+
msgid "Posts"
|
2326 |
+
msgstr "Prispevki"
|
2327 |
+
|
2328 |
+
#: views/admin_post_list.php:22
|
2329 |
+
msgid "Pages"
|
2330 |
+
msgstr "Strani"
|
2331 |
+
|
2332 |
+
#: views/admin_post_list.php:23
|
2333 |
+
msgid "Custom Posts"
|
2334 |
+
msgstr "Objave po meri"
|
2335 |
+
|
2336 |
+
#: views/admin_tools_settings.php:14
|
2337 |
+
msgid "The required pages have been re-created."
|
2338 |
+
msgstr "Zahtevane strani so bile ponovno ustvarjene."
|
2339 |
+
|
2340 |
+
#: views/admin_tools_settings.php:21
|
2341 |
+
msgid "Generate a Registration Completion link"
|
2342 |
+
msgstr "Ustvari povezavo za dokončanje registracije"
|
2343 |
+
|
2344 |
+
#: views/admin_tools_settings.php:24
|
2345 |
+
msgid ""
|
2346 |
+
"You can manually generate a registration completion link here and give it to "
|
2347 |
+
"your customer if they have missed the email that was automatically sent out "
|
2348 |
+
"to them after the payment."
|
2349 |
+
msgstr ""
|
2350 |
+
"Tukaj lahko ročno ustvarite povezavo za dokončanje registracije in jo daste "
|
2351 |
+
"stranki, če so zamudili e-poštno sporočilo, ki mu je bilo po plačilu "
|
2352 |
+
"samodejno poslano."
|
2353 |
+
|
2354 |
+
#: views/admin_tools_settings.php:29
|
2355 |
+
msgid "Generate Registration Completion Link"
|
2356 |
+
msgstr "Ustvari povezavo za dokončanje registracije"
|
2357 |
+
|
2358 |
+
#: views/admin_tools_settings.php:30
|
2359 |
+
msgid "For a Particular Member ID"
|
2360 |
+
msgstr "Za določen ID člana"
|
2361 |
+
|
2362 |
+
#: views/admin_tools_settings.php:32
|
2363 |
+
msgid "OR"
|
2364 |
+
msgstr "ALI"
|
2365 |
+
|
2366 |
+
#: views/admin_tools_settings.php:33
|
2367 |
+
msgid "For All Incomplete Registrations"
|
2368 |
+
msgstr "Za vse nepopolne registracije"
|
2369 |
+
|
2370 |
+
#: views/admin_tools_settings.php:38
|
2371 |
+
msgid "Send Registration Reminder Email Too"
|
2372 |
+
msgstr "Pošlji tudi e-pošto opomnika za registracijo"
|
2373 |
+
|
2374 |
+
#: views/admin_tools_settings.php:44
|
2375 |
+
msgid "Submit"
|
2376 |
+
msgstr "Pošlji"
|
2377 |
+
|
2378 |
+
#: views/admin_tools_settings.php:53
|
2379 |
+
msgid ""
|
2380 |
+
"Link(s) generated successfully. The following link(s) can be used to "
|
2381 |
+
"complete the registration."
|
2382 |
+
msgstr ""
|
2383 |
+
"Povezave so uspešno ustvarjene. Za dokončanje registracije se lahko "
|
2384 |
+
"uporabijo naslednje povezave."
|
2385 |
+
|
2386 |
+
#: views/admin_tools_settings.php:55
|
2387 |
+
msgid "Registration completion links will appear below"
|
2388 |
+
msgstr "Povezave za dokončanje registracije bodo prikazane spodaj"
|
2389 |
+
|
2390 |
+
#: views/admin_tools_settings.php:65
|
2391 |
+
msgid "A prompt to complete registration email was also sent."
|
2392 |
+
msgstr "Poslan je bil tudi poziv za dokončanje registracijske e-pošte."
|
2393 |
+
|
2394 |
+
#: views/admin_tools_settings.php:78 views/admin_tools_settings.php:88
|
2395 |
+
msgid "Re-create the Required Pages"
|
2396 |
+
msgstr "Ponovno ustvarite zahtevane strani"
|
2397 |
+
|
2398 |
+
#: views/admin_tools_settings.php:81
|
2399 |
+
msgid ""
|
2400 |
+
"If you have accidentally deleted the required pages that this plugin creates "
|
2401 |
+
"at install time, you can use this option to re-create them."
|
2402 |
+
msgstr ""
|
2403 |
+
"Če ste po nesreči izbrisali zahtevane strani, ki jih ta vtičnik ustvari ob "
|
2404 |
+
"namestitvi, lahko za ponovno ustvarjanje uporabite to možnost."
|
2405 |
+
|
2406 |
+
#: views/admin_tools_settings.php:82
|
2407 |
+
msgid " has full explanation."
|
2408 |
+
msgstr " ima popolno razlago."
|
2409 |
+
|
2410 |
+
#: views/edit.php:32 views/edit.php:36
|
2411 |
+
msgid "Leave empty to keep the current password"
|
2412 |
+
msgstr "Pustite prazno, če želite obdržati trenutno geslo"
|
2413 |
+
|
2414 |
+
#: views/edit.php:71
|
2415 |
+
msgid "Company Name"
|
2416 |
+
msgstr "Naziv podjetja"
|
2417 |
+
|
2418 |
+
#: views/forgot_password.php:12
|
2419 |
+
msgid "Reset Password"
|
2420 |
+
msgstr "Ponastavi geslo"
|
2421 |
+
|
2422 |
+
#: views/loggedin.php:6
|
2423 |
+
msgid "Logged in as"
|
2424 |
+
msgstr "Prijavljeni ste kot"
|
2425 |
+
|
2426 |
+
#: views/loggedin.php:14
|
2427 |
+
msgid "Membership"
|
2428 |
+
msgstr "Članstvo"
|
2429 |
+
|
2430 |
+
#: views/loggedin.php:18
|
2431 |
+
msgid "Account Expiry"
|
2432 |
+
msgstr "Potek računa"
|
2433 |
+
|
2434 |
+
#: views/loggedin.php:26
|
2435 |
+
msgid "Edit Profile"
|
2436 |
+
msgstr "Uredi profil"
|
2437 |
+
|
2438 |
+
#: views/login.php:11
|
2439 |
+
msgid "Username or Email"
|
2440 |
+
msgstr "Uporabniško ime ali e-naslov"
|
2441 |
+
|
2442 |
+
#: views/login.php:24
|
2443 |
+
msgid "Remember Me"
|
2444 |
+
msgstr "Zapomni si me"
|
2445 |
+
|
2446 |
+
#: views/login.php:33
|
2447 |
+
msgid "Forgot Password?"
|
2448 |
+
msgstr "Pozabljeno geslo?"
|
2449 |
+
|
2450 |
+
#: views/payments/admin_all_payment_transactions.php:6
|
2451 |
+
msgid "All the payments/transactions of your members are recorded here."
|
2452 |
+
msgstr "Vsa plačila/transakcije vaših članov so zabeležena tukaj."
|
2453 |
+
|
2454 |
+
#: views/payments/admin_all_payment_transactions.php:12
|
2455 |
+
msgid "Search for a transaction by using email or name"
|
2456 |
+
msgstr "Iskanje transakcije z uporabo e-pošte ali imena"
|
2457 |
+
|
2458 |
+
#: views/payments/admin_create_payment_buttons.php:15
|
2459 |
+
msgid ""
|
2460 |
+
"You can create new payment button for your memberships using this interface."
|
2461 |
+
msgstr "S tem vmesnikom lahko ustvarite nov plačilni gumb za članstvo."
|
2462 |
+
|
2463 |
+
#: views/payments/admin_create_payment_buttons.php:23
|
2464 |
+
msgid "Select Payment Button Type"
|
2465 |
+
msgstr "Izberite vrsto plačilnega gumba"
|
2466 |
+
|
2467 |
+
#: views/payments/admin_create_payment_buttons.php:26
|
2468 |
+
msgid "PayPal Buy Now"
|
2469 |
+
msgstr "PayPal Kupi zdaj"
|
2470 |
+
|
2471 |
+
#: views/payments/admin_create_payment_buttons.php:28
|
2472 |
+
msgid "PayPal Subscription"
|
2473 |
+
msgstr "PayPal naročnina"
|
2474 |
+
|
2475 |
+
#: views/payments/admin_create_payment_buttons.php:30
|
2476 |
+
msgid "PayPal Smart Checkout"
|
2477 |
+
msgstr "PayPal Pametna blagajna"
|
2478 |
+
|
2479 |
+
#: views/payments/admin_create_payment_buttons.php:32
|
2480 |
+
msgid "Stripe Buy Now"
|
2481 |
+
msgstr "Stripe Kupi zdaj"
|
2482 |
+
|
2483 |
+
#: views/payments/admin_create_payment_buttons.php:34
|
2484 |
+
msgid "Stripe Subscription"
|
2485 |
+
msgstr "Stripe naročniški sistem"
|
2486 |
+
|
2487 |
+
#: views/payments/admin_create_payment_buttons.php:36
|
2488 |
+
msgid "Braintree Buy Now"
|
2489 |
+
msgstr "Braintree Kupi zdaj"
|
2490 |
+
|
2491 |
+
#: views/payments/admin_create_payment_buttons.php:43
|
2492 |
+
msgid "Next"
|
2493 |
+
msgstr "Naprej"
|
2494 |
+
|
2495 |
+
#: views/payments/admin_edit_payment_buttons.php:15
|
2496 |
+
msgid "You can edit a payment button using this interface."
|
2497 |
+
msgstr "Gumb za plačilo lahko uredite s tem vmesnikom."
|
2498 |
+
|
2499 |
+
#: views/payments/admin_payment_buttons.php:6
|
2500 |
+
msgid ""
|
2501 |
+
"All the membership buttons that you created in the plugin are displayed here."
|
2502 |
+
msgstr ""
|
2503 |
+
"Vsi gumbi za članstvo, ki ste jih ustvarili v vtičnik, so prikazani tukaj."
|
2504 |
+
|
2505 |
+
#: views/payments/admin_payment_settings.php:21
|
2506 |
+
msgid "Error! The membership level ID ("
|
2507 |
+
msgstr "Napaka! ID ravni članstva ("
|
2508 |
+
|
2509 |
+
#: views/payments/admin_payment_settings.php:28
|
2510 |
+
msgid ""
|
2511 |
+
"You can create membership payment buttons from the payments menu of this "
|
2512 |
+
"plugin (useful if you want to offer paid membership on the site)."
|
2513 |
+
msgstr ""
|
2514 |
+
"Gumbe za plačilo članstva lahko ustvarite iz plačilnega menija tega vtičnika "
|
2515 |
+
"(uporabno, če želite na strani ponuditi plačano članstvo)."
|
2516 |
+
|
2517 |
+
#: views/payments/admin_payment_settings.php:33
|
2518 |
+
msgid "PayPal Integration Settings"
|
2519 |
+
msgstr "PayPal nastavitve integracije"
|
2520 |
+
|
2521 |
+
#: views/payments/admin_payment_settings.php:36
|
2522 |
+
msgid "Generate the \"Advanced Variables\" Code for your PayPal button"
|
2523 |
+
msgstr "Ustvarite kodo »Napredne spremenljivke« za PayPal gumb"
|
2524 |
+
|
2525 |
+
#: views/payments/admin_payment_settings.php:39
|
2526 |
+
msgid "Enter the Membership Level ID"
|
2527 |
+
msgstr "Vnesite ID ravni članstva"
|
2528 |
+
|
2529 |
+
#: views/payments/admin_payment_settings.php:41
|
2530 |
+
msgid "Generate Code"
|
2531 |
+
msgstr "Ustvari kodo"
|
2532 |
+
|
2533 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22
|
2534 |
+
msgid "Braintree Buy Now Button Configuration"
|
2535 |
+
msgstr "Braintree Buy Now Konfiguracija gumba"
|
2536 |
+
|
2537 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34
|
2538 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:213
|
2539 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33
|
2540 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:301
|
2541 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:259
|
2542 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:83
|
2543 |
+
msgid "Button ID"
|
2544 |
+
msgstr "ID gumba"
|
2545 |
+
|
2546 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42
|
2547 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26
|
2548 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:221
|
2549 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41
|
2550 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:27
|
2551 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:309
|
2552 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:39
|
2553 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:266
|
2554 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:91
|
2555 |
+
msgid "Button Title"
|
2556 |
+
msgstr "Naslov gumba"
|
2557 |
+
|
2558 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60
|
2559 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44
|
2560 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:239
|
2561 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59
|
2562 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:57
|
2563 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:282
|
2564 |
+
msgid "Payment Amount"
|
2565 |
+
msgstr "Znesek plačila"
|
2566 |
+
|
2567 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68
|
2568 |
+
msgid ""
|
2569 |
+
"Braintree API key and account details. You can get this from your Braintree "
|
2570 |
+
"account."
|
2571 |
+
msgstr ""
|
2572 |
+
"Braintree API ključ in podrobnosti računa. To lahko dobiš s pametnega računa."
|
2573 |
+
|
2574 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72
|
2575 |
+
msgid "Merchant ID"
|
2576 |
+
msgstr ""
|
2577 |
+
|
2578 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80
|
2579 |
+
msgid "Public Key"
|
2580 |
+
msgstr ""
|
2581 |
+
|
2582 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87
|
2583 |
+
msgid "Private Key"
|
2584 |
+
msgstr ""
|
2585 |
+
|
2586 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95
|
2587 |
+
msgid "Merchant Account ID"
|
2588 |
+
msgstr ""
|
2589 |
+
|
2590 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113
|
2591 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:137
|
2592 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:361
|
2593 |
+
msgid "The following details are optional."
|
2594 |
+
msgstr ""
|
2595 |
+
|
2596 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117
|
2597 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:92
|
2598 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:287
|
2599 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204
|
2600 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:172
|
2601 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:456
|
2602 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:149
|
2603 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:373
|
2604 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:191
|
2605 |
+
msgid "Return URL"
|
2606 |
+
msgstr ""
|
2607 |
+
|
2608 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:127
|
2609 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:126
|
2610 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:321
|
2611 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:214
|
2612 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:200
|
2613 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:484
|
2614 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:159
|
2615 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:383
|
2616 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:212
|
2617 |
+
msgid "Save Payment Data"
|
2618 |
+
msgstr ""
|
2619 |
+
|
2620 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16
|
2621 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:204
|
2622 |
+
msgid "PayPal Buy Now Button Configuration"
|
2623 |
+
msgstr ""
|
2624 |
+
|
2625 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52
|
2626 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:247
|
2627 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67
|
2628 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:45
|
2629 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:327
|
2630 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:65
|
2631 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:289
|
2632 |
+
msgid "Payment Currency"
|
2633 |
+
msgstr ""
|
2634 |
+
|
2635 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100
|
2636 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:295
|
2637 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:85
|
2638 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:367
|
2639 |
+
msgid "PayPal Email"
|
2640 |
+
msgstr ""
|
2641 |
+
|
2642 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108
|
2643 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:303
|
2644 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:180
|
2645 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:464
|
2646 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:199
|
2647 |
+
msgid "Button Image URL"
|
2648 |
+
msgstr ""
|
2649 |
+
|
2650 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116
|
2651 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:311
|
2652 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:188
|
2653 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:472
|
2654 |
+
msgid "Custom Checkout Page Logo Image"
|
2655 |
+
msgstr ""
|
2656 |
+
|
2657 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21
|
2658 |
+
msgid "PayPal Smart Checkout Button Configuration"
|
2659 |
+
msgstr ""
|
2660 |
+
|
2661 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107
|
2662 |
+
msgid ""
|
2663 |
+
"PayPal Smart Checkout API Credentials (you can get this from your PayPal "
|
2664 |
+
"account)"
|
2665 |
+
msgstr ""
|
2666 |
+
|
2667 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111
|
2668 |
+
msgid "Live Client ID"
|
2669 |
+
msgstr ""
|
2670 |
+
|
2671 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119
|
2672 |
+
msgid "Live Secret"
|
2673 |
+
msgstr ""
|
2674 |
+
|
2675 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127
|
2676 |
+
msgid "Sandbox Client ID"
|
2677 |
+
msgstr ""
|
2678 |
+
|
2679 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135
|
2680 |
+
msgid "Sandbox Secret"
|
2681 |
+
msgstr ""
|
2682 |
+
|
2683 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143
|
2684 |
+
msgid "Button Appearance Settings"
|
2685 |
+
msgstr "Nastavitve videza gumba"
|
2686 |
+
|
2687 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147
|
2688 |
+
msgid "Size"
|
2689 |
+
msgstr "Velikost"
|
2690 |
+
|
2691 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150
|
2692 |
+
msgid "Medium"
|
2693 |
+
msgstr "Srednje"
|
2694 |
+
|
2695 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151
|
2696 |
+
msgid "Large"
|
2697 |
+
msgstr "Veliko"
|
2698 |
+
|
2699 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152
|
2700 |
+
msgid "Repsonsive"
|
2701 |
+
msgstr ""
|
2702 |
+
|
2703 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154
|
2704 |
+
msgid "Select button size."
|
2705 |
+
msgstr "Izberite velikost gumba."
|
2706 |
+
|
2707 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158
|
2708 |
+
msgid "Color"
|
2709 |
+
msgstr "Barva"
|
2710 |
+
|
2711 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161
|
2712 |
+
msgid "Gold"
|
2713 |
+
msgstr "Zlata"
|
2714 |
+
|
2715 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162
|
2716 |
+
msgid "Blue"
|
2717 |
+
msgstr "Modra"
|
2718 |
+
|
2719 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163
|
2720 |
+
msgid "Silver"
|
2721 |
+
msgstr "Srebrna"
|
2722 |
+
|
2723 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164
|
2724 |
+
msgid "Black"
|
2725 |
+
msgstr "Črna"
|
2726 |
+
|
2727 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166
|
2728 |
+
msgid "Select button color."
|
2729 |
+
msgstr "Izberite barvo gumba."
|
2730 |
+
|
2731 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170
|
2732 |
+
msgid "Shape"
|
2733 |
+
msgstr "Oblika"
|
2734 |
+
|
2735 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172
|
2736 |
+
msgid "Rectangular"
|
2737 |
+
msgstr "Pravokotno"
|
2738 |
+
|
2739 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173
|
2740 |
+
msgid "Pill"
|
2741 |
+
msgstr ""
|
2742 |
+
|
2743 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174
|
2744 |
+
msgid "Select button shape."
|
2745 |
+
msgstr "Izberite obliko gumba."
|
2746 |
+
|
2747 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178
|
2748 |
+
msgid "Layout"
|
2749 |
+
msgstr "Postavitev"
|
2750 |
+
|
2751 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180
|
2752 |
+
msgid "Vertical"
|
2753 |
+
msgstr "Vertikalno"
|
2754 |
+
|
2755 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181
|
2756 |
+
msgid "Horizontal"
|
2757 |
+
msgstr "Horizontalno"
|
2758 |
+
|
2759 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182
|
2760 |
+
msgid "Select button layout."
|
2761 |
+
msgstr "Izberite postavitev gumbov."
|
2762 |
+
|
2763 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187
|
2764 |
+
msgid "Additional Settings"
|
2765 |
+
msgstr "Dodatne nastavitve"
|
2766 |
+
|
2767 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191
|
2768 |
+
msgid "Payment Methods"
|
2769 |
+
msgstr "Načini plačila"
|
2770 |
+
|
2771 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193
|
2772 |
+
msgid "PayPal Credit"
|
2773 |
+
msgstr "PayPal Kredit"
|
2774 |
+
|
2775 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194
|
2776 |
+
msgid "ELV"
|
2777 |
+
msgstr "ELV"
|
2778 |
+
|
2779 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195
|
2780 |
+
msgid ""
|
2781 |
+
"Select payment methods that could be used by customers. Note that payment "
|
2782 |
+
"with cards is always enabled."
|
2783 |
+
msgstr ""
|
2784 |
+
"Izberite načine plačila, ki jih lahko uporabljajo stranke. Upoštevajte, da "
|
2785 |
+
"je plačilo s karticami vedno omogočeno."
|
2786 |
+
|
2787 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200
|
2788 |
+
msgid "The following details are optional"
|
2789 |
+
msgstr "Naslednje podrobnosti so neobvezne"
|
2790 |
+
|
2791 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:18
|
2792 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:295
|
2793 |
+
msgid "PayPal Subscription Button Configuration"
|
2794 |
+
msgstr "Konfiguracija PayPay Subscription gumba"
|
2795 |
+
|
2796 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:93
|
2797 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:375
|
2798 |
+
msgid "Billing Amount Each Cycle"
|
2799 |
+
msgstr "Znesek obračunavanja za vsak cikel"
|
2800 |
+
|
2801 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:101
|
2802 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:383
|
2803 |
+
msgid "Billing Cycle"
|
2804 |
+
msgstr "Cikel zaračunavanja"
|
2805 |
+
|
2806 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:114
|
2807 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:396
|
2808 |
+
msgid "Billing Cycle Count"
|
2809 |
+
msgstr "Število ciklov obračunavanja"
|
2810 |
+
|
2811 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:122
|
2812 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:404
|
2813 |
+
msgid "Re-attempt on Failure"
|
2814 |
+
msgstr "V primeru neuspešnosti poskusi ponovno"
|
2815 |
+
|
2816 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:135
|
2817 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:419
|
2818 |
+
msgid ""
|
2819 |
+
"Trial Billing Details (Leave empty if you are not offering a trial period)"
|
2820 |
+
msgstr ""
|
2821 |
+
"Podrobnosti preskušanega obračunavanja (Pustite prazno, če ne ponujate "
|
2822 |
+
"preskusnega obdobja)"
|
2823 |
+
|
2824 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:141
|
2825 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:425
|
2826 |
+
msgid "Trial Billing Amount"
|
2827 |
+
msgstr "Znesek preizkusnega obdobja"
|
2828 |
+
|
2829 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:149
|
2830 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:433
|
2831 |
+
msgid "Trial Billing Period"
|
2832 |
+
msgstr "Obdobje preizkusnega obdobja"
|
2833 |
+
|
2834 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:166
|
2835 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:450
|
2836 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:177
|
2837 |
+
msgid "Optional Details"
|
2838 |
+
msgstr "Izbirne podrobnosti"
|
2839 |
+
|
2840 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:29
|
2841 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:250
|
2842 |
+
msgid "Stripe Buy Now Button Configuration"
|
2843 |
+
msgstr "Konfiguracija gumba Stripe “Kupi zdaj”"
|
2844 |
+
|
2845 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:104
|
2846 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:328
|
2847 |
+
msgid "Stripe API keys. You can get this from your Stripe account."
|
2848 |
+
msgstr ""
|
2849 |
+
|
2850 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:108
|
2851 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:332
|
2852 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:131
|
2853 |
+
msgid "Test Publishable Key"
|
2854 |
+
msgstr ""
|
2855 |
+
|
2856 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115
|
2857 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339
|
2858 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:139
|
2859 |
+
msgid "Test Secret Key"
|
2860 |
+
msgstr ""
|
2861 |
+
|
2862 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122
|
2863 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346
|
2864 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:147
|
2865 |
+
msgid "Live Publishable Key"
|
2866 |
+
msgstr ""
|
2867 |
+
|
2868 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129
|
2869 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:353
|
2870 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:155
|
2871 |
+
msgid "Live Secret Key"
|
2872 |
+
msgstr ""
|
2873 |
+
|
2874 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:141
|
2875 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:365
|
2876 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:183
|
2877 |
+
msgid "Collect Customer Address"
|
2878 |
+
msgstr "Zbiranje naslova stranke"
|
2879 |
+
|
2880 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:75
|
2881 |
+
msgid "Stripe Subscription Button Configuration"
|
2882 |
+
msgstr "Konfiguracija gumba za naročnino preko Stripe"
|
2883 |
+
|
2884 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:109
|
2885 |
+
msgid "Stripe API ID"
|
2886 |
+
msgstr ""
|
2887 |
+
|
2888 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:125
|
2889 |
+
msgid "Stripe API Settings"
|
2890 |
+
msgstr ""
|
2891 |
+
|
2892 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:163
|
2893 |
+
msgid "Webook Endpoint URL"
|
2894 |
+
msgstr ""
|
2895 |
+
|
2896 |
+
#: views/payments/payment-gateway/braintree_button_shortcode_view.php:20
|
2897 |
+
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:91
|
2898 |
+
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:93
|
2899 |
+
#: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15
|
2900 |
+
#: views/payments/payment-gateway/stripe_button_shortcode_view.php:20
|
2901 |
+
#: views/payments/payment-gateway/stripe_button_shortcode_view.php:150
|
2902 |
+
msgid "Buy Now"
|
2903 |
+
msgstr "Takojšnji nakup"
|
2904 |
+
|
2905 |
+
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:226
|
2906 |
+
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:228
|
2907 |
+
msgid "Subscribe Now"
|
2908 |
+
msgstr "Naroči se zdaj"
|
2909 |
+
|
2910 |
+
#: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:137
|
2911 |
+
msgid "Error occured during PayPal Smart Checkout process."
|
2912 |
+
msgstr "Med postopkom pametnega PayPal je prišlo do napake."
|
2913 |
+
|
2914 |
+
#: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:165
|
2915 |
+
msgid "HTTP error occured during payment process:"
|
2916 |
+
msgstr "Med postopkom plačila je prišlo do napake HTTP:"
|
2917 |
+
|
2918 |
+
#: Translation strings from addons === Form builder addon
|
2919 |
+
msgid "Type password here"
|
2920 |
+
msgstr "Tukaj vnesite geslo"
|
2921 |
+
|
2922 |
+
msgid "Retype password here"
|
2923 |
+
msgstr "Ponovno vnesite geslo tukaj"
|
2924 |
+
|
2925 |
+
msgid "Registration is complete. You can now log into the site."
|
2926 |
+
msgstr "Registracija je končana. Zdaj se lahko prijavite na spletno mesto."
|
2927 |
+
|
2928 |
+
msgid " Field has invalid character"
|
2929 |
+
msgstr " Polje ima neveljaven znak"
|
2930 |
+
|
2931 |
+
msgid " Password does not match"
|
2932 |
+
msgstr " Geslo se ne ujema"
|
2933 |
+
|
2934 |
+
msgid "Already taken."
|
2935 |
+
msgstr "Že odvzeto."
|
2936 |
+
|
2937 |
+
msgid "Street Address"
|
2938 |
+
msgstr "Ulica"
|
2939 |
+
|
2940 |
+
msgid "Apt, Suite, Bldg. (optional)"
|
2941 |
+
msgstr ""
|
2942 |
+
|
2943 |
+
msgid "State / Province / Region"
|
2944 |
+
msgstr "Zvezna država/Provinca/Regija"
|
2945 |
+
|
2946 |
+
msgid "Postal / Zip Code"
|
2947 |
+
msgstr "Poštna / poštna številka"
|
2948 |
+
|
2949 |
+
msgid ""
|
2950 |
+
"Check this box to delete the image. The image will be deleted when you save "
|
2951 |
+
"the profile."
|
2952 |
+
msgstr ""
|
2953 |
+
"Če želite izbrisati sliko, potrdite to polje. Slika bo izbrisana, ko "
|
2954 |
+
"shranite profil."
|
2955 |
+
|
2956 |
+
msgid "You will need to re-login since you changed your password."
|
2957 |
+
msgstr "Odkar ste spremenili geslo, se boste morali ponovno prijaviti."
|
2958 |
+
|
2959 |
+
msgid ""
|
2960 |
+
"Please enter any two digits with <strong>no</strong> spaces (Example: 12)"
|
2961 |
+
msgstr ""
|
2962 |
+
"Vnesite kateri koli dve števki brez <strong>presledkov</strong> (Primer: 12)"
|
2963 |
+
|
2964 |
+
msgid "Verification"
|
2965 |
+
msgstr "Verifikacija"
|
2966 |
+
|
2967 |
+
msgid "Please enter any two digits with no spaces (Example: 12)*"
|
2968 |
+
msgstr "Vnesite kateri koli dve števki brez presledkov (Primer: 12)*"
|
2969 |
+
|
2970 |
+
msgid "Username can only contain: letters, numbers and .-*@"
|
2971 |
+
msgstr "Uporabniško ime lahko vsebuje le: črke, številke in .-* @"
|
2972 |
+
|
2973 |
+
msgid "Allowed characters are: letters, numbers and .-_*@"
|
2974 |
+
msgstr "Dovoljeni znaki so: črke, številke in .-_* @"
|
2975 |
+
|
2976 |
+
#: === Partial protection addon strings
|
2977 |
+
msgid "You do not have permission to view this content."
|
2978 |
+
msgstr "Za ogled te vsebine nimate dovoljenja."
|
2979 |
+
|
2980 |
+
msgid "Your membership level does not have permission to view this content."
|
2981 |
+
msgstr "Vaša raven članstva nima dovoljenja za ogled te vsebine."
|
2982 |
+
|
2983 |
+
msgid "This content is for members only."
|
2984 |
+
msgstr "Ta vsebina je samo za člane."
|
2985 |
+
|
2986 |
+
msgid "Please check at least one."
|
2987 |
+
msgstr "Prosim, preverite vsaj enega."
|
2988 |
+
|
2989 |
+
#: === Member Directory Listing addon strings swpm-member-directory-admin.php:9
|
2990 |
+
msgid "Member Directory"
|
2991 |
+
msgstr "Imenik za člane"
|
2992 |
+
|
2993 |
+
#: includes/swpm_mda_show_profile.php:26
|
2994 |
+
msgid "Member ID"
|
2995 |
+
msgstr "ID člana"
|
2996 |
+
|
2997 |
+
#: includes/swpm_mda_show_profile.php:30
|
2998 |
+
msgid "Level"
|
2999 |
+
msgstr "Raven"
|
3000 |
+
|
3001 |
+
#: includes/swpm_mda_show_profile.php:32
|
3002 |
+
msgid "Address"
|
3003 |
+
msgstr "Naslov"
|
3004 |
+
|
3005 |
+
#: views/template-1.php:52 views/template-2.php:53
|
3006 |
+
msgid "Search..."
|
3007 |
+
msgstr "Iskanje..."
|
3008 |
+
|
3009 |
+
#: views/template-1.php:60 views/template-2.php:62
|
3010 |
+
msgid "Clear Search"
|
3011 |
+
msgstr "Počisti iskanje"
|
3012 |
+
|
3013 |
+
# === Misc Shortcodes Addon ===
|
3014 |
+
msgid "You must be logged in to upgrade a membership."
|
3015 |
+
msgstr "Za nadgradnjo članstva morate biti prijavljeni."
|
3016 |
+
|
3017 |
+
msgid "Membership level has been updated."
|
3018 |
+
msgstr "Raven članstva je bila posodobljena."
|
3019 |
+
|
3020 |
+
msgid "Already a member of this level."
|
3021 |
+
msgstr "Že član tega nivoja."
|
languages/simple-membership-sv_SE.mo
CHANGED
Binary file
|
languages/simple-membership-sv_SE.po
CHANGED
@@ -1,2293 +1,3070 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Simple Membership\n"
|
4 |
-
"POT-Creation-Date:
|
5 |
-
"PO-Revision-Date:
|
6 |
-
"
|
7 |
-
"
|
8 |
-
"
|
9 |
-
"Content-
|
10 |
-
"
|
11 |
-
"X-
|
12 |
-
"X-Poedit-
|
13 |
-
"
|
14 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
-
"Language: sv_SE\n"
|
16 |
-
"
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
"
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
"
|
36 |
-
|
37 |
-
|
38 |
-
"
|
39 |
-
"
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
"
|
45 |
-
|
46 |
-
|
47 |
-
"
|
48 |
-
"
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
"
|
54 |
-
|
55 |
-
|
56 |
-
"
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
"
|
62 |
-
|
63 |
-
|
64 |
-
"
|
65 |
-
"
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
"
|
80 |
-
|
81 |
-
|
82 |
-
"
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
msgid "
|
128 |
-
msgstr "
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
#: classes/class.
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
#: classes/class.swpm-
|
165 |
-
#: classes/class.swpm-
|
166 |
-
#: classes/class.swpm-
|
167 |
-
msgid "
|
168 |
-
msgstr "
|
169 |
-
|
170 |
-
#: classes/class.
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
#: classes/class.swpm-
|
189 |
-
|
190 |
-
|
191 |
-
"
|
192 |
-
|
193 |
-
|
194 |
-
#: classes/class.swpm-
|
195 |
-
msgid "
|
196 |
-
msgstr "
|
197 |
-
|
198 |
-
#: classes/class.swpm-
|
199 |
-
#: classes/class.swpm-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
"
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
#: classes/class.swpm-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
"
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
"
|
245 |
-
msgstr ""
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
msgstr ""
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
"
|
261 |
-
|
262 |
-
"
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
#: classes/class.swpm-auth.php:
|
274 |
-
msgid "
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
#: classes/class.swpm-auth.php:
|
282 |
-
msgid "
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
#: classes/class.swpm-auth.php:
|
290 |
-
msgid "
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
#: classes/class.swpm-auth.php:
|
298 |
-
msgid "
|
299 |
-
msgstr "
|
300 |
-
|
301 |
-
#: classes/class.swpm-auth.php:
|
302 |
-
msgid "
|
303 |
-
msgstr "
|
304 |
-
|
305 |
-
#: classes/class.swpm-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
#: classes/
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
#:
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
#:
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
msgid "
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
#: classes/class.swpm-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
#: classes/class.swpm-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
#:
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
#:
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
"
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
"
|
377 |
-
|
378 |
-
|
379 |
-
#: classes/class.swpm-
|
380 |
-
msgid ""
|
381 |
-
"
|
382 |
-
|
383 |
-
|
384 |
-
"
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
"
|
393 |
-
"
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
msgstr "
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
#: classes/class.swpm-form.php:
|
429 |
-
msgid "
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
"
|
451 |
-
"
|
452 |
-
|
453 |
-
|
454 |
-
"
|
455 |
-
|
456 |
-
|
457 |
-
#: classes/class.swpm-
|
458 |
-
msgid "
|
459 |
-
msgstr "
|
460 |
-
|
461 |
-
#: classes/class.swpm-
|
462 |
-
msgid ""
|
463 |
-
"
|
464 |
-
|
465 |
-
|
466 |
-
"
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
"
|
475 |
-
"
|
476 |
-
|
477 |
-
|
478 |
-
"
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
#: classes/class.swpm-
|
490 |
-
msgid "
|
491 |
-
msgstr "
|
492 |
-
|
493 |
-
#: classes/class.swpm-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
#: classes/class.swpm-
|
507 |
-
msgid "
|
508 |
-
msgstr "
|
509 |
-
|
510 |
-
#: classes/class.swpm-front-registration.php:
|
511 |
-
msgid "
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
"
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
msgstr "
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
#: classes/class.swpm-
|
560 |
-
msgid "
|
561 |
-
msgstr "
|
562 |
-
|
563 |
-
#: classes/class.swpm-
|
564 |
-
msgid "
|
565 |
-
msgstr "
|
566 |
-
|
567 |
-
#: classes/class.swpm-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
#: classes/class.swpm-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
#: classes/
|
606 |
-
#: classes/
|
607 |
-
msgid "
|
608 |
-
msgstr "
|
609 |
-
|
610 |
-
#: classes/class.swpm-
|
611 |
-
msgid "
|
612 |
-
msgstr "
|
613 |
-
|
614 |
-
#: classes/class.swpm-
|
615 |
-
msgid "
|
616 |
-
msgstr "
|
617 |
-
|
618 |
-
#: classes/class.swpm-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
msgstr "
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
"
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
"
|
662 |
-
"
|
663 |
-
|
664 |
-
|
665 |
-
"
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
#:
|
680 |
-
msgid "
|
681 |
-
msgstr "
|
682 |
-
|
683 |
-
#: classes/class.swpm-members.php:
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
#: classes/class.swpm-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
"
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
"
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
#: classes/class.swpm-members.php:
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
"
|
773 |
-
"
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
"
|
782 |
-
msgstr ""
|
783 |
-
"
|
784 |
-
"
|
785 |
-
|
786 |
-
#: classes/class.swpm-
|
787 |
-
msgid "Membership Level
|
788 |
-
msgstr "
|
789 |
-
|
790 |
-
#: classes/class.swpm-
|
791 |
-
msgid "
|
792 |
-
msgstr "
|
793 |
-
|
794 |
-
#: classes/class.swpm-
|
795 |
-
msgid "
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
#: classes/class.swpm-
|
803 |
-
msgid ""
|
804 |
-
"
|
805 |
-
|
806 |
-
|
807 |
-
"
|
808 |
-
|
809 |
-
|
810 |
-
#:
|
811 |
-
msgid "
|
812 |
-
msgstr "
|
813 |
-
|
814 |
-
#: classes/class.swpm-
|
815 |
-
msgid "
|
816 |
-
msgstr "
|
817 |
-
|
818 |
-
#: classes/class.swpm-
|
819 |
-
msgid "
|
820 |
-
msgstr "
|
821 |
-
|
822 |
-
#: classes/class.swpm-
|
823 |
-
msgid "
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
msgstr "
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
#: classes/class.swpm-
|
842 |
-
msgid "
|
843 |
-
msgstr "
|
844 |
-
|
845 |
-
#: classes/class.swpm-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
msgstr "
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
"
|
907 |
-
msgstr ""
|
908 |
-
|
909 |
-
|
910 |
-
"
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
#: classes/class.swpm-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
"
|
928 |
-
"
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
"
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
"
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
#: classes/class.swpm-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
"
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
"
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
1009 |
-
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
|
1036 |
-
#: classes/class.swpm-settings.php:
|
1037 |
-
msgid "
|
1038 |
-
msgstr "
|
1039 |
-
|
1040 |
-
#: classes/class.swpm-settings.php:
|
1041 |
-
msgid "
|
1042 |
-
msgstr "
|
1043 |
-
|
1044 |
-
#: classes/class.swpm-settings.php:
|
1045 |
-
msgid "
|
1046 |
-
msgstr "
|
1047 |
-
|
1048 |
-
#: classes/class.swpm-settings.php:
|
1049 |
-
msgid "
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
"
|
1067 |
-
"
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
"
|
1076 |
-
"
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
"
|
1089 |
-
"
|
1090 |
-
"
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
-
#: classes/class.swpm-settings.php:
|
1097 |
-
msgid "
|
1098 |
-
msgstr "
|
1099 |
-
|
1100 |
-
#: classes/class.swpm-settings.php:
|
1101 |
-
msgid ""
|
1102 |
-
"
|
1103 |
-
"
|
1104 |
-
msgstr ""
|
1105 |
-
"
|
1106 |
-
"
|
1107 |
-
|
1108 |
-
#: classes/class.swpm-settings.php:
|
1109 |
-
msgid "
|
1110 |
-
msgstr "
|
1111 |
-
|
1112 |
-
#: classes/class.swpm-settings.php:
|
1113 |
-
msgid "
|
1114 |
-
|
1115 |
-
|
1116 |
-
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
#: classes/class.swpm-settings.php:
|
1121 |
-
msgid "
|
1122 |
-
msgstr "
|
1123 |
-
|
1124 |
-
#: classes/class.swpm-settings.php:
|
1125 |
-
msgid "
|
1126 |
-
msgstr "
|
1127 |
-
|
1128 |
-
#: classes/class.swpm-settings.php:
|
1129 |
-
msgid "
|
1130 |
-
msgstr "
|
1131 |
-
|
1132 |
-
#: classes/class.swpm-settings.php:
|
1133 |
-
msgid "
|
1134 |
-
msgstr "
|
1135 |
-
|
1136 |
-
#: classes/class.swpm-settings.php:
|
1137 |
-
msgid "
|
1138 |
-
msgstr "
|
1139 |
-
|
1140 |
-
#: classes/class.swpm-settings.php:
|
1141 |
-
msgid ""
|
1142 |
-
"
|
1143 |
-
|
1144 |
-
|
1145 |
-
|
1146 |
-
"
|
1147 |
-
|
1148 |
-
|
1149 |
-
|
1150 |
-
|
1151 |
-
|
1152 |
-
|
1153 |
-
|
1154 |
-
|
1155 |
-
"
|
1156 |
-
|
1157 |
-
"
|
1158 |
-
|
1159 |
-
|
1160 |
-
|
1161 |
-
"
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
|
1166 |
-
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
-
"
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
"
|
1175 |
-
"
|
1176 |
-
|
1177 |
-
|
1178 |
-
"
|
1179 |
-
|
1180 |
-
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
1192 |
-
|
1193 |
-
|
1194 |
-
"
|
1195 |
-
"
|
1196 |
-
|
1197 |
-
|
1198 |
-
"
|
1199 |
-
"
|
1200 |
-
|
1201 |
-
#: classes/class.swpm-settings.php:
|
1202 |
-
msgid "
|
1203 |
-
msgstr "
|
1204 |
-
|
1205 |
-
#: classes/class.swpm-settings.php:
|
1206 |
-
|
1207 |
-
|
1208 |
-
"
|
1209 |
-
msgstr ""
|
1210 |
-
|
1211 |
-
|
1212 |
-
|
1213 |
-
#: classes/class.swpm-settings.php:
|
1214 |
-
msgid "
|
1215 |
-
msgstr "
|
1216 |
-
|
1217 |
-
#: classes/class.swpm-settings.php:
|
1218 |
-
msgid "
|
1219 |
-
|
1220 |
-
|
1221 |
-
|
1222 |
-
|
1223 |
-
|
1224 |
-
|
1225 |
-
|
1226 |
-
|
1227 |
-
|
1228 |
-
"
|
1229 |
-
"
|
1230 |
-
|
1231 |
-
|
1232 |
-
"
|
1233 |
-
"
|
1234 |
-
|
1235 |
-
#: classes/class.swpm-settings.php:
|
1236 |
-
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
-
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
-
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
|
1250 |
-
"
|
1251 |
-
"
|
1252 |
-
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
1260 |
-
|
1261 |
-
|
1262 |
-
"
|
1263 |
-
"
|
1264 |
-
|
1265 |
-
|
1266 |
-
"
|
1267 |
-
|
1268 |
-
|
1269 |
-
|
1270 |
-
"
|
1271 |
-
"
|
1272 |
-
|
1273 |
-
|
1274 |
-
"
|
1275 |
-
|
1276 |
-
|
1277 |
-
|
1278 |
-
"
|
1279 |
-
"
|
1280 |
-
|
1281 |
-
|
1282 |
-
"
|
1283 |
-
"
|
1284 |
-
|
1285 |
-
#: classes/class.swpm-settings.php:
|
1286 |
-
msgid "
|
1287 |
-
msgstr "
|
1288 |
-
|
1289 |
-
#: classes/class.swpm-settings.php:
|
1290 |
-
msgid ""
|
1291 |
-
"
|
1292 |
-
|
1293 |
-
|
1294 |
-
|
1295 |
-
"
|
1296 |
-
|
1297 |
-
#: classes/class.swpm-settings.php:
|
1298 |
-
msgid "
|
1299 |
-
|
1300 |
-
|
1301 |
-
|
1302 |
-
|
1303 |
-
"
|
1304 |
-
"
|
1305 |
-
|
1306 |
-
|
1307 |
-
|
1308 |
-
|
1309 |
-
|
1310 |
-
|
1311 |
-
|
1312 |
-
|
1313 |
-
|
1314 |
-
"
|
1315 |
-
"
|
1316 |
-
|
1317 |
-
|
1318 |
-
|
1319 |
-
"
|
1320 |
-
|
1321 |
-
|
1322 |
-
"
|
1323 |
-
"
|
1324 |
-
|
1325 |
-
#: classes/class.swpm-settings.php:
|
1326 |
-
msgid ""
|
1327 |
-
"
|
1328 |
-
"
|
1329 |
-
|
1330 |
-
"
|
1331 |
-
"
|
1332 |
-
|
1333 |
-
|
1334 |
-
|
1335 |
-
|
1336 |
-
"
|
1337 |
-
|
1338 |
-
|
1339 |
-
|
1340 |
-
|
1341 |
-
|
1342 |
-
|
1343 |
-
#: classes/class.swpm-
|
1344 |
-
|
1345 |
-
|
1346 |
-
|
1347 |
-
|
1348 |
-
|
1349 |
-
|
1350 |
-
|
1351 |
-
msgstr "
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
1356 |
-
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
1368 |
-
|
1369 |
-
|
1370 |
-
|
1371 |
-
|
1372 |
-
|
1373 |
-
#: classes/class.swpm-
|
1374 |
-
msgid "
|
1375 |
-
msgstr "
|
1376 |
-
|
1377 |
-
#: classes/class.swpm-
|
1378 |
-
msgid "
|
1379 |
-
|
1380 |
-
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
1384 |
-
|
1385 |
-
#: classes/class.swpm-
|
1386 |
-
msgid "
|
1387 |
-
msgstr "
|
1388 |
-
|
1389 |
-
#: classes/class.swpm-
|
1390 |
-
msgid "
|
1391 |
-
msgstr "
|
1392 |
-
|
1393 |
-
#: classes/class.swpm-
|
1394 |
-
msgid "
|
1395 |
-
msgstr "
|
1396 |
-
|
1397 |
-
#: classes/class.swpm-
|
1398 |
-
msgid "
|
1399 |
-
|
1400 |
-
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
1404 |
-
|
1405 |
-
#: classes/class.swpm-
|
1406 |
-
msgid "
|
1407 |
-
msgstr "
|
1408 |
-
|
1409 |
-
#: classes/class.swpm-
|
1410 |
-
msgid "
|
1411 |
-
|
1412 |
-
|
1413 |
-
|
1414 |
-
|
1415 |
-
|
1416 |
-
|
1417 |
-
#: classes/
|
1418 |
-
msgid "
|
1419 |
-
msgstr "
|
1420 |
-
|
1421 |
-
#: classes/
|
1422 |
-
msgid "
|
1423 |
-
msgstr "
|
1424 |
-
|
1425 |
-
#: classes/
|
1426 |
-
msgid "
|
1427 |
-
msgstr "
|
1428 |
-
|
1429 |
-
#: classes/
|
1430 |
-
msgid "
|
1431 |
-
|
1432 |
-
|
1433 |
-
|
1434 |
-
|
1435 |
-
|
1436 |
-
|
1437 |
-
|
1438 |
-
|
1439 |
-
|
1440 |
-
|
1441 |
-
|
1442 |
-
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
-
|
1447 |
-
|
1448 |
-
|
1449 |
-
|
1450 |
-
|
1451 |
-
|
1452 |
-
|
1453 |
-
|
1454 |
-
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
1461 |
-
|
1462 |
-
|
1463 |
-
|
1464 |
-
|
1465 |
-
|
1466 |
-
|
1467 |
-
|
1468 |
-
|
1469 |
-
|
1470 |
-
|
1471 |
-
|
1472 |
-
|
1473 |
-
|
1474 |
-
|
1475 |
-
|
1476 |
-
|
1477 |
-
|
1478 |
-
|
1479 |
-
|
1480 |
-
|
1481 |
-
|
1482 |
-
|
1483 |
-
|
1484 |
-
|
1485 |
-
|
1486 |
-
|
1487 |
-
msgstr "
|
1488 |
-
|
1489 |
-
|
1490 |
-
|
1491 |
-
|
1492 |
-
|
1493 |
-
|
1494 |
-
|
1495 |
-
|
1496 |
-
|
1497 |
-
|
1498 |
-
|
1499 |
-
|
1500 |
-
|
1501 |
-
|
1502 |
-
|
1503 |
-
"
|
1504 |
-
"
|
1505 |
-
"
|
1506 |
-
|
1507 |
-
|
1508 |
-
"
|
1509 |
-
|
1510 |
-
|
1511 |
-
#: classes/
|
1512 |
-
msgid "
|
1513 |
-
msgstr "
|
1514 |
-
|
1515 |
-
#: classes/
|
1516 |
-
msgid "
|
1517 |
-
msgstr "
|
1518 |
-
|
1519 |
-
|
1520 |
-
#:
|
1521 |
-
msgid "
|
1522 |
-
msgstr "
|
1523 |
-
|
1524 |
-
#:
|
1525 |
-
msgid "
|
1526 |
-
|
1527 |
-
|
1528 |
-
|
1529 |
-
|
1530 |
-
|
1531 |
-
|
1532 |
-
|
1533 |
-
|
1534 |
-
|
1535 |
-
|
1536 |
-
|
1537 |
-
|
1538 |
-
#:
|
1539 |
-
|
1540 |
-
|
1541 |
-
|
1542 |
-
|
1543 |
-
|
1544 |
-
|
1545 |
-
|
1546 |
-
|
1547 |
-
|
1548 |
-
|
1549 |
-
|
1550 |
-
|
1551 |
-
|
1552 |
-
|
1553 |
-
|
1554 |
-
|
1555 |
-
|
1556 |
-
|
1557 |
-
|
1558 |
-
|
1559 |
-
|
1560 |
-
"
|
1561 |
-
msgstr ""
|
1562 |
-
|
1563 |
-
|
1564 |
-
|
1565 |
-
|
1566 |
-
|
1567 |
-
msgstr "
|
1568 |
-
|
1569 |
-
|
1570 |
-
|
1571 |
-
|
1572 |
-
|
1573 |
-
|
1574 |
-
|
1575 |
-
|
1576 |
-
|
1577 |
-
|
1578 |
-
"
|
1579 |
-
|
1580 |
-
|
1581 |
-
|
1582 |
-
|
1583 |
-
|
1584 |
-
|
1585 |
-
|
1586 |
-
|
1587 |
-
msgstr "
|
1588 |
-
|
1589 |
-
|
1590 |
-
|
1591 |
-
|
1592 |
-
|
1593 |
-
|
1594 |
-
|
1595 |
-
|
1596 |
-
|
1597 |
-
|
1598 |
-
|
1599 |
-
|
1600 |
-
|
1601 |
-
|
1602 |
-
|
1603 |
-
|
1604 |
-
|
1605 |
-
|
1606 |
-
|
1607 |
-
|
1608 |
-
|
1609 |
-
"
|
1610 |
-
|
1611 |
-
|
1612 |
-
#:
|
1613 |
-
|
1614 |
-
|
1615 |
-
|
1616 |
-
|
1617 |
-
|
1618 |
-
|
1619 |
-
|
1620 |
-
msgstr "
|
1621 |
-
|
1622 |
-
|
1623 |
-
|
1624 |
-
|
1625 |
-
|
1626 |
-
|
1627 |
-
|
1628 |
-
msgstr "
|
1629 |
-
|
1630 |
-
|
1631 |
-
|
1632 |
-
|
1633 |
-
|
1634 |
-
|
1635 |
-
|
1636 |
-
msgstr "
|
1637 |
-
|
1638 |
-
|
1639 |
-
|
1640 |
-
|
1641 |
-
|
1642 |
-
|
1643 |
-
|
1644 |
-
msgstr "
|
1645 |
-
|
1646 |
-
|
1647 |
-
|
1648 |
-
|
1649 |
-
|
1650 |
-
|
1651 |
-
|
1652 |
-
|
1653 |
-
"
|
1654 |
-
"
|
1655 |
-
|
1656 |
-
|
1657 |
-
|
1658 |
-
|
1659 |
-
|
1660 |
-
|
1661 |
-
|
1662 |
-
|
1663 |
-
"
|
1664 |
-
"
|
1665 |
-
|
1666 |
-
"
|
1667 |
-
|
1668 |
-
|
1669 |
-
|
1670 |
-
|
1671 |
-
|
1672 |
-
|
1673 |
-
#:
|
1674 |
-
|
1675 |
-
|
1676 |
-
|
1677 |
-
|
1678 |
-
|
1679 |
-
|
1680 |
-
|
1681 |
-
|
1682 |
-
|
1683 |
-
|
1684 |
-
|
1685 |
-
|
1686 |
-
#:
|
1687 |
-
|
1688 |
-
|
1689 |
-
|
1690 |
-
|
1691 |
-
|
1692 |
-
|
1693 |
-
|
1694 |
-
|
1695 |
-
|
1696 |
-
|
1697 |
-
|
1698 |
-
|
1699 |
-
|
1700 |
-
|
1701 |
-
|
1702 |
-
|
1703 |
-
|
1704 |
-
|
1705 |
-
|
1706 |
-
|
1707 |
-
|
1708 |
-
|
1709 |
-
|
1710 |
-
|
1711 |
-
|
1712 |
-
|
1713 |
-
|
1714 |
-
|
1715 |
-
|
1716 |
-
|
1717 |
-
msgstr "
|
1718 |
-
|
1719 |
-
#:
|
1720 |
-
msgid "
|
1721 |
-
msgstr "
|
1722 |
-
|
1723 |
-
#:
|
1724 |
-
msgid "
|
1725 |
-
msgstr "
|
1726 |
-
|
1727 |
-
#:
|
1728 |
-
msgid ""
|
1729 |
-
|
1730 |
-
|
1731 |
-
|
1732 |
-
|
1733 |
-
|
1734 |
-
|
1735 |
-
|
1736 |
-
|
1737 |
-
|
1738 |
-
|
1739 |
-
|
1740 |
-
"
|
1741 |
-
"
|
1742 |
-
|
1743 |
-
#:
|
1744 |
-
msgid "
|
1745 |
-
msgstr "
|
1746 |
-
|
1747 |
-
#:
|
1748 |
-
msgid "
|
1749 |
-
msgstr "
|
1750 |
-
|
1751 |
-
#: views/
|
1752 |
-
msgid "
|
1753 |
-
msgstr "
|
1754 |
-
|
1755 |
-
#: views/admin_members_list.php:
|
1756 |
-
msgid "
|
1757 |
-
msgstr "
|
1758 |
-
|
1759 |
-
#: views/admin_members_list.php:
|
1760 |
-
msgid "
|
1761 |
-
msgstr "
|
1762 |
-
|
1763 |
-
#:
|
1764 |
-
msgid "
|
1765 |
-
msgstr "
|
1766 |
-
|
1767 |
-
#:
|
1768 |
-
msgid "
|
1769 |
-
msgstr "
|
1770 |
-
|
1771 |
-
#:
|
1772 |
-
msgid "
|
1773 |
-
msgstr "
|
1774 |
-
|
1775 |
-
#:
|
1776 |
-
msgid "
|
1777 |
-
msgstr "
|
1778 |
-
|
1779 |
-
#:
|
1780 |
-
msgid "
|
1781 |
-
msgstr "
|
1782 |
-
|
1783 |
-
#:
|
1784 |
-
msgid "
|
1785 |
-
msgstr "
|
1786 |
-
|
1787 |
-
#:
|
1788 |
-
msgid "
|
1789 |
-
msgstr "
|
1790 |
-
|
1791 |
-
#:
|
1792 |
-
msgid "
|
1793 |
-
msgstr "
|
1794 |
-
|
1795 |
-
#:
|
1796 |
-
msgid "
|
1797 |
-
msgstr "
|
1798 |
-
|
1799 |
-
#:
|
1800 |
-
msgid ""
|
1801 |
-
|
1802 |
-
|
1803 |
-
|
1804 |
-
|
1805 |
-
"
|
1806 |
-
|
1807 |
-
|
1808 |
-
|
1809 |
-
#: views/
|
1810 |
-
msgid ""
|
1811 |
-
"
|
1812 |
-
|
1813 |
-
|
1814 |
-
|
1815 |
-
"
|
1816 |
-
|
1817 |
-
|
1818 |
-
|
1819 |
-
|
1820 |
-
|
1821 |
-
|
1822 |
-
|
1823 |
-
|
1824 |
-
|
1825 |
-
|
1826 |
-
|
1827 |
-
|
1828 |
-
|
1829 |
-
|
1830 |
-
|
1831 |
-
#: views/
|
1832 |
-
msgid "
|
1833 |
-
msgstr "
|
1834 |
-
|
1835 |
-
#:
|
1836 |
-
msgid ""
|
1837 |
-
|
1838 |
-
|
1839 |
-
|
1840 |
-
|
1841 |
-
"
|
1842 |
-
"
|
1843 |
-
|
1844 |
-
|
1845 |
-
|
1846 |
-
|
1847 |
-
|
1848 |
-
|
1849 |
-
|
1850 |
-
|
1851 |
-
|
1852 |
-
|
1853 |
-
|
1854 |
-
|
1855 |
-
|
1856 |
-
|
1857 |
-
|
1858 |
-
|
1859 |
-
|
1860 |
-
|
1861 |
-
|
1862 |
-
|
1863 |
-
|
1864 |
-
|
1865 |
-
|
1866 |
-
|
1867 |
-
|
1868 |
-
|
1869 |
-
|
1870 |
-
|
1871 |
-
|
1872 |
-
|
1873 |
-
|
1874 |
-
"
|
1875 |
-
|
1876 |
-
|
1877 |
-
|
1878 |
-
|
1879 |
-
|
1880 |
-
|
1881 |
-
|
1882 |
-
|
1883 |
-
|
1884 |
-
|
1885 |
-
|
1886 |
-
|
1887 |
-
|
1888 |
-
|
1889 |
-
|
1890 |
-
|
1891 |
-
|
1892 |
-
|
1893 |
-
|
1894 |
-
|
1895 |
-
|
1896 |
-
|
1897 |
-
|
1898 |
-
|
1899 |
-
|
1900 |
-
|
1901 |
-
|
1902 |
-
|
1903 |
-
|
1904 |
-
|
1905 |
-
|
1906 |
-
|
1907 |
-
|
1908 |
-
|
1909 |
-
|
1910 |
-
|
1911 |
-
|
1912 |
-
|
1913 |
-
|
1914 |
-
|
1915 |
-
|
1916 |
-
|
1917 |
-
|
1918 |
-
|
1919 |
-
|
1920 |
-
|
1921 |
-
|
1922 |
-
msgid "
|
1923 |
-
|
1924 |
-
|
1925 |
-
|
1926 |
-
|
1927 |
-
|
1928 |
-
|
1929 |
-
|
1930 |
-
|
1931 |
-
|
1932 |
-
|
1933 |
-
|
1934 |
-
|
1935 |
-
|
1936 |
-
|
1937 |
-
#: views/
|
1938 |
-
msgid ""
|
1939 |
-
"You
|
1940 |
-
|
1941 |
-
|
1942 |
-
"
|
1943 |
-
|
1944 |
-
|
1945 |
-
|
1946 |
-
|
1947 |
-
|
1948 |
-
|
1949 |
-
|
1950 |
-
|
1951 |
-
|
1952 |
-
|
1953 |
-
|
1954 |
-
|
1955 |
-
|
1956 |
-
|
1957 |
-
|
1958 |
-
|
1959 |
-
|
1960 |
-
|
1961 |
-
|
1962 |
-
|
1963 |
-
|
1964 |
-
|
1965 |
-
|
1966 |
-
|
1967 |
-
|
1968 |
-
|
1969 |
-
|
1970 |
-
|
1971 |
-
|
1972 |
-
|
1973 |
-
|
1974 |
-
|
1975 |
-
|
1976 |
-
|
1977 |
-
|
1978 |
-
|
1979 |
-
|
1980 |
-
|
1981 |
-
|
1982 |
-
|
1983 |
-
|
1984 |
-
|
1985 |
-
|
1986 |
-
|
1987 |
-
"
|
1988 |
-
|
1989 |
-
|
1990 |
-
|
1991 |
-
|
1992 |
-
|
1993 |
-
|
1994 |
-
|
1995 |
-
|
1996 |
-
|
1997 |
-
|
1998 |
-
|
1999 |
-
|
2000 |
-
|
2001 |
-
#: views/
|
2002 |
-
|
2003 |
-
|
2004 |
-
|
2005 |
-
|
2006 |
-
|
2007 |
-
|
2008 |
-
|
2009 |
-
|
2010 |
-
|
2011 |
-
|
2012 |
-
|
2013 |
-
|
2014 |
-
#: views/
|
2015 |
-
|
2016 |
-
|
2017 |
-
|
2018 |
-
|
2019 |
-
|
2020 |
-
|
2021 |
-
|
2022 |
-
|
2023 |
-
|
2024 |
-
|
2025 |
-
|
2026 |
-
|
2027 |
-
#: views/
|
2028 |
-
|
2029 |
-
|
2030 |
-
|
2031 |
-
|
2032 |
-
|
2033 |
-
|
2034 |
-
|
2035 |
-
#: views/
|
2036 |
-
|
2037 |
-
|
2038 |
-
|
2039 |
-
|
2040 |
-
|
2041 |
-
|
2042 |
-
|
2043 |
-
|
2044 |
-
|
2045 |
-
"
|
2046 |
-
|
2047 |
-
|
2048 |
-
|
2049 |
-
|
2050 |
-
|
2051 |
-
|
2052 |
-
|
2053 |
-
|
2054 |
-
|
2055 |
-
|
2056 |
-
|
2057 |
-
|
2058 |
-
|
2059 |
-
|
2060 |
-
|
2061 |
-
|
2062 |
-
|
2063 |
-
|
2064 |
-
|
2065 |
-
|
2066 |
-
|
2067 |
-
|
2068 |
-
|
2069 |
-
|
2070 |
-
|
2071 |
-
|
2072 |
-
|
2073 |
-
#: views/
|
2074 |
-
#: views/
|
2075 |
-
#: views/
|
2076 |
-
#: views/
|
2077 |
-
|
2078 |
-
|
2079 |
-
|
2080 |
-
|
2081 |
-
|
2082 |
-
|
2083 |
-
|
2084 |
-
#: views/
|
2085 |
-
|
2086 |
-
|
2087 |
-
|
2088 |
-
#: views/
|
2089 |
-
msgid "
|
2090 |
-
msgstr "
|
2091 |
-
|
2092 |
-
#: views/
|
2093 |
-
|
2094 |
-
|
2095 |
-
|
2096 |
-
|
2097 |
-
|
2098 |
-
|
2099 |
-
|
2100 |
-
#: views/
|
2101 |
-
|
2102 |
-
|
2103 |
-
|
2104 |
-
|
2105 |
-
|
2106 |
-
|
2107 |
-
|
2108 |
-
#: views/
|
2109 |
-
|
2110 |
-
|
2111 |
-
|
2112 |
-
|
2113 |
-
|
2114 |
-
|
2115 |
-
|
2116 |
-
|
2117 |
-
|
2118 |
-
|
2119 |
-
|
2120 |
-
|
2121 |
-
|
2122 |
-
#: views/
|
2123 |
-
|
2124 |
-
|
2125 |
-
|
2126 |
-
|
2127 |
-
|
2128 |
-
|
2129 |
-
|
2130 |
-
|
2131 |
-
|
2132 |
-
|
2133 |
-
|
2134 |
-
#: views/
|
2135 |
-
msgid "
|
2136 |
-
msgstr "
|
2137 |
-
|
2138 |
-
#: views/
|
2139 |
-
|
2140 |
-
|
2141 |
-
|
2142 |
-
|
2143 |
-
|
2144 |
-
|
2145 |
-
|
2146 |
-
|
2147 |
-
|
2148 |
-
|
2149 |
-
|
2150 |
-
|
2151 |
-
|
2152 |
-
|
2153 |
-
|
2154 |
-
|
2155 |
-
|
2156 |
-
"
|
2157 |
-
msgstr "
|
2158 |
-
|
2159 |
-
|
2160 |
-
|
2161 |
-
|
2162 |
-
|
2163 |
-
|
2164 |
-
|
2165 |
-
#: views/
|
2166 |
-
msgid "
|
2167 |
-
msgstr "
|
2168 |
-
|
2169 |
-
#: views/
|
2170 |
-
|
2171 |
-
|
2172 |
-
|
2173 |
-
|
2174 |
-
|
2175 |
-
|
2176 |
-
|
2177 |
-
|
2178 |
-
|
2179 |
-
|
2180 |
-
|
2181 |
-
|
2182 |
-
|
2183 |
-
|
2184 |
-
|
2185 |
-
|
2186 |
-
#: views/
|
2187 |
-
|
2188 |
-
|
2189 |
-
|
2190 |
-
|
2191 |
-
|
2192 |
-
|
2193 |
-
|
2194 |
-
|
2195 |
-
|
2196 |
-
|
2197 |
-
|
2198 |
-
#: views/
|
2199 |
-
|
2200 |
-
|
2201 |
-
|
2202 |
-
|
2203 |
-
|
2204 |
-
|
2205 |
-
|
2206 |
-
|
2207 |
-
|
2208 |
-
|
2209 |
-
|
2210 |
-
#: views/
|
2211 |
-
|
2212 |
-
|
2213 |
-
|
2214 |
-
|
2215 |
-
|
2216 |
-
|
2217 |
-
|
2218 |
-
|
2219 |
-
|
2220 |
-
|
2221 |
-
|
2222 |
-
|
2223 |
-
|
2224 |
-
|
2225 |
-
|
2226 |
-
|
2227 |
-
#: views/
|
2228 |
-
msgid "
|
2229 |
-
msgstr "
|
2230 |
-
|
2231 |
-
#: views/
|
2232 |
-
|
2233 |
-
|
2234 |
-
|
2235 |
-
#: views/
|
2236 |
-
msgid "
|
2237 |
-
msgstr "
|
2238 |
-
|
2239 |
-
|
2240 |
-
#: views/
|
2241 |
-
msgid "
|
2242 |
-
msgstr "
|
2243 |
-
|
2244 |
-
#:
|
2245 |
-
msgid "
|
2246 |
-
msgstr "
|
2247 |
-
|
2248 |
-
|
2249 |
-
|
2250 |
-
|
2251 |
-
|
2252 |
-
|
2253 |
-
|
2254 |
-
|
2255 |
-
|
2256 |
-
|
2257 |
-
msgid "
|
2258 |
-
|
2259 |
-
|
2260 |
-
|
2261 |
-
|
2262 |
-
|
2263 |
-
msgid "
|
2264 |
-
msgstr "
|
2265 |
-
|
2266 |
-
|
2267 |
-
|
2268 |
-
|
2269 |
-
|
2270 |
-
|
2271 |
-
|
2272 |
-
msgid "
|
2273 |
-
msgstr "
|
2274 |
-
|
2275 |
-
|
2276 |
-
|
2277 |
-
"
|
2278 |
-
|
2279 |
-
"
|
2280 |
-
"
|
2281 |
-
|
2282 |
-
|
2283 |
-
|
2284 |
-
|
2285 |
-
#:
|
2286 |
-
msgid "
|
2287 |
-
msgstr "
|
2288 |
-
|
2289 |
-
|
2290 |
-
|
2291 |
-
|
2292 |
-
|
2293 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Simple Membership\n"
|
4 |
+
"POT-Creation-Date: 2019-05-26 13:48+0600\n"
|
5 |
+
"PO-Revision-Date: 2021-02-28 17:24+0100\n"
|
6 |
+
"Language-Team: \n"
|
7 |
+
"MIME-Version: 1.0\n"
|
8 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
9 |
+
"Content-Transfer-Encoding: 8bit\n"
|
10 |
+
"X-Generator: Poedit 2.4.2\n"
|
11 |
+
"X-Poedit-KeywordsList: __;_e;e\n"
|
12 |
+
"X-Poedit-Basepath: .\n"
|
13 |
+
"Last-Translator: \n"
|
14 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
+
"Language: sv_SE\n"
|
16 |
+
"X-Poedit-SearchPath-0: .\n"
|
17 |
+
|
18 |
+
#: classes/class.simple-wp-membership.php:180
|
19 |
+
msgid "The admin of this site does not allow users to access the wp dashboard."
|
20 |
+
msgstr ""
|
21 |
+
"Administratören på den här webbplatsen tillåter inte användare att komma åt "
|
22 |
+
"wp-instrumentbrädan."
|
23 |
+
|
24 |
+
#: classes/class.simple-wp-membership.php:181
|
25 |
+
msgid "Go back to the home page by "
|
26 |
+
msgstr "Gå tillbaka till hemsidan av "
|
27 |
+
|
28 |
+
#: classes/class.simple-wp-membership.php:181
|
29 |
+
msgid "clicking here"
|
30 |
+
msgstr "klicka här"
|
31 |
+
|
32 |
+
#: classes/class.simple-wp-membership.php:242
|
33 |
+
msgid ""
|
34 |
+
"Error! This site has the force WP user login feature enabled in the "
|
35 |
+
"settings. We could not find a WP user record for the given username: "
|
36 |
+
msgstr ""
|
37 |
+
"Fel! Denna webbplats har funktionen tvinga WP-användaren-inloggning "
|
38 |
+
"aktiverat i inställningarna. Vi kunde inte hitta en WP användarpost för viss "
|
39 |
+
"användarnamnet: "
|
40 |
+
|
41 |
+
#: classes/class.simple-wp-membership.php:243
|
42 |
+
msgid ""
|
43 |
+
"This error is triggered when a member account doesn't have a corresponding "
|
44 |
+
"WP user account. So the plugin fails to log the user into the WP User system."
|
45 |
+
msgstr ""
|
46 |
+
"Detta fel utlöses när ett medlemskonto inte har ett motsvarande WP-"
|
47 |
+
"användarkonto. Så SM-tillägget misslyckades med att logga användaren in i WP-"
|
48 |
+
"användarsystemet."
|
49 |
+
|
50 |
+
#: classes/class.simple-wp-membership.php:244
|
51 |
+
msgid ""
|
52 |
+
"Contact the site admin and request them to check your username in the WP "
|
53 |
+
"Users menu to see what happened with the WP user entry of your account."
|
54 |
+
msgstr ""
|
55 |
+
"Kontakta webbplatsen admin och be dem att kolla ditt användarnamn i menyn WP-"
|
56 |
+
"användare att se vad som hände med posten användare på ditt konto."
|
57 |
+
|
58 |
+
#: classes/class.simple-wp-membership.php:245
|
59 |
+
msgid ""
|
60 |
+
"The site admin can disable the Force WP User Synchronization feature in the "
|
61 |
+
"settings to disable this feature and this error will go away."
|
62 |
+
msgstr ""
|
63 |
+
"Webbplatsadministratören kan inaktivera funktionen Force WP-"
|
64 |
+
"användarsynkronisering i inställningarna för att inaktivera den här "
|
65 |
+
"funktionen och detta fel kommer försvinna."
|
66 |
+
|
67 |
+
#: classes/class.simple-wp-membership.php:246
|
68 |
+
msgid "You can use the back button of your browser to go back to the site."
|
69 |
+
msgstr ""
|
70 |
+
"Du kan använda webbläsarens bakåtknapp för att gå tillbaka till webbplatsen."
|
71 |
+
|
72 |
+
#: classes/class.simple-wp-membership.php:407
|
73 |
+
msgid "You are not logged in."
|
74 |
+
msgstr "Du är inte inloggad."
|
75 |
+
|
76 |
+
#: classes/class.simple-wp-membership.php:458
|
77 |
+
msgid ""
|
78 |
+
"You have the sandbox payment mode enabled in plugin settings. Make sure to "
|
79 |
+
"turn off the sandbox mode when you want to do live transactions."
|
80 |
+
msgstr ""
|
81 |
+
"Du har betalningsläget för sandlåda aktiverat i plugin-inställningar. Se "
|
82 |
+
"till att du stänger av sandlåsläget när du vill göra live-transaktioner."
|
83 |
+
|
84 |
+
#: classes/class.simple-wp-membership.php:473
|
85 |
+
msgid "Simple WP Membership Protection"
|
86 |
+
msgstr "Simple WP Membership Protection"
|
87 |
+
|
88 |
+
#: classes/class.simple-wp-membership.php:485
|
89 |
+
msgid "Simple Membership Protection options"
|
90 |
+
msgstr "Alternativ för Simple WP Membership Protection"
|
91 |
+
|
92 |
+
#: classes/class.simple-wp-membership.php:503
|
93 |
+
msgid "Do you want to protect this content?"
|
94 |
+
msgstr "Vill du skydda detta innehåll?"
|
95 |
+
|
96 |
+
#: classes/class.simple-wp-membership.php:504
|
97 |
+
msgid "No, Do not protect this content."
|
98 |
+
msgstr "Nej, skydda inte detta innehåll."
|
99 |
+
|
100 |
+
#: classes/class.simple-wp-membership.php:505
|
101 |
+
msgid "Yes, Protect this content."
|
102 |
+
msgstr "Ja, skydda detta innehåll."
|
103 |
+
|
104 |
+
#: classes/class.simple-wp-membership.php:508
|
105 |
+
msgid "Select the membership level that can access this content:"
|
106 |
+
msgstr "Välj vilken medlemskapsnivå som ska kunna läsa detta innehåll:"
|
107 |
+
|
108 |
+
#: classes/class.simple-wp-membership.php:646
|
109 |
+
#: classes/class.simple-wp-membership.php:650
|
110 |
+
msgid "Validating, please wait"
|
111 |
+
msgstr "Validerar, var god vänta"
|
112 |
+
|
113 |
+
#: classes/class.simple-wp-membership.php:653
|
114 |
+
msgid "Invalid email address"
|
115 |
+
msgstr "Ogiltig e-postadress"
|
116 |
+
|
117 |
+
#: classes/class.simple-wp-membership.php:656
|
118 |
+
msgid "This field is required"
|
119 |
+
msgstr "Detta fält är obligatoriskt"
|
120 |
+
|
121 |
+
msgid "Password must contain at least:"
|
122 |
+
msgstr "Lösenordet måste minst innehålla:"
|
123 |
+
|
124 |
+
msgid "- a digit"
|
125 |
+
msgstr "- en siffra"
|
126 |
+
|
127 |
+
msgid "- an uppercase letter"
|
128 |
+
msgstr "- en stor bokstav"
|
129 |
+
|
130 |
+
msgid "- a lowercase letter"
|
131 |
+
msgstr "- en liten bokstav"
|
132 |
+
|
133 |
+
#: classes/class.simple-wp-membership.php:659 classes/class.swpm-auth.php:296
|
134 |
+
msgid "Invalid Username"
|
135 |
+
msgstr "Ogiltigt användarnamn"
|
136 |
+
|
137 |
+
#: classes/class.simple-wp-membership.php:659
|
138 |
+
msgid "Usernames can only contain: letters, numbers and .-_*@"
|
139 |
+
msgstr "Användarnamn kan endast innehålla: bokstäver, siffror och .-_*@"
|
140 |
+
|
141 |
+
#: classes/class.simple-wp-membership.php:662
|
142 |
+
msgid "Minimum "
|
143 |
+
msgstr "Minst "
|
144 |
+
|
145 |
+
#: classes/class.simple-wp-membership.php:663
|
146 |
+
msgid " characters required"
|
147 |
+
msgstr " tecken som krävs för"
|
148 |
+
|
149 |
+
#: classes/class.simple-wp-membership.php:666
|
150 |
+
msgid "Apostrophe character is not allowed"
|
151 |
+
msgstr "Apostrof är inte tillåtet"
|
152 |
+
|
153 |
+
#: classes/class.simple-wp-membership.php:697
|
154 |
+
msgid "WP Membership"
|
155 |
+
msgstr "WP medlemskap"
|
156 |
+
|
157 |
+
#: classes/class.simple-wp-membership.php:698 classes/class.swpm-members.php:11
|
158 |
+
#: classes/class.swpm-members.php:581
|
159 |
+
msgid "Members"
|
160 |
+
msgstr "Medlemmar"
|
161 |
+
|
162 |
+
#: classes/class.simple-wp-membership.php:699
|
163 |
+
#: classes/class.swpm-category-list.php:20
|
164 |
+
#: classes/class.swpm-membership-levels.php:12
|
165 |
+
#: classes/class.swpm-membership-levels.php:265
|
166 |
+
#: classes/class.swpm-post-list.php:21
|
167 |
+
msgid "Membership Levels"
|
168 |
+
msgstr "Medlemsnivåer"
|
169 |
+
|
170 |
+
#: classes/class.simple-wp-membership.php:700
|
171 |
+
msgid "Settings"
|
172 |
+
msgstr "Inställningar"
|
173 |
+
|
174 |
+
#: classes/class.simple-wp-membership.php:701
|
175 |
+
msgid "Payments"
|
176 |
+
msgstr "Betalningar"
|
177 |
+
|
178 |
+
#: classes/class.simple-wp-membership.php:702
|
179 |
+
msgid "Add-ons"
|
180 |
+
msgstr "Tillägg"
|
181 |
+
|
182 |
+
#: classes/class.swpm-access-control.php:47
|
183 |
+
#: classes/class.swpm-access-control.php:120
|
184 |
+
msgid "You need to login to view this content. "
|
185 |
+
msgstr "Du måste logga in för att se detta innehåll "
|
186 |
+
|
187 |
+
#: classes/class.swpm-access-control.php:56
|
188 |
+
#: classes/class.swpm-access-control.php:128
|
189 |
+
#: classes/class.swpm-access-control.php:212
|
190 |
+
msgid "Your account has expired. "
|
191 |
+
msgstr "Användarkontot har upphört att gälla. "
|
192 |
+
|
193 |
+
#: classes/class.swpm-access-control.php:66
|
194 |
+
#: classes/class.swpm-access-control.php:138
|
195 |
+
msgid "This content can only be viewed by members who joined on or before "
|
196 |
+
msgstr "Detta innehåll kan endast ses av medlemmar som gått med på eller före "
|
197 |
+
|
198 |
+
#: classes/class.swpm-access-control.php:79
|
199 |
+
#: classes/class.swpm-access-control.php:148
|
200 |
+
msgid "This content is not permitted for your membership level."
|
201 |
+
msgstr "Innehållet är inte tillgängligt för din medlemsnivå."
|
202 |
+
|
203 |
+
#: classes/class.swpm-access-control.php:204
|
204 |
+
msgid "You need to login to view the rest of the content. "
|
205 |
+
msgstr "Du måste logga in för att läsa resten av innehållet "
|
206 |
+
|
207 |
+
#: classes/class.swpm-access-control.php:217
|
208 |
+
msgid " The rest of the content is not permitted for your membership level."
|
209 |
+
msgstr " Resterande innehåll är inte tillgängligt för din medlemsnivå."
|
210 |
+
|
211 |
+
#: classes/class.swpm-admin-registration.php:25
|
212 |
+
msgid "Error! Nonce verification failed for user registration from admin end."
|
213 |
+
msgstr ""
|
214 |
+
"Fel! Nonceverifieringen misslyckades för användarregistrering från "
|
215 |
+
"adminläget (back-end)."
|
216 |
+
|
217 |
+
#: classes/class.swpm-admin-registration.php:71
|
218 |
+
msgid "Member record added successfully."
|
219 |
+
msgstr "Medlemsposten lades till korrekt."
|
220 |
+
|
221 |
+
#: classes/class.swpm-admin-registration.php:76
|
222 |
+
#: classes/class.swpm-admin-registration.php:124
|
223 |
+
#: classes/class.swpm-admin-registration.php:151
|
224 |
+
#: classes/class.swpm-membership-level.php:73
|
225 |
+
#: classes/class.swpm-membership-level.php:105
|
226 |
+
msgid "Please correct the following:"
|
227 |
+
msgstr "Vänligen rätta till följande:"
|
228 |
+
|
229 |
+
#: classes/class.swpm-admin-registration.php:87
|
230 |
+
msgid "Error! Nonce verification failed for user edit from admin end."
|
231 |
+
msgstr ""
|
232 |
+
"Fel! Nonceverifieringen misslyckades för användarregistrering från "
|
233 |
+
"adminläget (back-end)."
|
234 |
+
|
235 |
+
#: classes/class.swpm-admin-registration.php:139
|
236 |
+
msgid "Your current password"
|
237 |
+
msgstr "Ditt nuvarande lösenord"
|
238 |
+
|
239 |
+
#: classes/class.swpm-ajax.php:14
|
240 |
+
msgid "Invalid Email Address"
|
241 |
+
msgstr "Ogiltig e-postadress"
|
242 |
+
|
243 |
+
#: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36
|
244 |
+
msgid "Already taken"
|
245 |
+
msgstr "Upptaget"
|
246 |
+
|
247 |
+
#: classes/class.swpm-ajax.php:30
|
248 |
+
msgid "Name contains invalid character"
|
249 |
+
msgstr "Namnet innehåller ogiltiga tecken"
|
250 |
+
|
251 |
+
#: classes/class.swpm-ajax.php:37
|
252 |
+
msgid "Available"
|
253 |
+
msgstr "Tillgängligt"
|
254 |
+
|
255 |
+
#: classes/class.swpm-auth.php:57
|
256 |
+
msgid ""
|
257 |
+
"Warning! Simple Membership plugin cannot process this login request to "
|
258 |
+
"prevent you from getting logged out of WP Admin accidentally."
|
259 |
+
msgstr ""
|
260 |
+
"Varning! Simple membership-tillägget kan inte behandla denna "
|
261 |
+
"inloggningsbegäran att förhindra att du blir utloggad från WP Admin av "
|
262 |
+
"misstag."
|
263 |
+
|
264 |
+
#: classes/class.swpm-auth.php:58
|
265 |
+
msgid "Click here"
|
266 |
+
msgstr "Klicka här"
|
267 |
+
|
268 |
+
#: classes/class.swpm-auth.php:58
|
269 |
+
msgid " to see the profile you are currently logged into in this browser."
|
270 |
+
msgstr ""
|
271 |
+
" för att se profilen du för närvarande är inloggad som i denna webbläsare."
|
272 |
+
|
273 |
+
#: classes/class.swpm-auth.php:59
|
274 |
+
msgid ""
|
275 |
+
"You are logged into the site as an ADMIN user in this browser. First, logout "
|
276 |
+
"from WP Admin then you will be able to log in as a normal member."
|
277 |
+
msgstr ""
|
278 |
+
"Du är inloggad på webbplatsen som ADMIN-användare i denna webbläsaren. Logga "
|
279 |
+
"ut först från WP Admin så kommer du att kunna logga in som en vanlig medlem."
|
280 |
+
|
281 |
+
#: classes/class.swpm-auth.php:60
|
282 |
+
msgid ""
|
283 |
+
"Alternatively, you can use a different browser (where you are not logged-in "
|
284 |
+
"as ADMIN) to test the membership login."
|
285 |
+
msgstr ""
|
286 |
+
"Alternativt kan du använda en annan webbläsare (där du inte är inloggad som "
|
287 |
+
"ADMIN) för att testa medlemskapsinloggningen."
|
288 |
+
|
289 |
+
#: classes/class.swpm-auth.php:61
|
290 |
+
msgid ""
|
291 |
+
"Your normal visitors or members will never see this message. This message is "
|
292 |
+
"ONLY for ADMIN user."
|
293 |
+
msgstr ""
|
294 |
+
"Dina vanliga besökare eller medlemmar kommer aldrig att se detta meddelande. "
|
295 |
+
"Det här meddelandet är ENDAST för ADMIN-användare."
|
296 |
+
|
297 |
+
#: classes/class.swpm-auth.php:68
|
298 |
+
msgid "Captcha validation failed on login form."
|
299 |
+
msgstr "CAPTCHA validering misslyckades på inloggningsformuläret."
|
300 |
+
|
301 |
+
#: classes/class.swpm-auth.php:93
|
302 |
+
msgid "User Not Found."
|
303 |
+
msgstr "Användare hittades inte."
|
304 |
+
|
305 |
+
#: classes/class.swpm-auth.php:100
|
306 |
+
msgid "Password Empty or Invalid."
|
307 |
+
msgstr "Lösenordet är tomt eller ogiltigt."
|
308 |
+
|
309 |
+
#: classes/class.swpm-auth.php:133
|
310 |
+
msgid "Account is inactive."
|
311 |
+
msgstr "Användarkontot är ej aktivt."
|
312 |
+
|
313 |
+
#: classes/class.swpm-auth.php:136 classes/class.swpm-auth.php:162
|
314 |
+
msgid "Account has expired."
|
315 |
+
msgstr "Användarkontot har gått ut."
|
316 |
+
|
317 |
+
#: classes/class.swpm-auth.php:139
|
318 |
+
msgid "Account is pending."
|
319 |
+
msgstr "Kontot är väntande."
|
320 |
+
|
321 |
+
#: classes/class.swpm-auth.php:146
|
322 |
+
#, php-format
|
323 |
+
msgid ""
|
324 |
+
"You need to activate your account. If you didn't receive an email then %s to "
|
325 |
+
"resend the activation email."
|
326 |
+
msgstr ""
|
327 |
+
"Du måste aktivera ditt konto. Om du inte fick ett e-postmeddelande ska %s "
|
328 |
+
"skicka om aktiverings-e-postmeddelandet."
|
329 |
+
|
330 |
+
#: classes/class.swpm-auth.php:146
|
331 |
+
#: classes/class.swpm-front-registration.php:376
|
332 |
+
#: classes/class.swpm-front-registration.php:426
|
333 |
+
#: classes/class.swpm-utils-misc.php:169
|
334 |
+
msgid "click here"
|
335 |
+
msgstr "klicka här"
|
336 |
+
|
337 |
+
#: classes/class.swpm-auth.php:170
|
338 |
+
msgid "You are logged in as:"
|
339 |
+
msgstr "Du är inloggad som:"
|
340 |
+
|
341 |
+
#: classes/class.swpm-auth.php:234
|
342 |
+
msgid "Logged Out Successfully."
|
343 |
+
msgstr "Lyckad utloggning."
|
344 |
+
|
345 |
+
#: classes/class.swpm-auth.php:287
|
346 |
+
msgid "Session Expired."
|
347 |
+
msgstr "Slut på sessionen."
|
348 |
+
|
349 |
+
#: classes/class.swpm-auth.php:304
|
350 |
+
msgid "Please login again."
|
351 |
+
msgstr "Vänligen logga in igen."
|
352 |
+
|
353 |
+
#: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:24
|
354 |
+
#: classes/class.swpm-membership-levels.php:11
|
355 |
+
#: classes/class.swpm-membership-levels.php:21
|
356 |
+
#: classes/class.swpm-post-list.php:20
|
357 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:85
|
358 |
+
#: views/add.php:40 views/admin_member_form_common_part.php:2 views/edit.php:75
|
359 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:50
|
360 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:34
|
361 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:229
|
362 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:49
|
363 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:35
|
364 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:317
|
365 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:47
|
366 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:273
|
367 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:99
|
368 |
+
msgid "Membership Level"
|
369 |
+
msgstr "Medlemskapsnivå"
|
370 |
+
|
371 |
+
#: classes/class.swpm-category-list.php:33
|
372 |
+
msgid "Category ID"
|
373 |
+
msgstr "Kategori-ID"
|
374 |
+
|
375 |
+
#: classes/class.swpm-category-list.php:34
|
376 |
+
msgid "Category Name"
|
377 |
+
msgstr "Kategorinamn"
|
378 |
+
|
379 |
+
#: classes/class.swpm-category-list.php:35
|
380 |
+
msgid "Category Type (Taxonomy)"
|
381 |
+
msgstr "Typ av kategori (Taxonomi)"
|
382 |
+
|
383 |
+
#: classes/class.swpm-category-list.php:36
|
384 |
+
msgid "Description"
|
385 |
+
msgstr "Beskrivning"
|
386 |
+
|
387 |
+
#: classes/class.swpm-category-list.php:37
|
388 |
+
msgid "Count"
|
389 |
+
msgstr "Antal"
|
390 |
+
|
391 |
+
#: classes/class.swpm-category-list.php:92
|
392 |
+
msgid "Category protection updated!"
|
393 |
+
msgstr "Kategoriskydd uppdaterad!"
|
394 |
+
|
395 |
+
#: classes/class.swpm-category-list.php:130
|
396 |
+
msgid "No category found."
|
397 |
+
msgstr "Ingen kategori hittades."
|
398 |
+
|
399 |
+
#: classes/class.swpm-comment-form-related.php:15
|
400 |
+
msgid "Please login to comment."
|
401 |
+
msgstr "Vänligen logga in för att kommentera."
|
402 |
+
|
403 |
+
#: classes/class.swpm-comment-form-related.php:40
|
404 |
+
msgid "Please Login to Comment."
|
405 |
+
msgstr "Vänligen logga in för att kommentera."
|
406 |
+
|
407 |
+
#: classes/class.swpm-comment-form-related.php:79
|
408 |
+
msgid "Comments not allowed by a non-member."
|
409 |
+
msgstr "Kommentarer är inte tillåtna av icke-medlemmar."
|
410 |
+
|
411 |
+
#: classes/class.swpm-form.php:30
|
412 |
+
msgid ""
|
413 |
+
"Wordpress account exists with given username. But given email doesn't match."
|
414 |
+
msgstr ""
|
415 |
+
"Wordpress-konto finns med ett givet användarnamn. Men given e-post matchar "
|
416 |
+
"inte."
|
417 |
+
|
418 |
+
#: classes/class.swpm-form.php:31
|
419 |
+
msgid ""
|
420 |
+
" Use a different username to complete the registration. If you want to use "
|
421 |
+
"that username then you must enter the correct email address associated with "
|
422 |
+
"the existing WP user to connect with that account."
|
423 |
+
msgstr ""
|
424 |
+
" Använd ett annat användarnamn för att slutföra registreringen. Om du vill "
|
425 |
+
"använda det användarnamnet måste du ange du den e-postadress som är "
|
426 |
+
"associerad med den befintliga WP-användaren."
|
427 |
+
|
428 |
+
#: classes/class.swpm-form.php:37
|
429 |
+
msgid ""
|
430 |
+
"Wordpress account exists with given email. But given username doesn't match."
|
431 |
+
msgstr ""
|
432 |
+
"Wordpress-konto finns med angivet användarnamn. Men angiven e-post matchar "
|
433 |
+
"inte."
|
434 |
+
|
435 |
+
#: classes/class.swpm-form.php:38
|
436 |
+
msgid ""
|
437 |
+
" Use a different email address to complete the registration. If you want to "
|
438 |
+
"use that email then you must enter the correct username associated with the "
|
439 |
+
"existing WP user to connect with that account."
|
440 |
+
msgstr ""
|
441 |
+
" Använd en annan e-postadress för att slutföra registreringen. Om du vill "
|
442 |
+
"använda denna e-postadress måste du ange rätt användarnamn är associerad "
|
443 |
+
"med den befintliga WP-användaren."
|
444 |
+
|
445 |
+
#: classes/class.swpm-form.php:48
|
446 |
+
msgid "Username is required"
|
447 |
+
msgstr "Användarnamn krävs"
|
448 |
+
|
449 |
+
#: classes/class.swpm-form.php:52
|
450 |
+
msgid "Username contains invalid character"
|
451 |
+
msgstr "Användarnamn innehåller ogiltiga tecken"
|
452 |
+
|
453 |
+
#: classes/class.swpm-form.php:60
|
454 |
+
msgid "Username already exists."
|
455 |
+
msgstr "Användarnamnet existerar redan."
|
456 |
+
|
457 |
+
#: classes/class.swpm-form.php:83
|
458 |
+
msgid "Password is required"
|
459 |
+
msgstr "Lösenord krävs"
|
460 |
+
|
461 |
+
#: classes/class.swpm-form.php:90
|
462 |
+
msgid "Password mismatch"
|
463 |
+
msgstr "Lösenord matchar inte"
|
464 |
+
|
465 |
+
#: classes/class.swpm-form.php:101
|
466 |
+
msgid "Email is required"
|
467 |
+
msgstr "E-post krävs"
|
468 |
+
|
469 |
+
#: classes/class.swpm-form.php:105
|
470 |
+
msgid "Email is invalid"
|
471 |
+
msgstr "Ogiltig e-postadress"
|
472 |
+
|
473 |
+
#: classes/class.swpm-form.php:121
|
474 |
+
msgid "Email is already used."
|
475 |
+
msgstr "E-postadressen används redan."
|
476 |
+
|
477 |
+
#: classes/class.swpm-form.php:179
|
478 |
+
msgid "Member since field is invalid"
|
479 |
+
msgstr "Medlem sedan-fältet är ogiltigt"
|
480 |
+
|
481 |
+
#: classes/class.swpm-form.php:190
|
482 |
+
msgid "Access starts field is invalid"
|
483 |
+
msgstr "Åtkomst-fältet är ogiltigt"
|
484 |
+
|
485 |
+
#: classes/class.swpm-form.php:200
|
486 |
+
msgid "Gender field is invalid"
|
487 |
+
msgstr "Kön-fältet är ogiltigt"
|
488 |
+
|
489 |
+
#: classes/class.swpm-form.php:211
|
490 |
+
msgid "Account state field is invalid"
|
491 |
+
msgstr "Kontostatus-fältet är ogiltigt"
|
492 |
+
|
493 |
+
#: classes/class.swpm-form.php:218
|
494 |
+
msgid "Invalid membership level"
|
495 |
+
msgstr "Ogiltig medlemskapsnivå"
|
496 |
+
|
497 |
+
#: classes/class.swpm-front-registration.php:33
|
498 |
+
msgid ""
|
499 |
+
"Error! Invalid Request. Could not find a match for the given security code "
|
500 |
+
"and the user ID."
|
501 |
+
msgstr ""
|
502 |
+
"Fel! Ogiltig begäran. Kunde inte hitta en matchning för angiven säkerhetskod "
|
503 |
+
"och användar-ID."
|
504 |
+
|
505 |
+
#: classes/class.swpm-front-registration.php:45
|
506 |
+
#: classes/class.swpm-utils-misc.php:274 views/login.php:36
|
507 |
+
msgid "Join Us"
|
508 |
+
msgstr "Bli medlem"
|
509 |
+
|
510 |
+
#: classes/class.swpm-front-registration.php:47
|
511 |
+
msgid ""
|
512 |
+
"Free membership is disabled on this site. Please make a payment from the "
|
513 |
+
msgstr ""
|
514 |
+
"Gratis medlemskap är inaktiverad på denna webbplats. Vänligen gör en "
|
515 |
+
"betalning från "
|
516 |
+
|
517 |
+
#: classes/class.swpm-front-registration.php:49
|
518 |
+
msgid " page to pay for a premium membership."
|
519 |
+
msgstr " sida för att betala för ett premium-medlemskap."
|
520 |
+
|
521 |
+
#: classes/class.swpm-front-registration.php:51
|
522 |
+
msgid ""
|
523 |
+
"You will receive a unique link via email after the payment. You will be able "
|
524 |
+
"to use that link to complete the premium membership registration."
|
525 |
+
msgstr ""
|
526 |
+
"Du kommer att få en unik länk via e-post efter betalningen. Du kommer att "
|
527 |
+
"kunna använda den länken för att slutföra medlemskapsregistreringen."
|
528 |
+
|
529 |
+
#: classes/class.swpm-front-registration.php:79
|
530 |
+
msgid "Security check: captcha validation failed."
|
531 |
+
msgstr "Säkerhetskontroll: captcha-validering misslyckades."
|
532 |
+
|
533 |
+
#: classes/class.swpm-front-registration.php:89
|
534 |
+
msgid "You must accept the terms and conditions."
|
535 |
+
msgstr "Du måste acceptera villkoren."
|
536 |
+
|
537 |
+
#: classes/class.swpm-front-registration.php:100
|
538 |
+
msgid "You must agree to the privacy policy."
|
539 |
+
msgstr "Du måste godkänna Integritetspolicyn."
|
540 |
+
|
541 |
+
#: classes/class.swpm-front-registration.php:140
|
542 |
+
msgid ""
|
543 |
+
"You need to confirm your email address. Please check your email and follow "
|
544 |
+
"instructions to complete your registration."
|
545 |
+
msgstr ""
|
546 |
+
"Du måste bekräfta din e-postadress. Kontrollera din e-post och följ "
|
547 |
+
"instruktionerna för att slutföra din registrering."
|
548 |
+
|
549 |
+
#: classes/class.swpm-front-registration.php:145
|
550 |
+
msgid "Registration Successful. "
|
551 |
+
msgstr "Registreringen lyckades! "
|
552 |
+
|
553 |
+
#: classes/class.swpm-front-registration.php:145
|
554 |
+
#: classes/class.swpm-utils-misc.php:273 classes/class.swpm-utils-misc.php:285
|
555 |
+
msgid "Please"
|
556 |
+
msgstr "Vänligen"
|
557 |
+
|
558 |
+
#: classes/class.swpm-front-registration.php:145
|
559 |
+
#: classes/class.swpm-utils-misc.php:273 views/login.php:30
|
560 |
+
msgid "Login"
|
561 |
+
msgstr "Logga in"
|
562 |
+
|
563 |
+
#: classes/class.swpm-front-registration.php:159
|
564 |
+
msgid "Please correct the following"
|
565 |
+
msgstr "Vänligen rätta till följande"
|
566 |
+
|
567 |
+
#: classes/class.swpm-front-registration.php:207
|
568 |
+
msgid "Membership Level Couldn't be found."
|
569 |
+
msgstr "Medlemsskapsnivå kunde inte hittas."
|
570 |
+
|
571 |
+
#: classes/class.swpm-front-registration.php:258
|
572 |
+
msgid "Error! Nonce verification failed for front end profile edit."
|
573 |
+
msgstr ""
|
574 |
+
"Fel! Verifiering av nonce misslyckades vid redigering av profilen (front-"
|
575 |
+
"end)."
|
576 |
+
|
577 |
+
#: classes/class.swpm-front-registration.php:266
|
578 |
+
msgid "Profile updated successfully."
|
579 |
+
msgstr "Profil uppdaterad."
|
580 |
+
|
581 |
+
#: classes/class.swpm-front-registration.php:275
|
582 |
+
msgid ""
|
583 |
+
"Profile updated successfully. You will need to re-login since you changed "
|
584 |
+
"your password."
|
585 |
+
msgstr ""
|
586 |
+
"Profilen uppdaterades. Du behöver logga in på nytt då du ändrade ditt "
|
587 |
+
"lösenord."
|
588 |
+
|
589 |
+
#: classes/class.swpm-front-registration.php:289
|
590 |
+
msgid "Please correct the following."
|
591 |
+
msgstr "Vänligen rätta till följande."
|
592 |
+
|
593 |
+
#: classes/class.swpm-front-registration.php:301
|
594 |
+
msgid "Captcha validation failed."
|
595 |
+
msgstr "Captcha-validering misslyckades."
|
596 |
+
|
597 |
+
#: classes/class.swpm-front-registration.php:309
|
598 |
+
msgid "Email address not valid."
|
599 |
+
msgstr "Ogiltig e-postadress."
|
600 |
+
|
601 |
+
#: classes/class.swpm-front-registration.php:320
|
602 |
+
msgid "No user found with that email address."
|
603 |
+
msgstr "Ingen användare hittades med den e-postadressen."
|
604 |
+
|
605 |
+
#: classes/class.swpm-front-registration.php:321
|
606 |
+
#: classes/class.swpm-front-registration.php:350
|
607 |
+
msgid "Email Address: "
|
608 |
+
msgstr "E-postadress: "
|
609 |
+
|
610 |
+
#: classes/class.swpm-front-registration.php:349
|
611 |
+
msgid "New password has been sent to your email address."
|
612 |
+
msgstr "Ett nytt lösenord har skickats till din e-postadress."
|
613 |
+
|
614 |
+
#: classes/class.swpm-front-registration.php:371
|
615 |
+
msgid "Can't find member account."
|
616 |
+
msgstr "Det går inte att hitta medlemskontot."
|
617 |
+
|
618 |
+
#: classes/class.swpm-front-registration.php:376
|
619 |
+
#: classes/class.swpm-front-registration.php:426
|
620 |
+
msgid "Account already active. "
|
621 |
+
msgstr "Kontot är redan aktivt. "
|
622 |
+
|
623 |
+
#: classes/class.swpm-front-registration.php:376
|
624 |
+
#: classes/class.swpm-front-registration.php:426
|
625 |
+
msgid " to login."
|
626 |
+
msgstr " för att logga in."
|
627 |
+
|
628 |
+
#: classes/class.swpm-front-registration.php:383
|
629 |
+
msgid ""
|
630 |
+
"Activation code mismatch. Cannot activate this account. Please contact the "
|
631 |
+
"site admin."
|
632 |
+
msgstr ""
|
633 |
+
"Aktiveringskoden stämmer inte. Det går inte att aktivera det här kontot. "
|
634 |
+
"Vänligen kontakta administratören för webbplatsen."
|
635 |
+
|
636 |
+
#: classes/class.swpm-front-registration.php:397
|
637 |
+
msgid "Success! Your account has been activated successfully."
|
638 |
+
msgstr "Japp! Ditt konto har framgångsrikt aktiverats."
|
639 |
+
|
640 |
+
#: classes/class.swpm-front-registration.php:421
|
641 |
+
msgid "Cannot find member account."
|
642 |
+
msgstr "Det går inte att hitta medlemskontot."
|
643 |
+
|
644 |
+
#: classes/class.swpm-front-registration.php:443
|
645 |
+
msgid ""
|
646 |
+
"Activation email has been sent. Please check your email and activate your "
|
647 |
+
"account."
|
648 |
+
msgstr ""
|
649 |
+
"E-post för aktivering har skickats. Kontrollera din e-post och aktivera ditt "
|
650 |
+
"konto."
|
651 |
+
|
652 |
+
#: classes/class.swpm-init-time-tasks.php:118
|
653 |
+
msgid "Sorry, Nonce verification failed."
|
654 |
+
msgstr "Tyvärr, verifiering av Nonce misslyckades."
|
655 |
+
|
656 |
+
#: classes/class.swpm-init-time-tasks.php:125
|
657 |
+
msgid "Sorry, Password didn't match."
|
658 |
+
msgstr "Tyvärr, lösenordet matchade inte."
|
659 |
+
|
660 |
+
#: classes/class.swpm-level-form.php:50
|
661 |
+
msgid "Date format is not valid."
|
662 |
+
msgstr "Ogiltigt datumformat."
|
663 |
+
|
664 |
+
#: classes/class.swpm-level-form.php:58
|
665 |
+
msgid "Access duration must be > 0."
|
666 |
+
msgstr "Åtkomstens varaktighet måste vara > 0."
|
667 |
+
|
668 |
+
#: classes/class.swpm-members.php:10
|
669 |
+
msgid "Member"
|
670 |
+
msgstr "Medlem"
|
671 |
+
|
672 |
+
#: classes/class.swpm-members.php:19
|
673 |
+
#: classes/class.swpm-membership-levels.php:20
|
674 |
+
msgid "ID"
|
675 |
+
msgstr "ID"
|
676 |
+
|
677 |
+
#: classes/class.swpm-members.php:20 views/add.php:16 views/admin_add.php:11
|
678 |
+
#: views/admin_edit.php:19 views/edit.php:23
|
679 |
+
#: includes/swpm_mda_show_profile.php:27
|
680 |
+
msgid "Username"
|
681 |
+
msgstr "Användarnamn"
|
682 |
+
|
683 |
+
#: classes/class.swpm-members.php:21
|
684 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:78
|
685 |
+
#: views/add.php:32 views/admin_member_form_common_part.php:15
|
686 |
+
#: views/edit.php:39 includes/swpm_mda_show_profile.php:28
|
687 |
+
msgid "First Name"
|
688 |
+
msgstr "Förnamn"
|
689 |
+
|
690 |
+
#: classes/class.swpm-members.php:22
|
691 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:79
|
692 |
+
#: views/add.php:36 views/admin_member_form_common_part.php:19
|
693 |
+
#: views/edit.php:43 includes/swpm_mda_show_profile.php:29
|
694 |
+
msgid "Last Name"
|
695 |
+
msgstr "Efternamn"
|
696 |
+
|
697 |
+
#: classes/class.swpm-members.php:23 views/add.php:20 views/edit.php:27
|
698 |
+
#: includes/swpm_mda_show_profile.php:35
|
699 |
+
msgid "Email"
|
700 |
+
msgstr "E-post"
|
701 |
+
|
702 |
+
#: classes/class.swpm-members.php:25 views/admin_member_form_common_part.php:11
|
703 |
+
msgid "Access Starts"
|
704 |
+
msgstr "Tillgång startar"
|
705 |
+
|
706 |
+
#: classes/class.swpm-members.php:26 includes/swpm_mda_show_profile.php:31
|
707 |
+
msgid "Account State"
|
708 |
+
msgstr "Kontostatus"
|
709 |
+
|
710 |
+
#: classes/class.swpm-members.php:27
|
711 |
+
msgid "Last Login Date"
|
712 |
+
msgstr "Senaste datum för Login"
|
713 |
+
|
714 |
+
#: classes/class.swpm-members.php:46
|
715 |
+
#: classes/class.swpm-membership-levels.php:36
|
716 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:94
|
717 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:102
|
718 |
+
msgid "Delete"
|
719 |
+
msgstr "Radera"
|
720 |
+
|
721 |
+
#: classes/class.swpm-members.php:47
|
722 |
+
msgid "Set Status to Active"
|
723 |
+
msgstr "Ställ in status till Aktiv"
|
724 |
+
|
725 |
+
#: classes/class.swpm-members.php:48
|
726 |
+
msgid "Set Status to Active and Notify"
|
727 |
+
msgstr "Ställ in status till Aktiv och Meddela"
|
728 |
+
|
729 |
+
#: classes/class.swpm-members.php:49
|
730 |
+
msgid "Set Status to Inactive"
|
731 |
+
msgstr "Ställ in status som Inaktiv"
|
732 |
+
|
733 |
+
#: classes/class.swpm-members.php:50
|
734 |
+
msgid "Set Status to Pending"
|
735 |
+
msgstr "Markera som Väntande"
|
736 |
+
|
737 |
+
#: classes/class.swpm-members.php:51
|
738 |
+
msgid "Set Status to Expired"
|
739 |
+
msgstr "Ange Status till Utgången"
|
740 |
+
|
741 |
+
#: classes/class.swpm-members.php:72
|
742 |
+
msgid "incomplete"
|
743 |
+
msgstr "ofullständig"
|
744 |
+
|
745 |
+
#: classes/class.swpm-members.php:191
|
746 |
+
msgid "No member found."
|
747 |
+
msgstr "Medlem ej hittad."
|
748 |
+
|
749 |
+
#: classes/class.swpm-members.php:337
|
750 |
+
msgid "Error! Nonce verification failed for user delete from admin end."
|
751 |
+
msgstr ""
|
752 |
+
"Fel! Nonceverifiering misslyckades för användaren från adminläget (back-end)."
|
753 |
+
|
754 |
+
#: classes/class.swpm-members.php:406 classes/class.swpm-members.php:436
|
755 |
+
msgid "Error! Please select a membership level first."
|
756 |
+
msgstr "Fel! Välj en medlemsnivå först."
|
757 |
+
|
758 |
+
#: classes/class.swpm-members.php:423
|
759 |
+
msgid "Membership level change operation completed successfully."
|
760 |
+
msgstr "Ändring av medlemsnivå slutfördes."
|
761 |
+
|
762 |
+
#: classes/class.swpm-members.php:453
|
763 |
+
msgid "Access starts date change operation successfully completed."
|
764 |
+
msgstr "Ändring av åtkomstdatum slutfördes."
|
765 |
+
|
766 |
+
#: classes/class.swpm-members.php:462
|
767 |
+
msgid "Bulk Update Membership Level of Members"
|
768 |
+
msgstr "Massuppdatering av medlemsnivå av medlemmar"
|
769 |
+
|
770 |
+
#: classes/class.swpm-members.php:465
|
771 |
+
msgid ""
|
772 |
+
"You can manually change the membership level of any member by editing the "
|
773 |
+
"record from the members menu. "
|
774 |
+
msgstr ""
|
775 |
+
"Du kan ändra medlemskap manuellt för en medlem genom att redigera posten "
|
776 |
+
"från menyn medlemmar. "
|
777 |
+
|
778 |
+
#: classes/class.swpm-members.php:466
|
779 |
+
msgid ""
|
780 |
+
"You can use the following option to bulk update the membership level of "
|
781 |
+
"users who belong to the level you select below."
|
782 |
+
msgstr ""
|
783 |
+
"Du kan använda följande alternativ för att massuppdatera medlemsnivån för "
|
784 |
+
"medlemmar med nivån du väljer nedan."
|
785 |
+
|
786 |
+
#: classes/class.swpm-members.php:472 classes/class.swpm-members.php:520
|
787 |
+
msgid "Membership Level: "
|
788 |
+
msgstr "Medlemskapsnivå: "
|
789 |
+
|
790 |
+
#: classes/class.swpm-members.php:476
|
791 |
+
msgid "Select Current Level"
|
792 |
+
msgstr "Välj nuvarande nivå"
|
793 |
+
|
794 |
+
#: classes/class.swpm-members.php:479
|
795 |
+
msgid ""
|
796 |
+
"Select the current membership level (the membership level of all members who "
|
797 |
+
"are in this level will be updated)."
|
798 |
+
msgstr ""
|
799 |
+
"Välj den nuvarande medlemsnivå (medlemskap nivån på alla medlemmar som är i "
|
800 |
+
"denna nivå kommer att uppdateras)."
|
801 |
+
|
802 |
+
#: classes/class.swpm-members.php:485
|
803 |
+
msgid "Level to Change to: "
|
804 |
+
msgstr "Ändra nivå till: "
|
805 |
+
|
806 |
+
#: classes/class.swpm-members.php:489
|
807 |
+
msgid "Select Target Level"
|
808 |
+
msgstr "Välj målnivå"
|
809 |
+
|
810 |
+
#: classes/class.swpm-members.php:492
|
811 |
+
msgid "Select the new membership level."
|
812 |
+
msgstr "Välj ny medlemskapsnivå."
|
813 |
+
|
814 |
+
#: classes/class.swpm-members.php:498
|
815 |
+
msgid "Bulk Change Membership Level"
|
816 |
+
msgstr "Massändra medlemskapsnivå"
|
817 |
+
|
818 |
+
#: classes/class.swpm-members.php:508
|
819 |
+
msgid "Bulk Update Access Starts Date of Members"
|
820 |
+
msgstr "Massuppdatera åtkomstsstartdatum för medlemmar"
|
821 |
+
|
822 |
+
#: classes/class.swpm-members.php:512
|
823 |
+
msgid ""
|
824 |
+
"The access starts date of a member is set to the day the user registers. "
|
825 |
+
"This date value is used to calculate how long the member can access your "
|
826 |
+
"content that are protected with a duration type protection in the membership "
|
827 |
+
"level. "
|
828 |
+
msgstr ""
|
829 |
+
"Åtkomststartdatum är inställt till den dag då användaren registrerar sig. "
|
830 |
+
"Värdet avvänds för att beräkna hur länge medlemmen får åtkomst till "
|
831 |
+
"nivåskyddat innehåll. "
|
832 |
+
|
833 |
+
#: classes/class.swpm-members.php:513
|
834 |
+
msgid ""
|
835 |
+
"You can manually set a specific access starts date value of all members who "
|
836 |
+
"belong to a particular level using the following option."
|
837 |
+
msgstr ""
|
838 |
+
"Du kan ställa in ett specifikt startdatum för alla medlemmar på en viss nivå "
|
839 |
+
"med följande inställning."
|
840 |
+
|
841 |
+
#: classes/class.swpm-members.php:523
|
842 |
+
msgid "Select Level"
|
843 |
+
msgstr "Välj nivå"
|
844 |
+
|
845 |
+
#: classes/class.swpm-members.php:526
|
846 |
+
msgid ""
|
847 |
+
"Select the Membership level (the access start date of all members who are in "
|
848 |
+
"this level will be updated)."
|
849 |
+
msgstr ""
|
850 |
+
"Välj medlemskapsnivå (åtkomstsstartdatum för alla medlemmar som är i denna "
|
851 |
+
"nivå kommer att uppdateras)."
|
852 |
+
|
853 |
+
#: classes/class.swpm-members.php:535
|
854 |
+
msgid "Specify the access starts date value."
|
855 |
+
msgstr "Specifiera startdatum för åtkomst."
|
856 |
+
|
857 |
+
#: classes/class.swpm-members.php:541
|
858 |
+
msgid "Bulk Change Access Starts Date"
|
859 |
+
msgstr "Massuppdatera startdatum för åtkomst"
|
860 |
+
|
861 |
+
#: classes/class.swpm-members.php:576
|
862 |
+
msgid "Simple WP Membership::Members"
|
863 |
+
msgstr "Simple WP Membership::Medlemmar"
|
864 |
+
|
865 |
+
#: classes/class.swpm-members.php:577
|
866 |
+
#: classes/class.swpm-membership-levels.php:226 views/admin_members_list.php:44
|
867 |
+
msgid "Add New"
|
868 |
+
msgstr "Lägg till"
|
869 |
+
|
870 |
+
#: classes/class.swpm-members.php:582 views/admin_add.php:6
|
871 |
+
msgid "Add Member"
|
872 |
+
msgstr "Lägg till medlem"
|
873 |
+
|
874 |
+
#: classes/class.swpm-members.php:583
|
875 |
+
msgid "Bulk Operation"
|
876 |
+
msgstr "Massåtgärder"
|
877 |
+
|
878 |
+
#: classes/class.swpm-membership-level.php:52
|
879 |
+
msgid ""
|
880 |
+
"Error! Nonce verification failed for membership level creation from admin "
|
881 |
+
"end."
|
882 |
+
msgstr ""
|
883 |
+
"Fel! Nounce-verifiering misslyckades för att skapa medlemsskapsnivå från "
|
884 |
+
"adminläget (back-end)."
|
885 |
+
|
886 |
+
#: classes/class.swpm-membership-level.php:68
|
887 |
+
msgid "Membership Level Creation Successful."
|
888 |
+
msgstr "Ny medlemsskapsnivå har skapats."
|
889 |
+
|
890 |
+
#: classes/class.swpm-membership-level.php:84
|
891 |
+
msgid ""
|
892 |
+
"Error! Nonce verification failed for membership level edit from admin end."
|
893 |
+
msgstr ""
|
894 |
+
"Fel! Nounce-verifieringen misslyckades för att redigera medlemskapsnivå från "
|
895 |
+
"adminläge (back-end)."
|
896 |
+
|
897 |
+
#: classes/class.swpm-membership-level.php:100
|
898 |
+
msgid "Membership Level Updated Successfully."
|
899 |
+
msgstr "Uppdatering av medlemskapsnivå lyckades."
|
900 |
+
|
901 |
+
#: classes/class.swpm-membership-levels.php:22
|
902 |
+
msgid "Role"
|
903 |
+
msgstr "Roll"
|
904 |
+
|
905 |
+
#: classes/class.swpm-membership-levels.php:23
|
906 |
+
msgid "Access Valid For/Until"
|
907 |
+
msgstr "Åtkomst giltig till"
|
908 |
+
|
909 |
+
#: classes/class.swpm-membership-levels.php:133
|
910 |
+
msgid "No membership levels found."
|
911 |
+
msgstr "Ingen medlemsskapsnivå hittades."
|
912 |
+
|
913 |
+
#: classes/class.swpm-membership-levels.php:197
|
914 |
+
msgid ""
|
915 |
+
"Error! Nonce verification failed for membership level delete from admin end."
|
916 |
+
msgstr ""
|
917 |
+
"Fel! Nounce-verifieringen misslyckades för att radera medlemskapsnivån från "
|
918 |
+
"adminläge (back-end)."
|
919 |
+
|
920 |
+
#: classes/class.swpm-membership-levels.php:216 views/admin_members_list.php:31
|
921 |
+
#: views/payments/admin_all_payment_transactions.php:16 views/template-1.php:53
|
922 |
+
#: views/template-2.php:54
|
923 |
+
msgid "Search"
|
924 |
+
msgstr "Sök"
|
925 |
+
|
926 |
+
#: classes/class.swpm-membership-levels.php:261
|
927 |
+
msgid "Simple WP Membership::Membership Levels"
|
928 |
+
msgstr "Simple WP Membership::Medlemsnivåer"
|
929 |
+
|
930 |
+
#: classes/class.swpm-membership-levels.php:266
|
931 |
+
msgid "Add Level"
|
932 |
+
msgstr "Lägg till nivå"
|
933 |
+
|
934 |
+
#: classes/class.swpm-membership-levels.php:267
|
935 |
+
msgid "Manage Content Protection"
|
936 |
+
msgstr "Redigera innehållsskydd"
|
937 |
+
|
938 |
+
#: classes/class.swpm-membership-levels.php:268
|
939 |
+
msgid "Category Protection"
|
940 |
+
msgstr "Kategoriskydd"
|
941 |
+
|
942 |
+
#: classes/class.swpm-membership-levels.php:269
|
943 |
+
msgid "Post and Page Protection"
|
944 |
+
msgstr "Post- och sidskydd"
|
945 |
+
|
946 |
+
#: classes/class.swpm-post-list.php:43 classes/class.swpm-post-list.php:52
|
947 |
+
#: classes/class.swpm-post-list.php:62
|
948 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:81
|
949 |
+
msgid "Date"
|
950 |
+
msgstr "Datum"
|
951 |
+
|
952 |
+
#: classes/class.swpm-post-list.php:44 classes/class.swpm-post-list.php:53
|
953 |
+
#: classes/class.swpm-post-list.php:63
|
954 |
+
msgid "Title"
|
955 |
+
msgstr "Titel"
|
956 |
+
|
957 |
+
#: classes/class.swpm-post-list.php:45 classes/class.swpm-post-list.php:54
|
958 |
+
#: classes/class.swpm-post-list.php:64
|
959 |
+
msgid "Author"
|
960 |
+
msgstr "Författare"
|
961 |
+
|
962 |
+
#: classes/class.swpm-post-list.php:46 classes/class.swpm-post-list.php:56
|
963 |
+
#: classes/class.swpm-post-list.php:66
|
964 |
+
msgid "Status"
|
965 |
+
msgstr "Status"
|
966 |
+
|
967 |
+
#: classes/class.swpm-post-list.php:55
|
968 |
+
msgid "Categories"
|
969 |
+
msgstr "Kategorier"
|
970 |
+
|
971 |
+
#: classes/class.swpm-post-list.php:65
|
972 |
+
msgid "Type"
|
973 |
+
msgstr "Typ"
|
974 |
+
|
975 |
+
#: classes/class.swpm-post-list.php:125
|
976 |
+
msgid "Protection settings updated!"
|
977 |
+
msgstr "Skyddsinställningar uppdaterade!"
|
978 |
+
|
979 |
+
#: classes/class.swpm-post-list.php:230
|
980 |
+
msgid "No items found."
|
981 |
+
msgstr "Inga objekt hittades."
|
982 |
+
|
983 |
+
#: classes/class.swpm-protection.php:22
|
984 |
+
msgid ""
|
985 |
+
"The category or parent category of this post is protected. You can change "
|
986 |
+
"the category protection settings from the "
|
987 |
+
msgstr ""
|
988 |
+
"Kategorin eller föräldrakategorin för detta inlägg är skyddad. Du kan ändra "
|
989 |
+
"inställningarna för kategoriskydd från "
|
990 |
+
|
991 |
+
#: classes/class.swpm-protection.php:23
|
992 |
+
msgid "category protection menu"
|
993 |
+
msgstr "menyn för kategoriskydd"
|
994 |
+
|
995 |
+
#: classes/class.swpm-settings.php:26 classes/class.swpm-settings.php:54
|
996 |
+
msgid "General Settings"
|
997 |
+
msgstr "Allmänna inställningar"
|
998 |
+
|
999 |
+
#: classes/class.swpm-settings.php:27
|
1000 |
+
msgid "Payment Settings"
|
1001 |
+
msgstr "Betalningsinställningar"
|
1002 |
+
|
1003 |
+
#: classes/class.swpm-settings.php:28
|
1004 |
+
msgid "Email Settings"
|
1005 |
+
msgstr "E-postinställningar"
|
1006 |
+
|
1007 |
+
#: classes/class.swpm-settings.php:29
|
1008 |
+
msgid "Tools"
|
1009 |
+
msgstr "Verktyg"
|
1010 |
+
|
1011 |
+
#: classes/class.swpm-settings.php:30 classes/class.swpm-settings.php:187
|
1012 |
+
msgid "Advanced Settings"
|
1013 |
+
msgstr "Avancerade inställningar"
|
1014 |
+
|
1015 |
+
#: classes/class.swpm-settings.php:31
|
1016 |
+
msgid "Addons Settings"
|
1017 |
+
msgstr "Tilläggsinställningar"
|
1018 |
+
|
1019 |
+
#: classes/class.swpm-settings.php:53
|
1020 |
+
msgid "Plugin Documentation"
|
1021 |
+
msgstr "Dokumentation för plugin"
|
1022 |
+
|
1023 |
+
#: classes/class.swpm-settings.php:55
|
1024 |
+
msgid "Enable Free Membership"
|
1025 |
+
msgstr "Möjliggör gratis medlemskapsnivå"
|
1026 |
+
|
1027 |
+
#: classes/class.swpm-settings.php:56
|
1028 |
+
msgid ""
|
1029 |
+
"Enable/disable registration for free membership level. When you enable this "
|
1030 |
+
"option, make sure to specify a free membership level ID in the field below."
|
1031 |
+
msgstr ""
|
1032 |
+
"Aktivera/inaktivera registrering för gratis medlemsnivå. När du aktiverar "
|
1033 |
+
"det här alternativet, se till att du anger ett gratis medlemsnivå ID i "
|
1034 |
+
"fältet nedan."
|
1035 |
+
|
1036 |
+
#: classes/class.swpm-settings.php:57
|
1037 |
+
msgid "Free Membership Level ID"
|
1038 |
+
msgstr "Gratis medlemskapsnivå ID"
|
1039 |
+
|
1040 |
+
#: classes/class.swpm-settings.php:58
|
1041 |
+
msgid "Assign free membership level ID"
|
1042 |
+
msgstr "Tilldela gratis medlemskapsnivå ID"
|
1043 |
+
|
1044 |
+
#: classes/class.swpm-settings.php:59
|
1045 |
+
msgid "Enable More Tag Protection"
|
1046 |
+
msgstr "Möjliggör ”läs mer”-taggskydd"
|
1047 |
+
|
1048 |
+
#: classes/class.swpm-settings.php:60
|
1049 |
+
msgid ""
|
1050 |
+
"Enables or disables \"more\" tag protection in the posts and pages. Anything "
|
1051 |
+
"after the More tag is protected. Anything before the more tag is teaser "
|
1052 |
+
"content."
|
1053 |
+
msgstr ""
|
1054 |
+
"Möjliggör eller möjliggör ej ”läs mer”-tag skydd hos inlägg och sidor. Allt "
|
1055 |
+
"efter ”Läs mer” tag är skyddat. Allt innan ”läs mer” är teaser."
|
1056 |
+
|
1057 |
+
#: classes/class.swpm-settings.php:61
|
1058 |
+
msgid "Hide Adminbar"
|
1059 |
+
msgstr "Göm Adminpanel"
|
1060 |
+
|
1061 |
+
#: classes/class.swpm-settings.php:62
|
1062 |
+
msgid ""
|
1063 |
+
"WordPress shows an admin toolbar to the logged in users of the site. Check "
|
1064 |
+
"this if you want to hide that admin toolbar in the frontend of your site."
|
1065 |
+
msgstr ""
|
1066 |
+
"Wordpress visar en Adminpanel för inloggade användare på sidan. Bocka av "
|
1067 |
+
"checkboxen om du vill gömma Adminpanelen på framsidan av din sida."
|
1068 |
+
|
1069 |
+
#: classes/class.swpm-settings.php:63
|
1070 |
+
msgid "Show Adminbar to Admin"
|
1071 |
+
msgstr "Visa adminpanel för administratörer"
|
1072 |
+
|
1073 |
+
#: classes/class.swpm-settings.php:64
|
1074 |
+
msgid ""
|
1075 |
+
"Use this option if you want to show the admin toolbar to admin users only. "
|
1076 |
+
"The admin toolbar will be hidden for all other users."
|
1077 |
+
msgstr ""
|
1078 |
+
"Använd detta alternativ om du vll visa adminpanel enbart för "
|
1079 |
+
"administratörer. Panelen döljs för andra användare."
|
1080 |
+
|
1081 |
+
#: classes/class.swpm-settings.php:65
|
1082 |
+
msgid "Disable Access to WP Dashboard"
|
1083 |
+
msgstr "Inaktivera åtkomst till WP-panelen"
|
1084 |
+
|
1085 |
+
#: classes/class.swpm-settings.php:66
|
1086 |
+
msgid ""
|
1087 |
+
"WordPress allows a standard wp user to be able to go to the wp-admin URL and "
|
1088 |
+
"access his profile from the wp dashbaord. Using this option will prevent any "
|
1089 |
+
"non admin users from going to the wp dashboard."
|
1090 |
+
msgstr ""
|
1091 |
+
"WordPress tillåter en standard WP-användare för att kunna gå till WP-admin "
|
1092 |
+
"webbadressen och hans profil från den WP-instrumentpanel. Med det här "
|
1093 |
+
"alternativet kommer att förhindra icke administratörsanvändare från att gå "
|
1094 |
+
"till WP-instrumentpanel."
|
1095 |
+
|
1096 |
+
#: classes/class.swpm-settings.php:68 classes/class.swpm-settings.php:242
|
1097 |
+
msgid "Default Account Status"
|
1098 |
+
msgstr "Standard kontostatus"
|
1099 |
+
|
1100 |
+
#: classes/class.swpm-settings.php:71
|
1101 |
+
msgid ""
|
1102 |
+
"Select the default account status for newly registered users. If you want to "
|
1103 |
+
"manually approve the members then you can set the status to \"Pending\"."
|
1104 |
+
msgstr ""
|
1105 |
+
"Välj standard kontostatus för de nyregistrerade användare. Om du vill "
|
1106 |
+
"godkänna medlemmarna manuellt så kan du sätta statusen till ”avvaktande”."
|
1107 |
+
|
1108 |
+
#: classes/class.swpm-settings.php:73
|
1109 |
+
msgid "Members Must be Logged in to Comment"
|
1110 |
+
msgstr "Medlem måste vara inloggad för att lägga till en kommentar"
|
1111 |
+
|
1112 |
+
#: classes/class.swpm-settings.php:74
|
1113 |
+
msgid ""
|
1114 |
+
"Enable this option if you only want the members of the site to be able to "
|
1115 |
+
"post a comment."
|
1116 |
+
msgstr ""
|
1117 |
+
"Aktivera det här alternativet om du bara vill medlemmarna i webbplatsen för "
|
1118 |
+
"att kunna skriva en kommentar."
|
1119 |
+
|
1120 |
+
#: classes/class.swpm-settings.php:83
|
1121 |
+
msgid "Pages Settings"
|
1122 |
+
msgstr "Sidinställningar"
|
1123 |
+
|
1124 |
+
#: classes/class.swpm-settings.php:84
|
1125 |
+
msgid "Login Page URL"
|
1126 |
+
msgstr "Inloggningssida URL"
|
1127 |
+
|
1128 |
+
#: classes/class.swpm-settings.php:86
|
1129 |
+
msgid "Registration Page URL"
|
1130 |
+
msgstr "Registreringssida URL"
|
1131 |
+
|
1132 |
+
#: classes/class.swpm-settings.php:88
|
1133 |
+
msgid "Join Us Page URL"
|
1134 |
+
msgstr "Bli medlemsida URL"
|
1135 |
+
|
1136 |
+
#: classes/class.swpm-settings.php:90
|
1137 |
+
msgid "Edit Profile Page URL"
|
1138 |
+
msgstr "Profilredigeringssida URL"
|
1139 |
+
|
1140 |
+
#: classes/class.swpm-settings.php:92
|
1141 |
+
msgid "Password Reset Page URL"
|
1142 |
+
msgstr "Sida för återställning av lösenord"
|
1143 |
+
|
1144 |
+
#: classes/class.swpm-settings.php:95
|
1145 |
+
msgid "Test & Debug Settings"
|
1146 |
+
msgstr "Inställningar för test och felsökning"
|
1147 |
+
|
1148 |
+
#: classes/class.swpm-settings.php:97
|
1149 |
+
msgid "Check this option to enable debug logging."
|
1150 |
+
msgstr "Markera detta alternativ för att aktivera felsökningsloggning."
|
1151 |
+
|
1152 |
+
#: classes/class.swpm-settings.php:98
|
1153 |
+
msgid ""
|
1154 |
+
" This can be useful when troubleshooting an issue. Turn it off and reset the "
|
1155 |
+
"log files after the troubleshooting is complete."
|
1156 |
+
msgstr ""
|
1157 |
+
" Detta kan vara användbart vid felsökning av ett problem. Stäng av den och "
|
1158 |
+
"återställ loggfilerna när felsökningen är klar."
|
1159 |
+
|
1160 |
+
#: classes/class.swpm-settings.php:100
|
1161 |
+
msgid "View general debug log file by clicking "
|
1162 |
+
msgstr "Visa allmän felsökningslogg genom att klicka "
|
1163 |
+
|
1164 |
+
#: classes/class.swpm-settings.php:100 classes/class.swpm-settings.php:101
|
1165 |
+
#: classes/class.swpm-settings.php:102
|
1166 |
+
msgid "here"
|
1167 |
+
msgstr "här"
|
1168 |
+
|
1169 |
+
#: classes/class.swpm-settings.php:101
|
1170 |
+
msgid "View login related debug log file by clicking "
|
1171 |
+
msgstr "Visa inloggningsrelaterad felsökningslogg genom att klicka "
|
1172 |
+
|
1173 |
+
#: classes/class.swpm-settings.php:102
|
1174 |
+
msgid "Reset debug log files by clicking "
|
1175 |
+
msgstr "Återställ felsökningslogg genom att klicka "
|
1176 |
+
|
1177 |
+
#: classes/class.swpm-settings.php:103
|
1178 |
+
msgid "Enable Debug"
|
1179 |
+
msgstr "Aktivera felsökning"
|
1180 |
+
|
1181 |
+
#: classes/class.swpm-settings.php:105
|
1182 |
+
msgid "Enable Sandbox Testing"
|
1183 |
+
msgstr "Möjliggör Sandbox-test"
|
1184 |
+
|
1185 |
+
#: classes/class.swpm-settings.php:106
|
1186 |
+
msgid "Enable this option if you want to do sandbox payment testing."
|
1187 |
+
msgstr "Möjliggör detta om du vill ha sandbox betalningstest."
|
1188 |
+
|
1189 |
+
#: classes/class.swpm-settings.php:119
|
1190 |
+
msgid "Email Settings Overview"
|
1191 |
+
msgstr "Översikt av e-postinställningar"
|
1192 |
+
|
1193 |
+
#: classes/class.swpm-settings.php:120
|
1194 |
+
msgid "Email Misc. Settings"
|
1195 |
+
msgstr "Inställningar för e-post"
|
1196 |
+
|
1197 |
+
#: classes/class.swpm-settings.php:122
|
1198 |
+
msgid "From Email Address"
|
1199 |
+
msgstr "Från e-postadress"
|
1200 |
+
|
1201 |
+
#: classes/class.swpm-settings.php:126
|
1202 |
+
msgid "Email Settings (Prompt to Complete Registration )"
|
1203 |
+
msgstr "Inställningar för e-post (uppmaning att slutföra registreringen)"
|
1204 |
+
|
1205 |
+
#: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:140
|
1206 |
+
#: classes/class.swpm-settings.php:158 classes/class.swpm-settings.php:163
|
1207 |
+
#: classes/class.swpm-settings.php:168 classes/class.swpm-settings.php:173
|
1208 |
+
msgid "Email Subject"
|
1209 |
+
msgstr "E-postsämne"
|
1210 |
+
|
1211 |
+
#: classes/class.swpm-settings.php:129 classes/class.swpm-settings.php:142
|
1212 |
+
#: classes/class.swpm-settings.php:159 classes/class.swpm-settings.php:164
|
1213 |
+
#: classes/class.swpm-settings.php:169 classes/class.swpm-settings.php:174
|
1214 |
+
msgid "Email Body"
|
1215 |
+
msgstr "E-postmeddelande"
|
1216 |
+
|
1217 |
+
#: classes/class.swpm-settings.php:133
|
1218 |
+
msgid ""
|
1219 |
+
"Enter the email address where you want the admin notification email to be "
|
1220 |
+
"sent to."
|
1221 |
+
msgstr "Ange den e-postadress dit admin-e-postmeddelanden ska skickas."
|
1222 |
+
|
1223 |
+
#: classes/class.swpm-settings.php:134
|
1224 |
+
msgid ""
|
1225 |
+
" You can put multiple email addresses separated by comma (,) in the above "
|
1226 |
+
"field to send the notification to multiple email addresses."
|
1227 |
+
msgstr ""
|
1228 |
+
" Du kan skriva flera adresser separerade med ett komma (,) i fältet ovan för "
|
1229 |
+
"att skicka till flera adresser."
|
1230 |
+
|
1231 |
+
#: classes/class.swpm-settings.php:136
|
1232 |
+
msgid "Enter the subject for the admin notification email."
|
1233 |
+
msgstr "Ange ämne för e-postmeddelande till Admin."
|
1234 |
+
|
1235 |
+
#: classes/class.swpm-settings.php:137
|
1236 |
+
msgid ""
|
1237 |
+
"This email will be sent to the admin when a new user completes the "
|
1238 |
+
"membership registration. Only works if you have enabled the \"Send "
|
1239 |
+
"Notification to Admin\" option above."
|
1240 |
+
msgstr ""
|
1241 |
+
"Detta mail skickas till Admin när en ny användare slutför registrering. "
|
1242 |
+
"Fungerar bara om du har aktiverat alternativet ”skickar anmälan till Admin” "
|
1243 |
+
"ovan."
|
1244 |
+
|
1245 |
+
#: classes/class.swpm-settings.php:139
|
1246 |
+
msgid "Email Settings (Registration Complete)"
|
1247 |
+
msgstr "Inställningar för e-post (lyckad registrering)"
|
1248 |
+
|
1249 |
+
#: classes/class.swpm-settings.php:144
|
1250 |
+
msgid "Send Notification to Admin"
|
1251 |
+
msgstr "Skicka notifiering till Admin"
|
1252 |
+
|
1253 |
+
#: classes/class.swpm-settings.php:145
|
1254 |
+
msgid ""
|
1255 |
+
"Enable this option if you want the admin to receive a notification when a "
|
1256 |
+
"member registers."
|
1257 |
+
msgstr ""
|
1258 |
+
"Aktivera det här alternativet om du att Admin får ett meddelande när en ny "
|
1259 |
+
"medlem registrerar."
|
1260 |
+
|
1261 |
+
#: classes/class.swpm-settings.php:146
|
1262 |
+
msgid "Admin Email Address"
|
1263 |
+
msgstr "E-postadress till administratören"
|
1264 |
+
|
1265 |
+
#: classes/class.swpm-settings.php:148
|
1266 |
+
msgid "Admin Notification Email Subject"
|
1267 |
+
msgstr "Ämne för meddelande till Admin"
|
1268 |
+
|
1269 |
+
#: classes/class.swpm-settings.php:150
|
1270 |
+
msgid "Admin Notification Email Body"
|
1271 |
+
msgstr "Meddelande till Admin"
|
1272 |
+
|
1273 |
+
#: classes/class.swpm-settings.php:153
|
1274 |
+
msgid "Send Email to Member When Added via Admin Dashboard"
|
1275 |
+
msgstr "Skicka e-post till medlem när den läggs till via Admin Dashboard"
|
1276 |
+
|
1277 |
+
#: classes/class.swpm-settings.php:157
|
1278 |
+
msgid "Email Settings (Password Reset)"
|
1279 |
+
msgstr "E-postinställningar (Återställ lösenord)"
|
1280 |
+
|
1281 |
+
#: classes/class.swpm-settings.php:162
|
1282 |
+
msgid " Email Settings (Account Upgrade Notification)"
|
1283 |
+
msgstr " E-postinställningar (Meddelande om kontouppgradering)"
|
1284 |
+
|
1285 |
+
#: classes/class.swpm-settings.php:167
|
1286 |
+
msgid " Email Settings (Bulk Account Activate Notification)"
|
1287 |
+
msgstr " E-postinställningar (Masskonto Aktivering )"
|
1288 |
+
|
1289 |
+
#: classes/class.swpm-settings.php:172
|
1290 |
+
msgid " Email Settings (Email Activation)"
|
1291 |
+
msgstr " E-postinställningar (E-postaktivering)"
|
1292 |
+
|
1293 |
+
#: classes/class.swpm-settings.php:189
|
1294 |
+
msgid "Enable Expired Account Login"
|
1295 |
+
msgstr "Aktivera inloggning för utgånget konto"
|
1296 |
+
|
1297 |
+
#: classes/class.swpm-settings.php:190
|
1298 |
+
msgid ""
|
1299 |
+
"When enabled, expired members will be able to log into the system but won't "
|
1300 |
+
"be able to view any protected content. This allows them to easily renew "
|
1301 |
+
"their account by making another payment."
|
1302 |
+
msgstr ""
|
1303 |
+
"När det är aktiverat, kommer medlemmar vars medlemsskap har gått ut, kunna "
|
1304 |
+
"logga in i systemet men kan inte se något skyddat innehåll. Detta gör att de "
|
1305 |
+
"enkelt kan förnya sitt konto genom att göra en ny betalning."
|
1306 |
+
|
1307 |
+
#: classes/class.swpm-settings.php:192
|
1308 |
+
msgid "Membership Renewal URL"
|
1309 |
+
msgstr "URL för förnyelse av medlemskap"
|
1310 |
+
|
1311 |
+
#: classes/class.swpm-settings.php:193
|
1312 |
+
msgid ""
|
1313 |
+
"You can create a renewal page for your site. Read <a href=\"https://simple-"
|
1314 |
+
"membership-plugin.com/creating-membership-renewal-button/\" target=\"_blank"
|
1315 |
+
"\">this documentation</a> to learn how to create a renewal page."
|
1316 |
+
msgstr ""
|
1317 |
+
"Du kan skapa en förnyelse sida för din webbplats. Läs <a href=”https://"
|
1318 |
+
"simple-membership-plugin.com/creating-membership-renewal-button/” "
|
1319 |
+
"target=”_blank”>denna dokumentation</a> om hur du skapar en förnyelse sida."
|
1320 |
+
|
1321 |
+
#: classes/class.swpm-settings.php:195
|
1322 |
+
msgid "After Registration Redirect URL"
|
1323 |
+
msgstr "Efter-registreringssida URL"
|
1324 |
+
|
1325 |
+
#: classes/class.swpm-settings.php:196
|
1326 |
+
msgid ""
|
1327 |
+
"You can enter an URL here to redirect the members to this page after they "
|
1328 |
+
"submit the registration form. Read <a href=\"https://simple-membership-"
|
1329 |
+
"plugin.com/configure-after-registration-redirect-for-members/\" target="
|
1330 |
+
"\"_blank\">this documentation</a> to learn how to setup after registration "
|
1331 |
+
"redirect."
|
1332 |
+
msgstr ""
|
1333 |
+
"Du kan ange en webbadress här för att omdirigera medlemmarna till den här "
|
1334 |
+
"sidan efter att de har skickat in registreringsformuläret. Läs <a "
|
1335 |
+
"href=”https://simple-membership-plugin.com/configure-registration-redirect-"
|
1336 |
+
"members/” target=”_blank”> den här dokumentationen </a> för att lära dig hur "
|
1337 |
+
"du konfigurerar efter registrering omdirigering."
|
1338 |
+
|
1339 |
+
#: classes/class.swpm-settings.php:198
|
1340 |
+
msgid "Enable Auto Login After Registration"
|
1341 |
+
msgstr "Aktivera automatisk inloggning efter registrering"
|
1342 |
+
|
1343 |
+
#: classes/class.swpm-settings.php:199
|
1344 |
+
msgid ""
|
1345 |
+
"Use this option if you want the members to be automatically logged into your "
|
1346 |
+
"site right after they complete the registration. This option will override "
|
1347 |
+
"any after registration redirection and instead it will trigger the after "
|
1348 |
+
"login redirection. Read <a href=\"https://simple-membership-plugin.com/"
|
1349 |
+
"configure-auto-login-after-registration-members/\" target=\"_blank\">this "
|
1350 |
+
"documentation</a> to learn more."
|
1351 |
+
msgstr ""
|
1352 |
+
"Använd det här alternativet om du vill att medlemmarna ska loggas in "
|
1353 |
+
"automatiskt på din webbplats direkt efter att de har slutfört "
|
1354 |
+
"registreringen. Det här alternativet åsidosätter någon efter omdirigering av "
|
1355 |
+
"registreringen och istället kommer den att aktivera omdirigering efter "
|
1356 |
+
"inloggning. Läs <a href=”https://simple-membership-plugin.com/configure-auto-"
|
1357 |
+
"login-after-registration-members/” target=”_blank”>denna dokumentation</a> "
|
1358 |
+
"för mer information."
|
1359 |
+
|
1360 |
+
#: classes/class.swpm-settings.php:201
|
1361 |
+
msgid "After Logout Redirect URL"
|
1362 |
+
msgstr "URL omdirigering efter utloggning"
|
1363 |
+
|
1364 |
+
#: classes/class.swpm-settings.php:202
|
1365 |
+
msgid ""
|
1366 |
+
"You can enter an URL here to redirect the members to this page after they "
|
1367 |
+
"click the logout link to logout from your site."
|
1368 |
+
msgstr ""
|
1369 |
+
"Du kan ange en URL här för att omdirigera medlemmarna till den här sidan "
|
1370 |
+
"efter att de klickar på utloggningslänken för att logga ut från din "
|
1371 |
+
"webbplats."
|
1372 |
+
|
1373 |
+
#: classes/class.swpm-settings.php:204
|
1374 |
+
msgid "Logout Member on Browser Close"
|
1375 |
+
msgstr "Logga ut medlem när webbläsaren stängs"
|
1376 |
+
|
1377 |
+
#: classes/class.swpm-settings.php:205
|
1378 |
+
msgid ""
|
1379 |
+
"Enable this option if you want the member to be logged out of the account "
|
1380 |
+
"when he closes the browser."
|
1381 |
+
msgstr ""
|
1382 |
+
"Aktivera det här alternativet om du vill att medlemmen ska loggas ut från "
|
1383 |
+
"kontot när hen stänger webbläsaren."
|
1384 |
+
|
1385 |
+
#: classes/class.swpm-settings.php:207
|
1386 |
+
msgid "Allow Account Deletion"
|
1387 |
+
msgstr "Tillåt radering av konto"
|
1388 |
+
|
1389 |
+
#: classes/class.swpm-settings.php:208
|
1390 |
+
msgid "Allow users to delete their accounts."
|
1391 |
+
msgstr "Tillåt användare att radera sina konton."
|
1392 |
+
|
1393 |
+
#: classes/class.swpm-settings.php:210
|
1394 |
+
msgid "Force Strong Password for Members"
|
1395 |
+
msgstr "Tvinga WP användarsynkronisering"
|
1396 |
+
|
1397 |
+
#: classes/class.swpm-settings.php:211
|
1398 |
+
msgid ""
|
1399 |
+
"Enable this if you want the users to be forced to use a strong password for "
|
1400 |
+
"their accounts."
|
1401 |
+
msgstr ""
|
1402 |
+
"Aktivera detta om du vill att användarna ska tvingas använda ett starkt "
|
1403 |
+
"lösenord för sina konton."
|
1404 |
+
|
1405 |
+
#: classes/class.swpm-settings.php:213
|
1406 |
+
msgid "Use WordPress Timezone"
|
1407 |
+
msgstr "Använd WordPress tidszoner"
|
1408 |
+
|
1409 |
+
#: classes/class.swpm-settings.php:214
|
1410 |
+
msgid ""
|
1411 |
+
"Use this option if you want to use the timezone value specified in your "
|
1412 |
+
"WordPress General Settings interface."
|
1413 |
+
msgstr ""
|
1414 |
+
"Aktivera för att använda WordPress tidszoner specificerat under WordPress "
|
1415 |
+
"Allmänna inställningar."
|
1416 |
+
|
1417 |
+
#: classes/class.swpm-settings.php:216
|
1418 |
+
msgid "Auto Delete Pending Account"
|
1419 |
+
msgstr "Automatisk borttagning av väntande konton"
|
1420 |
+
|
1421 |
+
#: classes/class.swpm-settings.php:219
|
1422 |
+
msgid "Select how long you want to keep \"pending\" account."
|
1423 |
+
msgstr "Välj hur länge du vill behålla ”väntande” konton."
|
1424 |
+
|
1425 |
+
#: classes/class.swpm-settings.php:221
|
1426 |
+
msgid "Admin Dashboard Access Permission"
|
1427 |
+
msgstr "Adminpanel åtkomstbehörighet"
|
1428 |
+
|
1429 |
+
#: classes/class.swpm-settings.php:224
|
1430 |
+
msgid ""
|
1431 |
+
"SWPM admin dashboard is accessible to admin users only (just like any other "
|
1432 |
+
"plugin). You can allow users with other WP user role to access the SWPM "
|
1433 |
+
"admin dashboard by selecting a value here. Note that this option cannot work "
|
1434 |
+
"if you enabled the \"Disable Access to WP Dashboard\" option in General "
|
1435 |
+
"Settings."
|
1436 |
+
msgstr ""
|
1437 |
+
"SWPM adminpanel är bara tillgänglig för administratörer (precis som för "
|
1438 |
+
"andra tillägg). Du kan tillåta användare med andra WP-roller att få tillgång "
|
1439 |
+
"till SWPM adminpanel genom att välja ett värde här."
|
1440 |
+
|
1441 |
+
#: classes/class.swpm-settings.php:226
|
1442 |
+
msgid "Force WP User Synchronization"
|
1443 |
+
msgstr "Tvinga WP-användarsynkronisering"
|
1444 |
+
|
1445 |
+
#: classes/class.swpm-settings.php:227
|
1446 |
+
msgid ""
|
1447 |
+
"Enable this option if you want to force the member login to be synchronized "
|
1448 |
+
"with WP user account. This can be useful if you are using another plugin "
|
1449 |
+
"that uses WP user records. For example: bbPress plugin."
|
1450 |
+
msgstr ""
|
1451 |
+
"Aktivera detta alternativ för att tving synkronisering med WP-användare. "
|
1452 |
+
"Användbart om ni använder andra tilägg som använder WP-användare. Ex bbPress."
|
1453 |
+
|
1454 |
+
#: classes/class.swpm-settings.php:230
|
1455 |
+
msgid "Create Member Accounts for New WP Users"
|
1456 |
+
msgstr "Skapa medlemskonton för nya WP-användare"
|
1457 |
+
|
1458 |
+
#: classes/class.swpm-settings.php:232
|
1459 |
+
msgid "Enable Auto Create Member Accounts"
|
1460 |
+
msgstr "Aktivera att skapa medlemskonton automatiskt"
|
1461 |
+
|
1462 |
+
#: classes/class.swpm-settings.php:233
|
1463 |
+
msgid ""
|
1464 |
+
"Enable this option to automatically create member accounts for any new WP "
|
1465 |
+
"user that is created by another plugin."
|
1466 |
+
msgstr ""
|
1467 |
+
"Aktivera det här alternativet för att automatiskt skapa medlemskonton för "
|
1468 |
+
"alla nya WP-användare som skapas av ett annat plugin."
|
1469 |
+
|
1470 |
+
#: classes/class.swpm-settings.php:236
|
1471 |
+
msgid "Default Membership Level"
|
1472 |
+
msgstr "Standard medlemsnivå"
|
1473 |
+
|
1474 |
+
#: classes/class.swpm-settings.php:239
|
1475 |
+
msgid ""
|
1476 |
+
"When automatically creating a member account using this feature, the "
|
1477 |
+
"membership level of the user will be set to the one you specify here."
|
1478 |
+
msgstr ""
|
1479 |
+
"När du skapar ett medlemskonto automatiskt med den här funktionen kommer "
|
1480 |
+
"användarnas medlemsnivå att ställas in till den du anger här."
|
1481 |
+
|
1482 |
+
#: classes/class.swpm-settings.php:245
|
1483 |
+
msgid ""
|
1484 |
+
"When automatically creating a member account using this feature, the "
|
1485 |
+
"membership account status of the user will be set to the one you specify "
|
1486 |
+
"here."
|
1487 |
+
msgstr ""
|
1488 |
+
"När du automatiskt skapar ett medlemskonto med den här funktionen kommer "
|
1489 |
+
"användarens medlemskontos status att ställas in till den du anger här."
|
1490 |
+
|
1491 |
+
#: classes/class.swpm-settings.php:247
|
1492 |
+
msgid "Payment Notification Forward URL"
|
1493 |
+
msgstr "Vidarebefordran av betalningsmeddelande"
|
1494 |
+
|
1495 |
+
#: classes/class.swpm-settings.php:248
|
1496 |
+
msgid ""
|
1497 |
+
"You can enter an URL here to forward the payment notification after the "
|
1498 |
+
"membership payment has been processed by this plugin. Useful if you want to "
|
1499 |
+
"forward the payment notification to an external script for further "
|
1500 |
+
"processing."
|
1501 |
+
msgstr ""
|
1502 |
+
"Du kan ange en URL här för att vidarebefordra betalningsmeddelandet efter "
|
1503 |
+
"att medlemsbetalningen har behandlats med detta plugin. Användbar om du vill "
|
1504 |
+
"vidarebefordra betalningsmeddelandet till ett externt skript för vidare "
|
1505 |
+
"bearbetning."
|
1506 |
+
|
1507 |
+
#: classes/class.swpm-settings.php:251 views/add.php:65
|
1508 |
+
msgid "Terms and Conditions"
|
1509 |
+
msgstr "Villkor"
|
1510 |
+
|
1511 |
+
#: classes/class.swpm-settings.php:253
|
1512 |
+
msgid "Enable Terms and Conditions"
|
1513 |
+
msgstr "Aktivera Villkor"
|
1514 |
+
|
1515 |
+
#: classes/class.swpm-settings.php:254
|
1516 |
+
msgid "Users must accept the terms before they can complete the registration."
|
1517 |
+
msgstr ""
|
1518 |
+
"Användare måste acceptera villkoren innan de kan slutföra registreringen."
|
1519 |
+
|
1520 |
+
#: classes/class.swpm-settings.php:255
|
1521 |
+
msgid "Terms and Conditions Page URL"
|
1522 |
+
msgstr "URL till sidan med villkor"
|
1523 |
+
|
1524 |
+
#: classes/class.swpm-settings.php:256
|
1525 |
+
msgid ""
|
1526 |
+
"Enter the URL of your terms and conditions page. You can create a WordPress "
|
1527 |
+
"page and specify your terms in there then specify the URL of that page in "
|
1528 |
+
"the above field."
|
1529 |
+
msgstr ""
|
1530 |
+
"Ange webbadressen till sidan med villkor. Du kan skapa en WordPress-sida och "
|
1531 |
+
"ange dina villkor där och sedan ange webbadressen för den sidan i fältet "
|
1532 |
+
"ovan."
|
1533 |
+
|
1534 |
+
#: classes/class.swpm-settings.php:257
|
1535 |
+
msgid "Enable Privacy Policy"
|
1536 |
+
msgstr "Aktivera Integritetspolicy"
|
1537 |
+
|
1538 |
+
#: classes/class.swpm-settings.php:258
|
1539 |
+
msgid "Users must accept it before they can complete the registration."
|
1540 |
+
msgstr "Användare måste acceptera det innan de kan slutföra registreringen."
|
1541 |
+
|
1542 |
+
#: classes/class.swpm-settings.php:259
|
1543 |
+
msgid "Privacy Policy Page URL"
|
1544 |
+
msgstr "URL för Integritetspolicy"
|
1545 |
+
|
1546 |
+
#: classes/class.swpm-settings.php:260
|
1547 |
+
msgid "Enter the URL of your privacy policy page."
|
1548 |
+
msgstr "Ange webbadressen till din Integritetspolicy."
|
1549 |
+
|
1550 |
+
#: classes/class.swpm-settings.php:350 classes/class.swpm-settings.php:396
|
1551 |
+
#: classes/class.swpm-settings.php:425
|
1552 |
+
msgid "Settings updated!"
|
1553 |
+
msgstr "Inställningarna uppdaterade!"
|
1554 |
+
|
1555 |
+
#: classes/class.swpm-settings.php:355
|
1556 |
+
msgid "General Plugin Settings."
|
1557 |
+
msgstr "Allmänna inställningar för detta plugin."
|
1558 |
+
|
1559 |
+
#: classes/class.swpm-settings.php:359
|
1560 |
+
msgid "Page Setup and URL Related settings."
|
1561 |
+
msgstr "Sidinställningar och URL-relaterade inställningar."
|
1562 |
+
|
1563 |
+
#: classes/class.swpm-settings.php:362
|
1564 |
+
msgid ""
|
1565 |
+
"The following pages are required for the plugin to function correctly. These "
|
1566 |
+
"pages were automatically created by the plugin at install time."
|
1567 |
+
msgstr ""
|
1568 |
+
"Följande sidor behövs för att SWMP-tillägget ska fungera korrekt. Dessa "
|
1569 |
+
"skapades automatiskt när tillägget installerades."
|
1570 |
+
|
1571 |
+
#: classes/class.swpm-settings.php:367
|
1572 |
+
msgid "Testing and Debug Related Settings."
|
1573 |
+
msgstr "Inställningar för test och felsökning."
|
1574 |
+
|
1575 |
+
#: classes/class.swpm-settings.php:371
|
1576 |
+
msgid ""
|
1577 |
+
"This email will be sent to your users when they complete the registration "
|
1578 |
+
"and become a member."
|
1579 |
+
msgstr ""
|
1580 |
+
"Detta e-post skickas till användaren när de registrerat sig och blivit "
|
1581 |
+
"medlem."
|
1582 |
+
|
1583 |
+
#: classes/class.swpm-settings.php:375
|
1584 |
+
msgid ""
|
1585 |
+
"This email will be sent to your users when they use the password reset "
|
1586 |
+
"functionality."
|
1587 |
+
msgstr ""
|
1588 |
+
"Detta e-post skickas till användaren när de använder funktionen Återställa "
|
1589 |
+
"lösenordet."
|
1590 |
+
|
1591 |
+
#: classes/class.swpm-settings.php:381
|
1592 |
+
msgid ""
|
1593 |
+
"This interface lets you custsomize the various emails that gets sent to your "
|
1594 |
+
"members for various actions. The default settings should be good to get your "
|
1595 |
+
"started."
|
1596 |
+
msgstr ""
|
1597 |
+
"Dessa inställningar låter dig anpassa e-postmeddelandena som skickas till "
|
1598 |
+
"medlemmarna. Standardinställningarna funkar för att komma igång."
|
1599 |
+
|
1600 |
+
#: classes/class.swpm-settings.php:385 views/admin_tools_settings.php:82
|
1601 |
+
msgid "This documentation"
|
1602 |
+
msgstr "Denna dokumentation"
|
1603 |
+
|
1604 |
+
#: classes/class.swpm-settings.php:386
|
1605 |
+
msgid ""
|
1606 |
+
" explains what email merge tags you can use in the email body field to "
|
1607 |
+
"customize it (if you want to)."
|
1608 |
+
msgstr ""
|
1609 |
+
" förklarar vilka ’email merge tags’ du kan använda i fältet för e-postadress "
|
1610 |
+
"för att anpassa den (om du vill)."
|
1611 |
+
|
1612 |
+
#: classes/class.swpm-settings.php:399
|
1613 |
+
msgid "Settings in this section apply to all emails."
|
1614 |
+
msgstr "Dessa inställningar gäller för all e-post."
|
1615 |
+
|
1616 |
+
#: classes/class.swpm-settings.php:403
|
1617 |
+
msgid ""
|
1618 |
+
"This email will be sent to your users after account upgrade (when an "
|
1619 |
+
"existing member pays for a new membership level)."
|
1620 |
+
msgstr ""
|
1621 |
+
"Detta e-post skickas till användaren när de uppgraderat sitt konto "
|
1622 |
+
"(existerande medlem har betalat för en högre nivå)"
|
1623 |
+
|
1624 |
+
#: classes/class.swpm-settings.php:407
|
1625 |
+
msgid ""
|
1626 |
+
"This email will be sent to your members when you use the bulk account "
|
1627 |
+
"activate and notify action."
|
1628 |
+
msgstr ""
|
1629 |
+
"Detta mail kommer att skickas till dina medlemmar när du använder masskonto-"
|
1630 |
+
"aktivera och notifiera-åtgärder."
|
1631 |
+
|
1632 |
+
#: classes/class.swpm-settings.php:408
|
1633 |
+
msgid ""
|
1634 |
+
" You cannot use email merge tags in this email. You can only use generic "
|
1635 |
+
"text."
|
1636 |
+
msgstr ""
|
1637 |
+
" Du kan inte använda e-postmergetaggar i detta e-mail. Du kan endast använda "
|
1638 |
+
"generiska text."
|
1639 |
+
|
1640 |
+
#: classes/class.swpm-settings.php:413
|
1641 |
+
msgid ""
|
1642 |
+
"This email will be sent if Email Activation is enabled for a Membership "
|
1643 |
+
"Level."
|
1644 |
+
msgstr ""
|
1645 |
+
"Det här e-postmeddelandet kommer att skickas om e-postaktivering är "
|
1646 |
+
"aktiverad för en medlemsnivå."
|
1647 |
+
|
1648 |
+
#: classes/class.swpm-settings.php:417
|
1649 |
+
msgid ""
|
1650 |
+
"This email will be sent to prompt users to complete registration after the "
|
1651 |
+
"payment."
|
1652 |
+
msgstr ""
|
1653 |
+
"Denna e-post kommer att skickas för att uppmana användarna att slutföra "
|
1654 |
+
"registreringen efter betalning."
|
1655 |
+
|
1656 |
+
#: classes/class.swpm-settings.php:428
|
1657 |
+
msgid "This page allows you to configure some advanced features of the plugin."
|
1658 |
+
msgstr ""
|
1659 |
+
"På den här sidan kan du konfigurera några avancerade funktioner i tillägget."
|
1660 |
+
|
1661 |
+
#: classes/class.swpm-settings.php:432
|
1662 |
+
msgid ""
|
1663 |
+
"This section allows you to configure automatic creation of member accounts "
|
1664 |
+
"when new WP User records are created by another plugin. It can be useful if "
|
1665 |
+
"you are using another plugin that creates WP user records and you want them "
|
1666 |
+
"to be recognized in the membership plugin."
|
1667 |
+
msgstr ""
|
1668 |
+
"I det här avsnittet kan du konfigurera att automatiskt skapa medlemskonton "
|
1669 |
+
"när nya WP-användarposter skapas av ett annat plugin. Det kan vara "
|
1670 |
+
"användbart om du använder ett annat plugin som skapar WP-användarposter och "
|
1671 |
+
"du vill att de ska kännas igen i Membership plugin."
|
1672 |
+
|
1673 |
+
#: classes/class.swpm-settings.php:436
|
1674 |
+
msgid ""
|
1675 |
+
"This section allows you to configure terms and conditions and privacy policy "
|
1676 |
+
"that users must accept at registration time."
|
1677 |
+
msgstr ""
|
1678 |
+
"I det här avsnittet kan du konfigurera villkor och Integritetspolicy som "
|
1679 |
+
"användare måste acceptera vid registreringstidpunkten."
|
1680 |
+
|
1681 |
+
#: classes/class.swpm-settings.php:565
|
1682 |
+
msgid "Simple WP Membership::Settings"
|
1683 |
+
msgstr "Simple WP Membership::Inställningar"
|
1684 |
+
|
1685 |
+
#: classes/class.swpm-utils-member.php:36
|
1686 |
+
#: classes/class.swpm-utils-member.php:44
|
1687 |
+
#: classes/class.swpm-utils-member.php:52
|
1688 |
+
#: classes/class.swpm-utils-member.php:62
|
1689 |
+
msgid "User is not logged in."
|
1690 |
+
msgstr "Användaren är inte inloggad."
|
1691 |
+
|
1692 |
+
#: classes/class.swpm-utils-member.php:80
|
1693 |
+
msgid "No Expiry"
|
1694 |
+
msgstr "Inget utgångsdatum"
|
1695 |
+
|
1696 |
+
#: classes/class.swpm-utils-misc.php:50
|
1697 |
+
msgid "Registration"
|
1698 |
+
msgstr "Registrering"
|
1699 |
+
|
1700 |
+
#: classes/class.swpm-utils-misc.php:73
|
1701 |
+
msgid "Member Login"
|
1702 |
+
msgstr "Login för medlem"
|
1703 |
+
|
1704 |
+
#: classes/class.swpm-utils-misc.php:96
|
1705 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:117
|
1706 |
+
msgid "Profile"
|
1707 |
+
msgstr "Profil"
|
1708 |
+
|
1709 |
+
#: classes/class.swpm-utils-misc.php:119
|
1710 |
+
msgid "Password Reset"
|
1711 |
+
msgstr "Återställ lösenordet"
|
1712 |
+
|
1713 |
+
#: classes/class.swpm-utils-misc.php:168
|
1714 |
+
#, php-format
|
1715 |
+
msgid ""
|
1716 |
+
"You will be automatically redirected in a few seconds. If not, please %s."
|
1717 |
+
msgstr "Du omdirigeras automatiskt om några sekunder. Om inte, vänligen %s."
|
1718 |
+
|
1719 |
+
#: classes/class.swpm-utils-misc.php:172
|
1720 |
+
msgid "Action Status"
|
1721 |
+
msgstr "Åtgärdsstatus"
|
1722 |
+
|
1723 |
+
#: classes/class.swpm-utils-misc.php:274
|
1724 |
+
msgid "Not a Member?"
|
1725 |
+
msgstr "Inte medlem?"
|
1726 |
+
|
1727 |
+
#: classes/class.swpm-utils-misc.php:285
|
1728 |
+
msgid "renew"
|
1729 |
+
msgstr "förnya"
|
1730 |
+
|
1731 |
+
#: classes/class.swpm-utils-misc.php:285
|
1732 |
+
msgid " your account to gain access to this content."
|
1733 |
+
msgstr " ditt konto för att få tillgång till detta innehåll."
|
1734 |
+
|
1735 |
+
#: classes/class.swpm-utils-misc.php:343 classes/class.swpm-utils-misc.php:349
|
1736 |
+
msgid "Error! This action ("
|
1737 |
+
msgstr "Fel! Denna åtgärd ("
|
1738 |
+
|
1739 |
+
#: classes/class.swpm-utils-misc.php:421
|
1740 |
+
msgid "(Please Select)"
|
1741 |
+
msgstr "(Vänligen välj)"
|
1742 |
+
|
1743 |
+
#: classes/class.swpm-utils-template.php:38
|
1744 |
+
msgid "Error! Failed to find a template path for the specified template: "
|
1745 |
+
msgstr "Fel! Misslyckades med att hitta en mallsökväg för den angivna mallen: "
|
1746 |
+
|
1747 |
+
#: classes/class.swpm-utils.php:101
|
1748 |
+
msgid "Never"
|
1749 |
+
msgstr "Aldrig"
|
1750 |
+
|
1751 |
+
#: classes/class.swpm-utils.php:116 views/admin_members_list.php:19
|
1752 |
+
msgid "Active"
|
1753 |
+
msgstr "Aktiv"
|
1754 |
+
|
1755 |
+
#: classes/class.swpm-utils.php:117 views/admin_members_list.php:20
|
1756 |
+
msgid "Inactive"
|
1757 |
+
msgstr "Inaktiv"
|
1758 |
+
|
1759 |
+
#: classes/class.swpm-utils.php:118 views/admin_members_list.php:21
|
1760 |
+
msgid "Activation Required"
|
1761 |
+
msgstr "Aktivering krävs"
|
1762 |
+
|
1763 |
+
#: classes/class.swpm-utils.php:119
|
1764 |
+
msgid "Male"
|
1765 |
+
msgstr "Man"
|
1766 |
+
|
1767 |
+
#: classes/class.swpm-utils.php:120
|
1768 |
+
msgid "Female"
|
1769 |
+
msgstr "Kvinna"
|
1770 |
+
|
1771 |
+
#: classes/class.swpm-utils.php:121
|
1772 |
+
msgid "Not Specified"
|
1773 |
+
msgstr "Ej angivet"
|
1774 |
+
|
1775 |
+
#: classes/class.swpm-utils.php:119 views/admin_members_list.php:22
|
1776 |
+
msgid "Pending"
|
1777 |
+
msgstr "Avvaktande"
|
1778 |
+
|
1779 |
+
#: classes/class.swpm-utils.php:120 views/admin_members_list.php:24
|
1780 |
+
msgid "Expired"
|
1781 |
+
msgstr "Utgånget"
|
1782 |
+
|
1783 |
+
#: classes/class.swpm-utils.php:414 views/account_delete_warning.php:3
|
1784 |
+
msgid "Delete Account"
|
1785 |
+
msgstr "Radera konto"
|
1786 |
+
|
1787 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:75
|
1788 |
+
msgid "Payment Button ID"
|
1789 |
+
msgstr "Betalknapp ID"
|
1790 |
+
|
1791 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:76
|
1792 |
+
msgid "Payment Button Title"
|
1793 |
+
msgstr "Betalknapp Titel"
|
1794 |
+
|
1795 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:77
|
1796 |
+
msgid "Membership Level ID"
|
1797 |
+
msgstr "Medlemskapsnivå ID"
|
1798 |
+
|
1799 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:78
|
1800 |
+
msgid "Button Type"
|
1801 |
+
msgstr "Knapptyp"
|
1802 |
+
|
1803 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:79
|
1804 |
+
msgid "Button Shortcode"
|
1805 |
+
msgstr "Shortcode för knappar"
|
1806 |
+
|
1807 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:127
|
1808 |
+
#: views/admin_members_list.php:9
|
1809 |
+
#: views/payments/admin_all_payment_transactions.php:32
|
1810 |
+
msgid "The selected entry was deleted!"
|
1811 |
+
msgstr "Den valda posten togs bort!"
|
1812 |
+
|
1813 |
+
#: classes/admin-includes/class.swpm-payments-admin-menu.php:21
|
1814 |
+
msgid "Simple Membership::Payments"
|
1815 |
+
msgstr "Simple WP Membership::Betalningar"
|
1816 |
+
|
1817 |
+
#: classes/admin-includes/class.swpm-payments-admin-menu.php:25
|
1818 |
+
msgid "Transactions"
|
1819 |
+
msgstr "Transaktioner"
|
1820 |
+
|
1821 |
+
#: classes/admin-includes/class.swpm-payments-admin-menu.php:26
|
1822 |
+
msgid "Manage Payment Buttons"
|
1823 |
+
msgstr "Hantera betalningsknappar"
|
1824 |
+
|
1825 |
+
#: classes/admin-includes/class.swpm-payments-admin-menu.php:27
|
1826 |
+
#: views/payments/admin_payment_buttons.php:27
|
1827 |
+
msgid "Create New Button"
|
1828 |
+
msgstr "Lägg till ny knapp"
|
1829 |
+
|
1830 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:57
|
1831 |
+
#: views/template-1.php:95 views/template-2.php:97
|
1832 |
+
msgid "View Profile"
|
1833 |
+
msgstr "Visa profil"
|
1834 |
+
|
1835 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:76
|
1836 |
+
msgid "Row ID"
|
1837 |
+
msgstr "Rad-ID"
|
1838 |
+
|
1839 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:77
|
1840 |
+
#: views/forgot_password.php:5
|
1841 |
+
msgid "Email Address"
|
1842 |
+
msgstr "E-post"
|
1843 |
+
|
1844 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:80
|
1845 |
+
msgid "Member Profile"
|
1846 |
+
msgstr "Medlemsprofil"
|
1847 |
+
|
1848 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:82
|
1849 |
+
msgid "Transaction ID"
|
1850 |
+
msgstr "Transaktions-ID"
|
1851 |
+
|
1852 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:83
|
1853 |
+
msgid "Subscriber ID"
|
1854 |
+
msgstr "Prenumerant-ID"
|
1855 |
+
|
1856 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:84
|
1857 |
+
msgid "Amount"
|
1858 |
+
msgstr "Belopp"
|
1859 |
+
|
1860 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:60
|
1861 |
+
msgid "Your membership profile will be updated to reflect the payment."
|
1862 |
+
msgstr "Din medlemsprofil kommer att uppdateras efter betalningen."
|
1863 |
+
|
1864 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:61
|
1865 |
+
msgid "Your profile username: "
|
1866 |
+
msgstr "Din profils användarnamn: "
|
1867 |
+
|
1868 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:73
|
1869 |
+
msgid "Click on the following link to complete the registration."
|
1870 |
+
msgstr "Klicka på följande länk för att slutföra registreringen."
|
1871 |
+
|
1872 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:74
|
1873 |
+
msgid "Click here to complete your paid registration"
|
1874 |
+
msgstr "Klicka här för att slutföra din betalda registrering"
|
1875 |
+
|
1876 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:79
|
1877 |
+
msgid ""
|
1878 |
+
"If you have just made a membership payment then your payment is yet to be "
|
1879 |
+
"processed. Please check back in a few minutes. An email will be sent to you "
|
1880 |
+
"with the details shortly."
|
1881 |
+
msgstr ""
|
1882 |
+
"Om du just har gjort en medlemsbetalning så har den ännu inte behandlats. "
|
1883 |
+
"Vänligen kontrollera om några minuter. Ett e-postmeddelande kommer att "
|
1884 |
+
"skickas till dig med detaljerna inom kort."
|
1885 |
+
|
1886 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:93
|
1887 |
+
msgid "Expiry: "
|
1888 |
+
msgstr "Utgångsdatum: "
|
1889 |
+
|
1890 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:95
|
1891 |
+
msgid "You are not logged-in as a member"
|
1892 |
+
msgstr "Du är inte inloggad som medlem"
|
1893 |
+
|
1894 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:115
|
1895 |
+
msgid "Logged in as: "
|
1896 |
+
msgstr "Inloggad som: "
|
1897 |
+
|
1898 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:118
|
1899 |
+
#: views/loggedin.php:31
|
1900 |
+
msgid "Logout"
|
1901 |
+
msgstr "Logga ut"
|
1902 |
+
|
1903 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:121
|
1904 |
+
msgid "Login Here"
|
1905 |
+
msgstr "Logga in här"
|
1906 |
+
|
1907 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:122
|
1908 |
+
msgid "Not a member? "
|
1909 |
+
msgstr "Inte medlem? "
|
1910 |
+
|
1911 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:123
|
1912 |
+
msgid "Join Now"
|
1913 |
+
msgstr "Gå med nu"
|
1914 |
+
|
1915 |
+
#: ipn/swpm-smart-checkout-ipn.php:260 ipn/swpm-smart-checkout-ipn.php:285
|
1916 |
+
#, php-format
|
1917 |
+
msgid "Error occured during payment verification. Error code: %d. Message: %s"
|
1918 |
+
msgstr "Fel inträffade under betalningsverifiering. Felkod: %d. Meddelande: %s"
|
1919 |
+
|
1920 |
+
#: ipn/swpm-smart-checkout-ipn.php:298
|
1921 |
+
#, php-format
|
1922 |
+
msgid ""
|
1923 |
+
"Payment check failed: invalid amount received. Expected %s %s, got %s %s."
|
1924 |
+
msgstr ""
|
1925 |
+
"Betalningskontroll misslyckades: ogiltigt belopp mottaget. Förväntat %s %s, "
|
1926 |
+
"mottog %s %s."
|
1927 |
+
|
1928 |
+
#: ipn/swpm-smart-checkout-ipn.php:315
|
1929 |
+
msgid "Empty payment data received."
|
1930 |
+
msgstr "Tom betalningsdata mottagen."
|
1931 |
+
|
1932 |
+
#: ipn/swpm-smart-checkout-ipn.php:355
|
1933 |
+
msgid "IPN product validation failed. Check debug log for more details."
|
1934 |
+
msgstr ""
|
1935 |
+
"IPN-produktvalidering misslyckades. Se felsökningsloggen för mer information."
|
1936 |
+
|
1937 |
+
#: views/account_delete_warning.php:7
|
1938 |
+
msgid ""
|
1939 |
+
"You are about to delete an account. This will delete user data associated "
|
1940 |
+
"with this account. "
|
1941 |
+
msgstr ""
|
1942 |
+
"Du håller på att radera ett konto. Detta raderar användardata som är "
|
1943 |
+
"kopplade till detta konto. "
|
1944 |
+
|
1945 |
+
#: views/account_delete_warning.php:8
|
1946 |
+
msgid "It will also delete associated WordPress user account."
|
1947 |
+
msgstr "Det tar också bort tillhörande WordPress-användarkonto."
|
1948 |
+
|
1949 |
+
#: views/account_delete_warning.php:9
|
1950 |
+
msgid ""
|
1951 |
+
"(NOTE: for safety, we do not allow deletion of any associated WordPress "
|
1952 |
+
"account with administrator role)."
|
1953 |
+
msgstr ""
|
1954 |
+
"(OBS: av säkerhetsskäl tillåter vi inte radering av något associerat "
|
1955 |
+
"WordPress-konto med administratörsroll)."
|
1956 |
+
|
1957 |
+
#: views/account_delete_warning.php:10
|
1958 |
+
msgid "Continue?"
|
1959 |
+
msgstr "Fortsätta?"
|
1960 |
+
|
1961 |
+
#: views/account_delete_warning.php:13
|
1962 |
+
msgid "Password: "
|
1963 |
+
msgstr "Lösenord: "
|
1964 |
+
|
1965 |
+
#: views/account_delete_warning.php:14
|
1966 |
+
msgid "Confirm Account Deletion"
|
1967 |
+
msgstr "Bekräfta radering av konto"
|
1968 |
+
|
1969 |
+
#: views/add.php:24 views/admin_add.php:19 views/admin_edit.php:44
|
1970 |
+
#: views/edit.php:31 views/login.php:17
|
1971 |
+
msgid "Password"
|
1972 |
+
msgstr "Lösenord"
|
1973 |
+
|
1974 |
+
#: views/add.php:28 views/edit.php:35
|
1975 |
+
msgid "Repeat Password"
|
1976 |
+
msgstr "Upprepa lösenord"
|
1977 |
+
|
1978 |
+
#: views/add.php:65
|
1979 |
+
msgid "I accept the "
|
1980 |
+
msgstr "Jag accepterar "
|
1981 |
+
|
1982 |
+
#: views/add.php:77
|
1983 |
+
msgid "I agree to the "
|
1984 |
+
msgstr "Jag godkänner "
|
1985 |
+
|
1986 |
+
#: views/add.php:77
|
1987 |
+
msgid "Privacy Policy"
|
1988 |
+
msgstr "Integritetspolicy"
|
1989 |
+
|
1990 |
+
#: views/add.php:88
|
1991 |
+
msgid "Register"
|
1992 |
+
msgstr "Registrera"
|
1993 |
+
|
1994 |
+
#: views/admin_add.php:7
|
1995 |
+
msgid "Create a brand new user and add it to this site."
|
1996 |
+
msgstr "Skapa en helt ny användare och lägg till på denna webbplats."
|
1997 |
+
|
1998 |
+
#: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:12
|
1999 |
+
#: views/admin_add_level.php:16 views/admin_add_level.php:20
|
2000 |
+
#: views/admin_edit.php:19 views/admin_edit.php:40
|
2001 |
+
#: views/admin_edit_level.php:16 views/admin_edit_level.php:20
|
2002 |
+
#: views/admin_edit_level.php:24
|
2003 |
+
msgid "(required)"
|
2004 |
+
msgstr "(obligatorisk)"
|
2005 |
+
|
2006 |
+
#: views/admin_add.php:15 views/admin_edit.php:40
|
2007 |
+
msgid "E-mail"
|
2008 |
+
msgstr "E-post"
|
2009 |
+
|
2010 |
+
#: views/admin_add.php:19
|
2011 |
+
msgid "(twice, required)"
|
2012 |
+
msgstr "(två gånger, obligatoriskt)"
|
2013 |
+
|
2014 |
+
#: views/admin_add.php:24 views/admin_edit.php:48
|
2015 |
+
msgid "Strength indicator"
|
2016 |
+
msgstr "Säkerhetsindikation"
|
2017 |
+
|
2018 |
+
#: views/admin_add.php:25 views/admin_edit.php:49
|
2019 |
+
msgid ""
|
2020 |
+
"Hint: The password should be at least seven characters long. To make it "
|
2021 |
+
"stronger, use upper and lower case letters, numbers and symbols like ! \" ? "
|
2022 |
+
"$ % ^ & )."
|
2023 |
+
msgstr ""
|
2024 |
+
"Tips: Lösenordet ska vara minst sju tecken långt. För att göra det starkare, "
|
2025 |
+
"använd stora och små bokstäver, siffror och symboler som! ”? $% ^ & amp;)."
|
2026 |
+
|
2027 |
+
#: views/admin_add.php:29 views/admin_edit.php:53 views/loggedin.php:10
|
2028 |
+
msgid "Account Status"
|
2029 |
+
msgstr "Kontostatus"
|
2030 |
+
|
2031 |
+
#: views/admin_add.php:39
|
2032 |
+
msgid "Add New Member "
|
2033 |
+
msgstr "Lägg till ny medlem "
|
2034 |
+
|
2035 |
+
#: views/admin_addon_settings.php:3
|
2036 |
+
msgid ""
|
2037 |
+
"Some of the simple membership plugin's addon settings and options will be "
|
2038 |
+
"displayed here (if you have them)"
|
2039 |
+
msgstr ""
|
2040 |
+
"Vissa av simple membership plugins addons inställningar och alternativ "
|
2041 |
+
"kommer visas här (om du har dom)"
|
2042 |
+
|
2043 |
+
#: views/admin_addon_settings.php:8
|
2044 |
+
msgid "Save Changes"
|
2045 |
+
msgstr "Spara ändringarna"
|
2046 |
+
|
2047 |
+
#: views/admin_add_level.php:6
|
2048 |
+
msgid "Add Membership Level"
|
2049 |
+
msgstr "Lägg till medlemsskapsnivå"
|
2050 |
+
|
2051 |
+
#: views/admin_add_level.php:7
|
2052 |
+
msgid "Create new membership level."
|
2053 |
+
msgstr "Lägg till ny medlemskapsnivå."
|
2054 |
+
|
2055 |
+
#: views/admin_add_level.php:12 views/admin_edit_level.php:16
|
2056 |
+
msgid "Membership Level Name"
|
2057 |
+
msgstr "Namn på medlemskapsnivå"
|
2058 |
+
|
2059 |
+
#: views/admin_add_level.php:16 views/admin_edit_level.php:20
|
2060 |
+
msgid "Default WordPress Role"
|
2061 |
+
msgstr "Standard Wordpressroll"
|
2062 |
+
|
2063 |
+
#: views/admin_add_level.php:20 views/admin_edit_level.php:24
|
2064 |
+
msgid "Access Duration"
|
2065 |
+
msgstr "Åtkomstens varaktighet"
|
2066 |
+
|
2067 |
+
#: views/admin_add_level.php:23
|
2068 |
+
msgid "No Expiry (Access for this level will not expire until cancelled"
|
2069 |
+
msgstr ""
|
2070 |
+
"Inget utgångsdatum (Tillgång för denna nivå kommer inte att löpa ut förrän "
|
2071 |
+
"den avbrutits"
|
2072 |
+
|
2073 |
+
#: views/admin_add_level.php:24 views/admin_add_level.php:26
|
2074 |
+
#: views/admin_add_level.php:28 views/admin_add_level.php:30
|
2075 |
+
#: views/admin_edit_level.php:28 views/admin_edit_level.php:31
|
2076 |
+
#: views/admin_edit_level.php:34 views/admin_edit_level.php:37
|
2077 |
+
msgid "Expire After"
|
2078 |
+
msgstr "Upphör efter"
|
2079 |
+
|
2080 |
+
#: views/admin_add_level.php:25 views/admin_edit_level.php:29
|
2081 |
+
msgid "Days (Access expires after given number of days)"
|
2082 |
+
msgstr "Dagar (antal dagar till att medlemskapet upphör)"
|
2083 |
+
|
2084 |
+
#: views/admin_add_level.php:27
|
2085 |
+
msgid "Weeks (Access expires after given number of weeks"
|
2086 |
+
msgstr "Veckor (antal veckor till att medlemskapet upphör)"
|
2087 |
+
|
2088 |
+
#: views/admin_add_level.php:29 views/admin_edit_level.php:35
|
2089 |
+
msgid "Months (Access expires after given number of months)"
|
2090 |
+
msgstr "Månader (antal månader till att medlemskapet upphör)"
|
2091 |
+
|
2092 |
+
#: views/admin_add_level.php:31 views/admin_edit_level.php:38
|
2093 |
+
msgid "Years (Access expires after given number of years)"
|
2094 |
+
msgstr "År (antal år till att medlemskapet upphör)"
|
2095 |
+
|
2096 |
+
#: views/admin_add_level.php:32 views/admin_edit_level.php:40
|
2097 |
+
msgid "Fixed Date Expiry"
|
2098 |
+
msgstr "Fast utgångsdatum"
|
2099 |
+
|
2100 |
+
#: views/admin_add_level.php:33 views/admin_edit_level.php:41
|
2101 |
+
msgid "(Access expires on a fixed date)"
|
2102 |
+
msgstr "(Åtkomst upphör detta datum)"
|
2103 |
+
|
2104 |
+
#: views/admin_add_level.php:38 views/admin_edit_level.php:46
|
2105 |
+
msgid "Email Activation"
|
2106 |
+
msgstr "E-postaktivering"
|
2107 |
+
|
2108 |
+
#: views/admin_add_level.php:43
|
2109 |
+
msgid ""
|
2110 |
+
"Enable new user activation via email. When enabled, members will need to "
|
2111 |
+
"click on an activation link that is sent to their email address to activate "
|
2112 |
+
"the account. Useful for free membership. "
|
2113 |
+
msgstr ""
|
2114 |
+
"Möjliggör aktivering av nya användare via e-post. När det är aktiverat måste "
|
2115 |
+
"medlemmarna klicka på en aktiveringslänk som skickas till deras e-postadress "
|
2116 |
+
"för att aktivera kontot. Användbar för gratis medlemskap. "
|
2117 |
+
|
2118 |
+
#: views/admin_add_level.php:44 views/admin_edit_level.php:52
|
2119 |
+
msgid "View Documentation"
|
2120 |
+
msgstr "Visa dokumentation"
|
2121 |
+
|
2122 |
+
#: views/admin_add_level.php:45 views/admin_edit_level.php:53
|
2123 |
+
msgid "Note:"
|
2124 |
+
msgstr "OBS:"
|
2125 |
+
|
2126 |
+
#: views/admin_add_level.php:45 views/admin_edit_level.php:53
|
2127 |
+
msgid ""
|
2128 |
+
"If enabled, decryptable member password is temporarily stored in the "
|
2129 |
+
"database until the account is activated."
|
2130 |
+
msgstr ""
|
2131 |
+
"Vid aktivering av denna funktion lagras dekrypterbart medlemslösenord "
|
2132 |
+
"tillfälligt i databasen tills kontot aktiveras."
|
2133 |
+
|
2134 |
+
#: views/admin_add_level.php:52
|
2135 |
+
msgid "Add New Membership Level "
|
2136 |
+
msgstr "Lägg till ny medlemsnivå "
|
2137 |
+
|
2138 |
+
#: views/admin_add_ons_page.php:7
|
2139 |
+
msgid "Simple WP Membership::Add-ons"
|
2140 |
+
msgstr "Simple WP Membership::Tillägg"
|
2141 |
+
|
2142 |
+
#: views/admin_category_list.php:5
|
2143 |
+
msgid ""
|
2144 |
+
"First of all, globally protect the category on your site by selecting "
|
2145 |
+
"\"General Protection\" from the drop-down box below and then select the "
|
2146 |
+
"categories that should be protected from non-logged in users."
|
2147 |
+
msgstr ""
|
2148 |
+
"Först och främst skydda kategorin globalt på din webbplats genom att välja "
|
2149 |
+
"”Allmänt skydd” i rullgardinsmenyn nedan och välj sedan de kategorier som "
|
2150 |
+
"ska skyddas från användare som inte är inloggade."
|
2151 |
+
|
2152 |
+
#: views/admin_category_list.php:8
|
2153 |
+
msgid ""
|
2154 |
+
"Next, select an existing membership level from the drop-down box below and "
|
2155 |
+
"then select the categories you want to grant access to (for that particular "
|
2156 |
+
"membership level)."
|
2157 |
+
msgstr ""
|
2158 |
+
"Välj sedan en befintlig medlemsnivå i rullgardinsmenyn nedan och välj sedan "
|
2159 |
+
"de kategorier som du vill ge åtkomst till (för den särskilda medlemsnivån)."
|
2160 |
+
|
2161 |
+
#: views/admin_category_list.php:11 views/admin_post_list.php:11
|
2162 |
+
msgid "Read the "
|
2163 |
+
msgstr "Läs "
|
2164 |
+
|
2165 |
+
#: views/admin_category_list.php:11
|
2166 |
+
msgid "category protection documentation"
|
2167 |
+
msgstr "dokumentation för kategoriskydd"
|
2168 |
+
|
2169 |
+
#: views/admin_category_list.php:17 views/admin_post_list.php:27
|
2170 |
+
msgid "Membership Level:"
|
2171 |
+
msgstr "Medlemsskapsnivå:"
|
2172 |
+
|
2173 |
+
#: views/admin_category_list.php:19 views/admin_post_list.php:29
|
2174 |
+
msgid "General Protection"
|
2175 |
+
msgstr "Allmänt skydd"
|
2176 |
+
|
2177 |
+
#: views/admin_category_list.php:23 views/admin_post_list.php:33
|
2178 |
+
#: views/edit.php:83
|
2179 |
+
msgid "Update"
|
2180 |
+
msgstr "Uppdatera"
|
2181 |
+
|
2182 |
+
#: views/admin_edit.php:11
|
2183 |
+
msgid "Edit Member"
|
2184 |
+
msgstr "Redigera medlem"
|
2185 |
+
|
2186 |
+
#: views/admin_edit.php:13
|
2187 |
+
msgid "Edit existing member details."
|
2188 |
+
msgstr "Redigera befintliga medlemsuppgifter."
|
2189 |
+
|
2190 |
+
#: views/admin_edit.php:14
|
2191 |
+
msgid " You are currenty editing member with member ID: "
|
2192 |
+
msgstr " Du redigerar för närvarande medlem med medlems-ID: "
|
2193 |
+
|
2194 |
+
#: views/admin_edit.php:44
|
2195 |
+
msgid "(twice, leave empty to retain old password)"
|
2196 |
+
msgstr "(två gånger, lämna tomt för att behålla det gamla lösenordet)"
|
2197 |
+
|
2198 |
+
#: views/admin_edit.php:59
|
2199 |
+
msgid ""
|
2200 |
+
"This is the member's account status. If you want to manually activate an "
|
2201 |
+
"expired member's account then read"
|
2202 |
+
msgstr ""
|
2203 |
+
"Detta är medlemmens kontostatus. Om du vill aktivera ett utgånget medlems "
|
2204 |
+
"konto manuellt, läs då"
|
2205 |
+
|
2206 |
+
#: views/admin_edit.php:60
|
2207 |
+
msgid "this documentation"
|
2208 |
+
msgstr "denna dokumentation"
|
2209 |
+
|
2210 |
+
#: views/admin_edit.php:61
|
2211 |
+
msgid " to learn how to do it."
|
2212 |
+
msgstr " för att lära dig hur du gör det."
|
2213 |
+
|
2214 |
+
#: views/admin_edit.php:66
|
2215 |
+
msgid "Notify User"
|
2216 |
+
msgstr "Meddela användaren"
|
2217 |
+
|
2218 |
+
#: views/admin_edit.php:69
|
2219 |
+
msgid ""
|
2220 |
+
"You can use this option to send a quick notification email to this member "
|
2221 |
+
"(the email will be sent when you hit the save button below)."
|
2222 |
+
msgstr ""
|
2223 |
+
"Du kan använda det här alternativet för att skicka ett e-postmeddelande till "
|
2224 |
+
"den här medlemmen (e-postmeddelandet skickas när du trycker på spara-knappen "
|
2225 |
+
"nedan)."
|
2226 |
+
|
2227 |
+
#: views/admin_edit.php:75
|
2228 |
+
msgid "Subscriber ID/Reference"
|
2229 |
+
msgstr "Prenumerant ID / Referens"
|
2230 |
+
|
2231 |
+
#: views/admin_edit.php:79
|
2232 |
+
msgid "Last Accessed Date"
|
2233 |
+
msgstr "Senast tillgängliga datum"
|
2234 |
+
|
2235 |
+
#: views/admin_edit.php:82 views/admin_edit.php:89
|
2236 |
+
msgid "This value gets updated when this member logs into your site."
|
2237 |
+
msgstr ""
|
2238 |
+
"Detta värde uppdateras när den här medlemmen loggar in på din webbplats."
|
2239 |
+
|
2240 |
+
#: views/admin_edit.php:86
|
2241 |
+
msgid "Last Accessed From IP"
|
2242 |
+
msgstr "Senast åtkomst från IP"
|
2243 |
+
|
2244 |
+
#: views/admin_edit.php:97
|
2245 |
+
msgid "Save Data"
|
2246 |
+
msgstr "Spara data"
|
2247 |
+
|
2248 |
+
#: views/admin_edit.php:102
|
2249 |
+
msgid "Delete User Profile"
|
2250 |
+
msgstr "Radera användarprofil"
|
2251 |
+
|
2252 |
+
#: views/admin_edit_level.php:6
|
2253 |
+
msgid "Edit membership level"
|
2254 |
+
msgstr "Redigera medlemsskapsnivån"
|
2255 |
+
|
2256 |
+
#: views/admin_edit_level.php:9
|
2257 |
+
msgid ""
|
2258 |
+
"You can edit details of a selected membership level from this interface. "
|
2259 |
+
msgstr ""
|
2260 |
+
"Du kan redigera information om en vald medlemsnivå från detta gränssnitt. "
|
2261 |
+
|
2262 |
+
#: views/admin_edit_level.php:10
|
2263 |
+
msgid "You are currently editing: "
|
2264 |
+
msgstr "Du redigerar för närvarande: "
|
2265 |
+
|
2266 |
+
#: views/admin_edit_level.php:27
|
2267 |
+
msgid "No Expiry (Access for this level will not expire until cancelled)"
|
2268 |
+
msgstr ""
|
2269 |
+
"Inget giltighetstid (Åtkomst för denna nivå upphör först när den avbryts)"
|
2270 |
+
|
2271 |
+
#: views/admin_edit_level.php:32
|
2272 |
+
msgid "Weeks (Access expires after given number of weeks)"
|
2273 |
+
msgstr "Veckor (Åtkomst upphör efter angivet antal veckor)"
|
2274 |
+
|
2275 |
+
#: views/admin_edit_level.php:51
|
2276 |
+
msgid ""
|
2277 |
+
"Enable new user activation via email. When enabled, members will need to "
|
2278 |
+
"click on an activation link that is sent to their email address to activate "
|
2279 |
+
"the account. Useful for free membership."
|
2280 |
+
msgstr ""
|
2281 |
+
"Möjliggör aktivering av nya användare via e-post. När det är aktiverat måste "
|
2282 |
+
"medlemmarna klicka på en aktiveringslänk som skickas till deras e-postadress "
|
2283 |
+
"för att aktivera kontot. Användbar för gratis medlemskap."
|
2284 |
+
|
2285 |
+
#: views/admin_edit_level.php:60
|
2286 |
+
msgid "Save Membership Level "
|
2287 |
+
msgstr "Spara medlemsnivå "
|
2288 |
+
|
2289 |
+
#: views/admin_membership_manage.php:18
|
2290 |
+
msgid "Example Content Protection Settings"
|
2291 |
+
msgstr "Exempel på inställningar för innehållsskydd"
|
2292 |
+
|
2293 |
+
#: views/admin_members_list.php:18
|
2294 |
+
msgid "All"
|
2295 |
+
msgstr "Alla"
|
2296 |
+
|
2297 |
+
#: views/admin_members_list.php:23
|
2298 |
+
msgid "Incomplete"
|
2299 |
+
msgstr "Ofullständig"
|
2300 |
+
|
2301 |
+
#: views/admin_member_form_common_part.php:23
|
2302 |
+
#: includes/swpm_mda_show_profile.php:37
|
2303 |
+
msgid "Gender"
|
2304 |
+
msgstr "Kön"
|
2305 |
+
|
2306 |
+
#: views/admin_member_form_common_part.php:30 views/edit.php:47
|
2307 |
+
#: includes/swpm_mda_show_profile.php:34
|
2308 |
+
msgid "Phone"
|
2309 |
+
msgstr "Telefonnummer"
|
2310 |
+
|
2311 |
+
#: views/admin_member_form_common_part.php:34 views/edit.php:51
|
2312 |
+
msgid "Street"
|
2313 |
+
msgstr "Gata"
|
2314 |
+
|
2315 |
+
#: views/admin_member_form_common_part.php:38 views/edit.php:55
|
2316 |
+
msgid "City"
|
2317 |
+
msgstr "Stad"
|
2318 |
+
|
2319 |
+
#: views/admin_member_form_common_part.php:42 views/edit.php:59
|
2320 |
+
msgid "State"
|
2321 |
+
msgstr "Stat"
|
2322 |
+
|
2323 |
+
#: views/admin_member_form_common_part.php:46 views/edit.php:63
|
2324 |
+
msgid "Zipcode"
|
2325 |
+
msgstr "Postnummer"
|
2326 |
+
|
2327 |
+
#: views/admin_member_form_common_part.php:50 views/edit.php:67
|
2328 |
+
#: includes/swpm_mda_show_profile.php:33
|
2329 |
+
msgid "Country"
|
2330 |
+
msgstr "Land"
|
2331 |
+
|
2332 |
+
#: views/admin_member_form_common_part.php:54
|
2333 |
+
#: includes/swpm_mda_show_profile.php:38
|
2334 |
+
msgid "Company"
|
2335 |
+
msgstr "Företag"
|
2336 |
+
|
2337 |
+
#: views/admin_member_form_common_part.php:58
|
2338 |
+
#: includes/swpm_mda_show_profile.php:36
|
2339 |
+
msgid "Member Since"
|
2340 |
+
msgstr "Medlem sedan"
|
2341 |
+
|
2342 |
+
#: views/admin_post_list.php:5
|
2343 |
+
msgid ""
|
2344 |
+
"First of all, globally protect posts and pages on your site by selecting "
|
2345 |
+
"\"General Protection\" from the drop-down box below and then select posts "
|
2346 |
+
"and pages that should be protected from non-logged in users."
|
2347 |
+
msgstr ""
|
2348 |
+
"Först och främst skydda globalt inlägg och sidor på din webbplats genom att "
|
2349 |
+
"välja ”Allmänt skydd” i rullgardinsmenyn nedan och välj sedan inlägg och "
|
2350 |
+
"sidor som ska skyddas från användare som inte är inloggade."
|
2351 |
+
|
2352 |
+
#: views/admin_post_list.php:8
|
2353 |
+
msgid ""
|
2354 |
+
"Next, select an existing membership level from the drop-down box below and "
|
2355 |
+
"then select posts and pages you want to grant access to (for that particular "
|
2356 |
+
"membership level)."
|
2357 |
+
msgstr ""
|
2358 |
+
"Nästa steg: Välj en befintlig Medlemskapsnivå från nedrullningsbara rutan "
|
2359 |
+
"nedan och välj sedan de kategorier du vill bevilja åtkomst till (för den "
|
2360 |
+
"valda Medlemskapsnivån)."
|
2361 |
+
|
2362 |
+
#: views/admin_post_list.php:11
|
2363 |
+
msgid "bulk protect posts and pages documentation"
|
2364 |
+
msgstr "massskydda inlägg och dokumentation av sidor"
|
2365 |
+
|
2366 |
+
#: views/admin_post_list.php:11
|
2367 |
+
msgid " to learn how to use it."
|
2368 |
+
msgstr " för att lära dig hur du använder den."
|
2369 |
+
|
2370 |
+
#: views/admin_post_list.php:21
|
2371 |
+
msgid "Posts"
|
2372 |
+
msgstr "Inlägg"
|
2373 |
+
|
2374 |
+
#: views/admin_post_list.php:22
|
2375 |
+
msgid "Pages"
|
2376 |
+
msgstr "Sidor"
|
2377 |
+
|
2378 |
+
#: views/admin_post_list.php:23
|
2379 |
+
msgid "Custom Posts"
|
2380 |
+
msgstr "Anpassade inlägg"
|
2381 |
+
|
2382 |
+
#: views/admin_tools_settings.php:14
|
2383 |
+
msgid "The required pages have been re-created."
|
2384 |
+
msgstr "De nödvändiga sidorna har skapats på nytt."
|
2385 |
+
|
2386 |
+
#: views/admin_tools_settings.php:21
|
2387 |
+
msgid "Generate a Registration Completion link"
|
2388 |
+
msgstr "Skapa en länk för Fullfölj registrering"
|
2389 |
+
|
2390 |
+
#: views/admin_tools_settings.php:24
|
2391 |
+
msgid ""
|
2392 |
+
"You can manually generate a registration completion link here and give it to "
|
2393 |
+
"your customer if they have missed the email that was automatically sent out "
|
2394 |
+
"to them after the payment."
|
2395 |
+
msgstr ""
|
2396 |
+
"Du kan manuellt skapa en länk för registreringens fullföljande här och ge "
|
2397 |
+
"den till din kund om de har missat e-postmeddelandet som skickades "
|
2398 |
+
"automatiskt till dem efter betalningen."
|
2399 |
+
|
2400 |
+
#: views/admin_tools_settings.php:29
|
2401 |
+
msgid "Generate Registration Completion Link"
|
2402 |
+
msgstr "Skapa länk för att slutföra registreringen"
|
2403 |
+
|
2404 |
+
#: views/admin_tools_settings.php:30
|
2405 |
+
msgid "For a Particular Member ID"
|
2406 |
+
msgstr "För ett särskilt medlems-ID"
|
2407 |
+
|
2408 |
+
#: views/admin_tools_settings.php:32
|
2409 |
+
msgid "OR"
|
2410 |
+
msgstr "ELLER"
|
2411 |
+
|
2412 |
+
#: views/admin_tools_settings.php:33
|
2413 |
+
msgid "For All Incomplete Registrations"
|
2414 |
+
msgstr "För alla ofullständiga registreringar"
|
2415 |
+
|
2416 |
+
#: views/admin_tools_settings.php:38
|
2417 |
+
msgid "Send Registration Reminder Email Too"
|
2418 |
+
msgstr "Skicka även registreringspåminnelse via e-post"
|
2419 |
+
|
2420 |
+
#: views/admin_tools_settings.php:44
|
2421 |
+
msgid "Submit"
|
2422 |
+
msgstr "Registrera"
|
2423 |
+
|
2424 |
+
#: views/admin_tools_settings.php:53
|
2425 |
+
msgid ""
|
2426 |
+
"Link(s) generated successfully. The following link(s) can be used to "
|
2427 |
+
"complete the registration."
|
2428 |
+
msgstr ""
|
2429 |
+
"Länk(ar) genererades framgångsrikt. Följande länk(ar) kan användas för att "
|
2430 |
+
"slutföra registreringen."
|
2431 |
+
|
2432 |
+
#: views/admin_tools_settings.php:55
|
2433 |
+
msgid "Registration completion links will appear below"
|
2434 |
+
msgstr "Länkar för att fullfölja registreringen visas nedan"
|
2435 |
+
|
2436 |
+
#: views/admin_tools_settings.php:65
|
2437 |
+
msgid "A prompt to complete registration email was also sent."
|
2438 |
+
msgstr "En uppmaning att slutföra registrerings-e-post skickades också."
|
2439 |
+
|
2440 |
+
#: views/admin_tools_settings.php:78 views/admin_tools_settings.php:88
|
2441 |
+
msgid "Re-create the Required Pages"
|
2442 |
+
msgstr "Återskapa nödvändiga sidor"
|
2443 |
+
|
2444 |
+
#: views/admin_tools_settings.php:81
|
2445 |
+
msgid ""
|
2446 |
+
"If you have accidentally deleted the required pages that this plugin creates "
|
2447 |
+
"at install time, you can use this option to re-create them."
|
2448 |
+
msgstr ""
|
2449 |
+
"Om du av misstag har raderat de nödvändiga sidorna som detta plugin skapar "
|
2450 |
+
"vid installationen kan du använda det här alternativet för att återskapa dem."
|
2451 |
+
|
2452 |
+
#: views/admin_tools_settings.php:82
|
2453 |
+
msgid " has full explanation."
|
2454 |
+
msgstr " har fullständig förklaring."
|
2455 |
+
|
2456 |
+
#: views/edit.php:32 views/edit.php:36
|
2457 |
+
msgid "Leave empty to keep the current password"
|
2458 |
+
msgstr "Lämna tomt för att behålla det aktuella lösenordet"
|
2459 |
+
|
2460 |
+
#: views/edit.php:71
|
2461 |
+
msgid "Company Name"
|
2462 |
+
msgstr "Företagsnamn"
|
2463 |
+
|
2464 |
+
#: views/forgot_password.php:12
|
2465 |
+
msgid "Reset Password"
|
2466 |
+
msgstr "Återställ lösenordet"
|
2467 |
+
|
2468 |
+
#: views/loggedin.php:6
|
2469 |
+
msgid "Logged in as"
|
2470 |
+
msgstr "Inloggad som"
|
2471 |
+
|
2472 |
+
#: views/loggedin.php:14
|
2473 |
+
msgid "Membership"
|
2474 |
+
msgstr "Medlemsskap"
|
2475 |
+
|
2476 |
+
#: views/loggedin.php:18
|
2477 |
+
msgid "Account Expiry"
|
2478 |
+
msgstr "Kontot upphör"
|
2479 |
+
|
2480 |
+
#: views/loggedin.php:26
|
2481 |
+
msgid "Edit Profile"
|
2482 |
+
msgstr "Redigera profil"
|
2483 |
+
|
2484 |
+
#: views/login.php:11
|
2485 |
+
msgid "Username or Email"
|
2486 |
+
msgstr "Användarnamn eller E-post"
|
2487 |
+
|
2488 |
+
#: views/login.php:24
|
2489 |
+
msgid "Remember Me"
|
2490 |
+
msgstr "Kom ihåg mig! "
|
2491 |
+
|
2492 |
+
#: views/login.php:33
|
2493 |
+
msgid "Forgot Password?"
|
2494 |
+
msgstr "Glömt ditt lösenord?"
|
2495 |
+
|
2496 |
+
#: views/payments/admin_all_payment_transactions.php:6
|
2497 |
+
msgid "All the payments/transactions of your members are recorded here."
|
2498 |
+
msgstr "Alla medlemmars betalningar/transaktioner registreras här."
|
2499 |
+
|
2500 |
+
#: views/payments/admin_all_payment_transactions.php:12
|
2501 |
+
msgid "Search for a transaction by using email or name"
|
2502 |
+
msgstr "Sök efter en transaktion med E-post eller namn"
|
2503 |
+
|
2504 |
+
#: views/payments/admin_create_payment_buttons.php:15
|
2505 |
+
msgid ""
|
2506 |
+
"You can create new payment button for your memberships using this interface."
|
2507 |
+
msgstr ""
|
2508 |
+
"Du kan skapa en ny betalningsknapp för dina medlemskap med detta gränssnitt."
|
2509 |
+
|
2510 |
+
#: views/payments/admin_create_payment_buttons.php:23
|
2511 |
+
msgid "Select Payment Button Type"
|
2512 |
+
msgstr "Välj typ av betalknapp"
|
2513 |
+
|
2514 |
+
#: views/payments/admin_create_payment_buttons.php:26
|
2515 |
+
msgid "PayPal Buy Now"
|
2516 |
+
msgstr "PayPal Buy Now"
|
2517 |
+
|
2518 |
+
#: views/payments/admin_create_payment_buttons.php:28
|
2519 |
+
msgid "PayPal Subscription"
|
2520 |
+
msgstr "PayPal Prenumeration"
|
2521 |
+
|
2522 |
+
#: views/payments/admin_create_payment_buttons.php:30
|
2523 |
+
msgid "PayPal Smart Checkout"
|
2524 |
+
msgstr "PayPal Smart Checkout"
|
2525 |
+
|
2526 |
+
#: views/payments/admin_create_payment_buttons.php:32
|
2527 |
+
msgid "Stripe Buy Now"
|
2528 |
+
msgstr "Stripe Buy Now"
|
2529 |
+
|
2530 |
+
#: views/payments/admin_create_payment_buttons.php:34
|
2531 |
+
msgid "Stripe Subscription"
|
2532 |
+
msgstr "Stripe Prenumeration"
|
2533 |
+
|
2534 |
+
#: views/payments/admin_create_payment_buttons.php:36
|
2535 |
+
msgid "Braintree Buy Now"
|
2536 |
+
msgstr "Braintree Buy Now"
|
2537 |
+
|
2538 |
+
#: views/payments/admin_create_payment_buttons.php:43
|
2539 |
+
msgid "Next"
|
2540 |
+
msgstr "Nästa"
|
2541 |
+
|
2542 |
+
#: views/payments/admin_edit_payment_buttons.php:15
|
2543 |
+
msgid "You can edit a payment button using this interface."
|
2544 |
+
msgstr "Du kan redigera en betalknapp med detta gränssnitt."
|
2545 |
+
|
2546 |
+
#: views/payments/admin_payment_buttons.php:6
|
2547 |
+
msgid ""
|
2548 |
+
"All the membership buttons that you created in the plugin are displayed here."
|
2549 |
+
msgstr "Här visas alla knappar för medlems som du skapat i plugin-programmet."
|
2550 |
+
|
2551 |
+
#: views/payments/admin_payment_settings.php:21
|
2552 |
+
msgid "Error! The membership level ID ("
|
2553 |
+
msgstr "Fel! Medlemskapsnivå-ID ("
|
2554 |
+
|
2555 |
+
#: views/payments/admin_payment_settings.php:28
|
2556 |
+
msgid ""
|
2557 |
+
"You can create membership payment buttons from the payments menu of this "
|
2558 |
+
"plugin (useful if you want to offer paid membership on the site)."
|
2559 |
+
msgstr ""
|
2560 |
+
"Du kan skapa betalknappar för medlemskap från betalningsmenyn för detta "
|
2561 |
+
"plugin (användbart om du vill erbjuda betalt medlemskap på webbplatsen)."
|
2562 |
+
|
2563 |
+
#: views/payments/admin_payment_settings.php:33
|
2564 |
+
msgid "PayPal Integration Settings"
|
2565 |
+
msgstr "Inställningar för PayPal Integrering"
|
2566 |
+
|
2567 |
+
#: views/payments/admin_payment_settings.php:36
|
2568 |
+
msgid "Generate the \"Advanced Variables\" Code for your PayPal button"
|
2569 |
+
msgstr "Skapa kod för ”Avancerade variabler” för din PayPal-knapp"
|
2570 |
+
|
2571 |
+
#: views/payments/admin_payment_settings.php:39
|
2572 |
+
msgid "Enter the Membership Level ID"
|
2573 |
+
msgstr "Ange medlemsnivå-ID"
|
2574 |
+
|
2575 |
+
#: views/payments/admin_payment_settings.php:41
|
2576 |
+
msgid "Generate Code"
|
2577 |
+
msgstr "Skapa kod"
|
2578 |
+
|
2579 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:22
|
2580 |
+
msgid "Braintree Buy Now Button Configuration"
|
2581 |
+
msgstr "Braintree Buy Now Knappkonfiguration"
|
2582 |
+
|
2583 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:34
|
2584 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:213
|
2585 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:33
|
2586 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:301
|
2587 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:259
|
2588 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:83
|
2589 |
+
msgid "Button ID"
|
2590 |
+
msgstr "Knapp-ID"
|
2591 |
+
|
2592 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:42
|
2593 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:26
|
2594 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:221
|
2595 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:41
|
2596 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:27
|
2597 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:309
|
2598 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:39
|
2599 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:266
|
2600 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:91
|
2601 |
+
msgid "Button Title"
|
2602 |
+
msgstr "Knapp-titel"
|
2603 |
+
|
2604 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:60
|
2605 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:44
|
2606 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:239
|
2607 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:59
|
2608 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:57
|
2609 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:282
|
2610 |
+
msgid "Payment Amount"
|
2611 |
+
msgstr "Betalningsbelopp"
|
2612 |
+
|
2613 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:68
|
2614 |
+
msgid ""
|
2615 |
+
"Braintree API key and account details. You can get this from your Braintree "
|
2616 |
+
"account."
|
2617 |
+
msgstr ""
|
2618 |
+
"Braintree API-nyckel och kontouppgifter. Du får detta från ditt Braintree-"
|
2619 |
+
"konto."
|
2620 |
+
|
2621 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:72
|
2622 |
+
msgid "Merchant ID"
|
2623 |
+
msgstr "Handels-ID"
|
2624 |
+
|
2625 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:80
|
2626 |
+
msgid "Public Key"
|
2627 |
+
msgstr "Offentlig nyckel"
|
2628 |
+
|
2629 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:87
|
2630 |
+
msgid "Private Key"
|
2631 |
+
msgstr "Hemlig nyckel"
|
2632 |
+
|
2633 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:95
|
2634 |
+
msgid "Merchant Account ID"
|
2635 |
+
msgstr "Handelskonto-ID"
|
2636 |
+
|
2637 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:113
|
2638 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:137
|
2639 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:361
|
2640 |
+
msgid "The following details are optional."
|
2641 |
+
msgstr "Följande detaljer är valfria."
|
2642 |
+
|
2643 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:117
|
2644 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:92
|
2645 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:287
|
2646 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:204
|
2647 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:172
|
2648 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:456
|
2649 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:149
|
2650 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:373
|
2651 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:191
|
2652 |
+
msgid "Return URL"
|
2653 |
+
msgstr "URL för tillbaka"
|
2654 |
+
|
2655 |
+
#: views/payments/payment-gateway/admin_braintree_buy_now_button.php:127
|
2656 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:126
|
2657 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:321
|
2658 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:214
|
2659 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:200
|
2660 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:484
|
2661 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:159
|
2662 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:383
|
2663 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:212
|
2664 |
+
msgid "Save Payment Data"
|
2665 |
+
msgstr "Spara betalningsdata"
|
2666 |
+
|
2667 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:16
|
2668 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:204
|
2669 |
+
msgid "PayPal Buy Now Button Configuration"
|
2670 |
+
msgstr "PayPal Buy Now Knappkonfiguration"
|
2671 |
+
|
2672 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:52
|
2673 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:247
|
2674 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:67
|
2675 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:45
|
2676 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:327
|
2677 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:65
|
2678 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:289
|
2679 |
+
msgid "Payment Currency"
|
2680 |
+
msgstr "Betalningsvaluta"
|
2681 |
+
|
2682 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:100
|
2683 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:295
|
2684 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:85
|
2685 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:367
|
2686 |
+
msgid "PayPal Email"
|
2687 |
+
msgstr "PayPal E-post"
|
2688 |
+
|
2689 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:108
|
2690 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:303
|
2691 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:180
|
2692 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:464
|
2693 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:199
|
2694 |
+
msgid "Button Image URL"
|
2695 |
+
msgstr "Knappbildens URL"
|
2696 |
+
|
2697 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:116
|
2698 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:311
|
2699 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:188
|
2700 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:472
|
2701 |
+
msgid "Custom Checkout Page Logo Image"
|
2702 |
+
msgstr "Anpassad Logo för Checkout-sidan"
|
2703 |
+
|
2704 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:21
|
2705 |
+
msgid "PayPal Smart Checkout Button Configuration"
|
2706 |
+
msgstr "PayPal Smart Checkout-knappkonfiguration"
|
2707 |
+
|
2708 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:107
|
2709 |
+
msgid ""
|
2710 |
+
"PayPal Smart Checkout API Credentials (you can get this from your PayPal "
|
2711 |
+
"account)"
|
2712 |
+
msgstr ""
|
2713 |
+
"PayPal Smart Checkout API Credentials (du kan få detta från ditt PayPal-"
|
2714 |
+
"konto)"
|
2715 |
+
|
2716 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:111
|
2717 |
+
msgid "Live Client ID"
|
2718 |
+
msgstr "Live-klient-ID"
|
2719 |
+
|
2720 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:119
|
2721 |
+
msgid "Live Secret"
|
2722 |
+
msgstr "Live Secret"
|
2723 |
+
|
2724 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:127
|
2725 |
+
msgid "Sandbox Client ID"
|
2726 |
+
msgstr "Sandbox Client ID"
|
2727 |
+
|
2728 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:135
|
2729 |
+
msgid "Sandbox Secret"
|
2730 |
+
msgstr "Sandbox Secret"
|
2731 |
+
|
2732 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:143
|
2733 |
+
msgid "Button Appearance Settings"
|
2734 |
+
msgstr "Inställningar för knappens utseende"
|
2735 |
+
|
2736 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:147
|
2737 |
+
msgid "Size"
|
2738 |
+
msgstr "Storlek"
|
2739 |
+
|
2740 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:150
|
2741 |
+
msgid "Medium"
|
2742 |
+
msgstr "Medium"
|
2743 |
+
|
2744 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:151
|
2745 |
+
msgid "Large"
|
2746 |
+
msgstr "Stor"
|
2747 |
+
|
2748 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:152
|
2749 |
+
msgid "Repsonsive"
|
2750 |
+
msgstr "Repsonsiv"
|
2751 |
+
|
2752 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:154
|
2753 |
+
msgid "Select button size."
|
2754 |
+
msgstr "Välj knappstorlek."
|
2755 |
+
|
2756 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:158
|
2757 |
+
msgid "Color"
|
2758 |
+
msgstr "Färg"
|
2759 |
+
|
2760 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:161
|
2761 |
+
msgid "Gold"
|
2762 |
+
msgstr "Guld"
|
2763 |
+
|
2764 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:162
|
2765 |
+
msgid "Blue"
|
2766 |
+
msgstr "Blå"
|
2767 |
+
|
2768 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:163
|
2769 |
+
msgid "Silver"
|
2770 |
+
msgstr "Silver"
|
2771 |
+
|
2772 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:164
|
2773 |
+
msgid "Black"
|
2774 |
+
msgstr "Svart"
|
2775 |
+
|
2776 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:166
|
2777 |
+
msgid "Select button color."
|
2778 |
+
msgstr "Välj knappfärg."
|
2779 |
+
|
2780 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:170
|
2781 |
+
msgid "Shape"
|
2782 |
+
msgstr "Form"
|
2783 |
+
|
2784 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:172
|
2785 |
+
msgid "Rectangular"
|
2786 |
+
msgstr "Rektangel"
|
2787 |
+
|
2788 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:173
|
2789 |
+
msgid "Pill"
|
2790 |
+
msgstr "Boll"
|
2791 |
+
|
2792 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:174
|
2793 |
+
msgid "Select button shape."
|
2794 |
+
msgstr "Välj knappform."
|
2795 |
+
|
2796 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:178
|
2797 |
+
msgid "Layout"
|
2798 |
+
msgstr "Layout"
|
2799 |
+
|
2800 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:180
|
2801 |
+
msgid "Vertical"
|
2802 |
+
msgstr "Vertikal"
|
2803 |
+
|
2804 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:181
|
2805 |
+
msgid "Horizontal"
|
2806 |
+
msgstr "Horisontell"
|
2807 |
+
|
2808 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:182
|
2809 |
+
msgid "Select button layout."
|
2810 |
+
msgstr "Välj knapplayout."
|
2811 |
+
|
2812 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:187
|
2813 |
+
msgid "Additional Settings"
|
2814 |
+
msgstr "Ytterligare inställningar"
|
2815 |
+
|
2816 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:191
|
2817 |
+
msgid "Payment Methods"
|
2818 |
+
msgstr "Betalningsmetoder"
|
2819 |
+
|
2820 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:193
|
2821 |
+
msgid "PayPal Credit"
|
2822 |
+
msgstr "PayPal Kredit"
|
2823 |
+
|
2824 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:194
|
2825 |
+
msgid "ELV"
|
2826 |
+
msgstr "ELV"
|
2827 |
+
|
2828 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:195
|
2829 |
+
msgid ""
|
2830 |
+
"Select payment methods that could be used by customers. Note that payment "
|
2831 |
+
"with cards is always enabled."
|
2832 |
+
msgstr ""
|
2833 |
+
"Välj betalningsmetoder som kan användas av kunder. Observera att betalning "
|
2834 |
+
"med kort alltid är aktiverat."
|
2835 |
+
|
2836 |
+
#: views/payments/payment-gateway/admin_paypal_smart_checkout_button.php:200
|
2837 |
+
msgid "The following details are optional"
|
2838 |
+
msgstr "Följande detaljer är valfria"
|
2839 |
+
|
2840 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:18
|
2841 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:295
|
2842 |
+
msgid "PayPal Subscription Button Configuration"
|
2843 |
+
msgstr "Konfiguration av PayPal prenumerationsknapp"
|
2844 |
+
|
2845 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:93
|
2846 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:375
|
2847 |
+
msgid "Billing Amount Each Cycle"
|
2848 |
+
msgstr "Faktureringsbelopp för varje period"
|
2849 |
+
|
2850 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:101
|
2851 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:383
|
2852 |
+
msgid "Billing Cycle"
|
2853 |
+
msgstr "Faktureringsperiod"
|
2854 |
+
|
2855 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:114
|
2856 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:396
|
2857 |
+
msgid "Billing Cycle Count"
|
2858 |
+
msgstr "Antal faktureringsperioder"
|
2859 |
+
|
2860 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:122
|
2861 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:404
|
2862 |
+
msgid "Re-attempt on Failure"
|
2863 |
+
msgstr "Försök igen vid misslyckande"
|
2864 |
+
|
2865 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:135
|
2866 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:419
|
2867 |
+
msgid ""
|
2868 |
+
"Trial Billing Details (Leave empty if you are not offering a trial period)"
|
2869 |
+
msgstr ""
|
2870 |
+
"Betalningsuppgifter vid Provperiod (lämna tomt om du inte erbjuder en "
|
2871 |
+
"provperiod)"
|
2872 |
+
|
2873 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:141
|
2874 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:425
|
2875 |
+
msgid "Trial Billing Amount"
|
2876 |
+
msgstr "Belopp vid Provperiod"
|
2877 |
+
|
2878 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:149
|
2879 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:433
|
2880 |
+
msgid "Trial Billing Period"
|
2881 |
+
msgstr "Tid för Provperiod"
|
2882 |
+
|
2883 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:166
|
2884 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:450
|
2885 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:177
|
2886 |
+
msgid "Optional Details"
|
2887 |
+
msgstr "Valfria detaljer"
|
2888 |
+
|
2889 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:29
|
2890 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:250
|
2891 |
+
msgid "Stripe Buy Now Button Configuration"
|
2892 |
+
msgstr "Stripe Buy Now Button konfigurering"
|
2893 |
+
|
2894 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:104
|
2895 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:328
|
2896 |
+
msgid "Stripe API keys. You can get this from your Stripe account."
|
2897 |
+
msgstr "Strip API-nycklar. Du kan få detta från ditt Stripe-konto."
|
2898 |
+
|
2899 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:108
|
2900 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:332
|
2901 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:131
|
2902 |
+
msgid "Test Publishable Key"
|
2903 |
+
msgstr "Test Publishable Key"
|
2904 |
+
|
2905 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:115
|
2906 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:339
|
2907 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:139
|
2908 |
+
msgid "Test Secret Key"
|
2909 |
+
msgstr "Test Secret Key"
|
2910 |
+
|
2911 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:122
|
2912 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:346
|
2913 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:147
|
2914 |
+
msgid "Live Publishable Key"
|
2915 |
+
msgstr "Live Publishable Key"
|
2916 |
+
|
2917 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:129
|
2918 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:353
|
2919 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:155
|
2920 |
+
msgid "Live Secret Key"
|
2921 |
+
msgstr "Live Secret Key"
|
2922 |
+
|
2923 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:141
|
2924 |
+
#: views/payments/payment-gateway/admin_stripe_buy_now_button.php:365
|
2925 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:183
|
2926 |
+
msgid "Collect Customer Address"
|
2927 |
+
msgstr "Samla in kundadress"
|
2928 |
+
|
2929 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:75
|
2930 |
+
msgid "Stripe Subscription Button Configuration"
|
2931 |
+
msgstr "Konfiguration av Stripe prenumerationsknapp"
|
2932 |
+
|
2933 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:109
|
2934 |
+
msgid "Stripe API ID"
|
2935 |
+
msgstr "Stripe API ID"
|
2936 |
+
|
2937 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:125
|
2938 |
+
msgid "Stripe API Settings"
|
2939 |
+
msgstr "Stripe API Inställningar"
|
2940 |
+
|
2941 |
+
#: views/payments/payment-gateway/admin_stripe_subscription_button.php:163
|
2942 |
+
msgid "Webook Endpoint URL"
|
2943 |
+
msgstr "Webook Endpoint URL"
|
2944 |
+
|
2945 |
+
#: views/payments/payment-gateway/braintree_button_shortcode_view.php:20
|
2946 |
+
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:91
|
2947 |
+
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:93
|
2948 |
+
#: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:15
|
2949 |
+
#: views/payments/payment-gateway/stripe_button_shortcode_view.php:20
|
2950 |
+
#: views/payments/payment-gateway/stripe_button_shortcode_view.php:150
|
2951 |
+
msgid "Buy Now"
|
2952 |
+
msgstr "Köp nu"
|
2953 |
+
|
2954 |
+
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:226
|
2955 |
+
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:228
|
2956 |
+
msgid "Subscribe Now"
|
2957 |
+
msgstr "Prenumerera nu"
|
2958 |
+
|
2959 |
+
#: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:137
|
2960 |
+
msgid "Error occured during PayPal Smart Checkout process."
|
2961 |
+
msgstr "Ett fel uppstod under PayPal Smart Checkout-processen."
|
2962 |
+
|
2963 |
+
#: views/payments/payment-gateway/paypal_smart_checkout_button_shortcode_view.php:165
|
2964 |
+
msgid "HTTP error occured during payment process:"
|
2965 |
+
msgstr "HTTP-fel uppstod under betalningsprocessen:"
|
2966 |
+
|
2967 |
+
#: Translation strings from addons === Form builder addon
|
2968 |
+
msgid "Type password here"
|
2969 |
+
msgstr "Skriv lösenord här"
|
2970 |
+
|
2971 |
+
msgid "Retype password here"
|
2972 |
+
msgstr "Skriv lösenordet här igen"
|
2973 |
+
|
2974 |
+
msgid "Registration is complete. You can now log into the site."
|
2975 |
+
msgstr "Registreringen är klar. Du kan nu logga in på webbplatsen."
|
2976 |
+
|
2977 |
+
msgid " Field has invalid character"
|
2978 |
+
msgstr " Fältet har ogiltig karaktär"
|
2979 |
+
|
2980 |
+
msgid " Password does not match"
|
2981 |
+
msgstr " Lösenordet matchar inte"
|
2982 |
+
|
2983 |
+
msgid "Already taken."
|
2984 |
+
msgstr "Redan taget."
|
2985 |
+
|
2986 |
+
msgid "Street Address"
|
2987 |
+
msgstr "Gatuadress"
|
2988 |
+
|
2989 |
+
msgid "Apt, Suite, Bldg. (optional)"
|
2990 |
+
msgstr "Vån, lght-nr (valfritt)"
|
2991 |
+
|
2992 |
+
msgid "State / Province / Region"
|
2993 |
+
msgstr "Stat / provins / region"
|
2994 |
+
|
2995 |
+
msgid "Postal / Zip Code"
|
2996 |
+
msgstr "Postnummer"
|
2997 |
+
|
2998 |
+
msgid ""
|
2999 |
+
"Check this box to delete the image. The image will be deleted when you save "
|
3000 |
+
"the profile."
|
3001 |
+
msgstr ""
|
3002 |
+
"Markera den här rutan för att ta bort bilden. Bilden raderas när du sparar "
|
3003 |
+
"profilen."
|
3004 |
+
|
3005 |
+
msgid "You will need to re-login since you changed your password."
|
3006 |
+
msgstr "Du måste logga in igen eftersom du ändrade lösenordet."
|
3007 |
+
|
3008 |
+
msgid ""
|
3009 |
+
"Please enter any two digits with <strong>no</strong> spaces (Example: 12)"
|
3010 |
+
msgstr ""
|
3011 |
+
"Vänligen ange två siffror med <strong>inga</strong> mellanslag (Exempel: 12)"
|
3012 |
+
|
3013 |
+
msgid "Verification"
|
3014 |
+
msgstr "Verifiering"
|
3015 |
+
|
3016 |
+
msgid "Please enter any two digits with no spaces (Example: 12)*"
|
3017 |
+
msgstr "Vänligen ange två siffror utan mellanslag (Exempel: 12) *"
|
3018 |
+
|
3019 |
+
msgid "Username can only contain: letters, numbers and .-*@"
|
3020 |
+
msgstr "Användarnamnet kan endast innehålla: bokstäver, siffror och .- * @"
|
3021 |
+
|
3022 |
+
msgid "Allowed characters are: letters, numbers and .-_*@"
|
3023 |
+
msgstr "Tillåtna tecken är: bokstäver, siffror och.-_ * @"
|
3024 |
+
|
3025 |
+
#: === Partial protection addon strings
|
3026 |
+
msgid "You do not have permission to view this content."
|
3027 |
+
msgstr "Du har inte behörighet att se detta innehåll."
|
3028 |
+
|
3029 |
+
msgid "Your membership level does not have permission to view this content."
|
3030 |
+
msgstr "Din medlemsnivå har inte behörighet att se detta innehåll."
|
3031 |
+
|
3032 |
+
msgid "This content is for members only."
|
3033 |
+
msgstr "Detta innehåll är endast för medlemmar."
|
3034 |
+
|
3035 |
+
msgid "Please check at least one."
|
3036 |
+
msgstr "Vänligen välj minst en."
|
3037 |
+
|
3038 |
+
#: === Member Directory Listing addon strings swpm-member-directory-admin.php:9
|
3039 |
+
msgid "Member Directory"
|
3040 |
+
msgstr "Medlemskatalog"
|
3041 |
+
|
3042 |
+
#: includes/swpm_mda_show_profile.php:26
|
3043 |
+
msgid "Member ID"
|
3044 |
+
msgstr "Medelms-ID"
|
3045 |
+
|
3046 |
+
#: includes/swpm_mda_show_profile.php:30
|
3047 |
+
msgid "Level"
|
3048 |
+
msgstr "Nivå"
|
3049 |
+
|
3050 |
+
#: includes/swpm_mda_show_profile.php:32
|
3051 |
+
msgid "Address"
|
3052 |
+
msgstr "Adress"
|
3053 |
+
|
3054 |
+
#: views/template-1.php:52 views/template-2.php:53
|
3055 |
+
msgid "Search..."
|
3056 |
+
msgstr "Sök…"
|
3057 |
+
|
3058 |
+
#: views/template-1.php:60 views/template-2.php:62
|
3059 |
+
msgid "Clear Search"
|
3060 |
+
msgstr "Rensa Sök"
|
3061 |
+
|
3062 |
+
# === Misc Shortcodes Addon ===
|
3063 |
+
msgid "You must be logged in to upgrade a membership."
|
3064 |
+
msgstr "Du måste vara inloggad för att uppgradera ett medlemskap."
|
3065 |
+
|
3066 |
+
msgid "Membership level has been updated."
|
3067 |
+
msgstr "Medlemskapsnivån har uppdaterats."
|
3068 |
+
|
3069 |
+
msgid "Already a member of this level."
|
3070 |
+
msgstr "Redan medlem på denna nivå."
|
languages/simple-membership.pot
CHANGED
@@ -1576,6 +1576,18 @@ msgstr ""
|
|
1576 |
msgid "Activation Required"
|
1577 |
msgstr ""
|
1578 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1579 |
#: classes/class.swpm-utils.php:119 views/admin_members_list.php:22
|
1580 |
msgid "Pending"
|
1581 |
msgstr ""
|
1576 |
msgid "Activation Required"
|
1577 |
msgstr ""
|
1578 |
|
1579 |
+
#: classes/class.swpm-utils.php:119
|
1580 |
+
msgid "Male"
|
1581 |
+
msgstr ""
|
1582 |
+
|
1583 |
+
#: classes/class.swpm-utils.php:120
|
1584 |
+
msgid "Female"
|
1585 |
+
msgstr ""
|
1586 |
+
|
1587 |
+
#: classes/class.swpm-utils.php:121
|
1588 |
+
msgid "Not Specified"
|
1589 |
+
msgstr ""
|
1590 |
+
|
1591 |
#: classes/class.swpm-utils.php:119 views/admin_members_list.php:22
|
1592 |
msgid "Pending"
|
1593 |
msgstr ""
|
lib/stripe-gateway/CHANGELOG.md
CHANGED
@@ -1,732 +1,1160 @@
|
|
1 |
# Changelog
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
## 6.43.1 - 2019-08-29
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
|
|
9 |
|
10 |
## 6.43.0 - 2019-08-09
|
11 |
-
|
|
|
12 |
|
13 |
## 6.42.0 - 2019-08-09
|
14 |
-
|
15 |
-
|
|
|
16 |
|
17 |
## 6.41.0 - 2019-07-31
|
18 |
-
|
|
|
19 |
|
20 |
## 6.40.0 - 2019-06-27
|
21 |
-
|
|
|
22 |
|
23 |
## 6.39.2 - 2019-06-26
|
24 |
-
|
|
|
25 |
|
26 |
## 6.39.1 - 2019-06-25
|
27 |
-
|
|
|
28 |
|
29 |
## 6.39.0 - 2019-06-24
|
30 |
-
|
|
|
31 |
|
32 |
## 6.38.0 - 2019-06-17
|
33 |
-
|
|
|
34 |
|
35 |
## 6.37.2 - 2019-06-17
|
36 |
-
|
37 |
-
|
|
|
38 |
|
39 |
## 6.37.1 - 2019-06-14
|
40 |
-
|
|
|
41 |
|
42 |
## 6.37.0 - 2019-05-23
|
43 |
-
|
|
|
44 |
|
45 |
## 6.36.0 - 2019-05-22
|
46 |
-
|
47 |
-
|
|
|
48 |
|
49 |
## 6.35.2 - 2019-05-20
|
50 |
-
|
51 |
-
|
52 |
-
|
|
|
53 |
|
54 |
## 6.35.1 - 2019-05-20
|
55 |
-
|
|
|
56 |
|
57 |
## 6.35.0 - 2019-05-14
|
58 |
-
|
|
|
59 |
|
60 |
## 6.34.6 - 2019-05-13
|
61 |
-
|
|
|
62 |
|
63 |
## 6.34.5 - 2019-05-06
|
64 |
-
|
|
|
65 |
|
66 |
## 6.34.4 - 2019-05-06
|
67 |
-
|
|
|
68 |
|
69 |
## 6.34.3 - 2019-05-01
|
70 |
-
|
71 |
-
|
|
|
72 |
|
73 |
## 6.34.2 - 2019-04-26
|
74 |
-
|
|
|
75 |
|
76 |
## 6.34.1 - 2019-04-25
|
77 |
-
|
|
|
78 |
|
79 |
## 6.34.0 - 2019-04-24
|
80 |
-
|
81 |
-
|
|
|
82 |
|
83 |
## 6.33.0 - 2019-04-22
|
84 |
-
|
|
|
85 |
|
86 |
## 6.32.1 - 2019-04-19
|
87 |
-
|
|
|
88 |
|
89 |
## 6.32.0 - 2019-04-18
|
90 |
-
|
|
|
91 |
|
92 |
## 6.31.5 - 2019-04-12
|
93 |
-
|
94 |
-
|
|
|
95 |
|
96 |
## 6.31.4 - 2019-04-05
|
97 |
-
|
|
|
98 |
|
99 |
## 6.31.3 - 2019-04-02
|
100 |
-
|
|
|
101 |
|
102 |
## 6.31.2 - 2019-03-25
|
103 |
-
|
|
|
104 |
|
105 |
## 6.31.1 - 2019-03-22
|
106 |
-
|
107 |
-
|
|
|
108 |
|
109 |
## 6.31.0 - 2019-03-18
|
110 |
-
|
111 |
-
|
112 |
-
|
|
|
113 |
|
114 |
## 6.30.5 - 2019-03-11
|
115 |
-
|
|
|
116 |
|
117 |
## 6.30.4 - 2019-02-27
|
118 |
-
|
|
|
119 |
|
120 |
## 6.30.3 - 2019-02-26
|
121 |
-
|
|
|
122 |
|
123 |
## 6.30.2 - 2019-02-25
|
124 |
-
|
|
|
125 |
|
126 |
## 6.30.1 - 2019-02-16
|
127 |
-
|
|
|
128 |
|
129 |
## 6.30.0 - 2019-02-12
|
130 |
-
|
|
|
131 |
|
132 |
## 6.29.3 - 2019-01-31
|
133 |
-
|
|
|
134 |
|
135 |
## 6.29.2 - 2019-01-31
|
136 |
-
|
|
|
137 |
|
138 |
## 6.29.1 - 2019-01-25
|
139 |
-
|
140 |
-
|
|
|
141 |
|
142 |
## 6.29.0 - 2019-01-23
|
143 |
-
|
|
|
144 |
|
145 |
## 6.28.1 - 2019-01-21
|
146 |
-
|
|
|
147 |
|
148 |
## 6.28.0 - 2019-01-03
|
149 |
-
|
|
|
150 |
|
151 |
## 6.27.0 - 2018-12-21
|
152 |
-
|
|
|
153 |
|
154 |
## 6.26.0 - 2018-12-11
|
155 |
-
|
|
|
156 |
|
157 |
## 6.25.0 - 2018-12-10
|
158 |
-
|
|
|
159 |
|
160 |
## 6.24.0 - 2018-11-28
|
161 |
-
|
162 |
-
|
|
|
163 |
|
164 |
## 6.23.0 - 2018-11-27
|
165 |
-
|
|
|
166 |
|
167 |
## 6.22.1 - 2018-11-20
|
168 |
-
|
|
|
169 |
|
170 |
## 6.22.0 - 2018-11-15
|
171 |
-
|
|
|
172 |
|
173 |
## 6.21.1 - 2018-11-12
|
174 |
-
|
|
|
175 |
|
176 |
## 6.21.0 - 2018-11-08
|
177 |
-
|
|
|
178 |
|
179 |
## 6.20.1 - 2018-11-07
|
180 |
-
|
|
|
181 |
|
182 |
## 6.20.0 - 2018-10-30
|
183 |
-
|
184 |
-
|
|
|
185 |
|
186 |
## 6.19.5 - 2018-10-17
|
187 |
-
|
|
|
188 |
|
189 |
## 6.19.4 - 2018-10-11
|
190 |
-
|
|
|
191 |
|
192 |
## 6.19.3 - 2018-10-09
|
193 |
-
|
|
|
194 |
|
195 |
## 6.19.2 - 2018-10-08
|
196 |
-
|
|
|
197 |
|
198 |
## 6.19.1 - 2018-09-25
|
199 |
-
|
|
|
200 |
|
201 |
## 6.19.0 - 2018-09-24
|
202 |
-
|
|
|
203 |
|
204 |
## 6.18.0 - 2018-09-24
|
205 |
-
|
|
|
206 |
|
207 |
## 6.17.2 - 2018-09-18
|
208 |
-
|
|
|
209 |
|
210 |
## 6.17.1 - 2018-09-14
|
211 |
-
|
|
|
212 |
|
213 |
## 6.17.0 - 2018-09-05
|
214 |
-
|
|
|
215 |
|
216 |
## 6.16.0 - 2018-08-23
|
217 |
-
|
|
|
218 |
|
219 |
## 6.15.0 - 2018-08-03
|
220 |
-
|
|
|
221 |
|
222 |
## 6.14.0 - 2018-08-02
|
223 |
-
|
|
|
224 |
|
225 |
## 6.13.0 - 2018-07-31
|
226 |
-
|
|
|
227 |
|
228 |
## 6.12.0 - 2018-07-28
|
229 |
-
|
|
|
230 |
|
231 |
## 6.11.0 - 2018-07-26
|
232 |
-
|
|
|
233 |
|
234 |
## 6.10.4 - 2018-07-19
|
235 |
-
|
|
|
236 |
|
237 |
## 6.10.3 - 2018-07-16
|
238 |
-
|
|
|
239 |
|
240 |
## 6.10.2 - 2018-07-11
|
241 |
-
|
|
|
242 |
|
243 |
## 6.10.1 - 2018-07-10
|
244 |
-
|
|
|
245 |
|
246 |
## 6.10.0 - 2018-06-28
|
247 |
-
|
|
|
248 |
|
249 |
## 6.9.0 - 2018-06-28
|
250 |
-
|
|
|
251 |
|
252 |
## 6.8.2 - 2018-06-24
|
253 |
-
|
|
|
254 |
|
255 |
## 6.8.1 - 2018-06-13
|
256 |
-
|
|
|
257 |
|
258 |
## 6.8.0 - 2018-06-13
|
259 |
-
|
|
|
260 |
|
261 |
## 6.7.4 - 2018-05-29
|
262 |
-
|
|
|
263 |
|
264 |
## 6.7.3 - 2018-05-28
|
265 |
-
|
|
|
266 |
|
267 |
## 6.7.2 - 2018-05-28
|
268 |
-
|
|
|
269 |
|
270 |
## 6.7.1 - 2018-05-13
|
271 |
-
|
|
|
272 |
|
273 |
## 6.7.0 - 2018-05-09
|
274 |
-
|
|
|
275 |
|
276 |
## 6.6.0 - 2018-04-11
|
277 |
-
|
|
|
278 |
|
279 |
## 6.5.0 - 2018-04-05
|
280 |
-
|
|
|
281 |
|
282 |
## 6.4.2 - 2018-03-17
|
283 |
-
|
|
|
284 |
|
285 |
## 6.4.1 - 2018-03-02
|
286 |
-
|
287 |
-
|
|
|
288 |
|
289 |
## 6.4.0 - 2018-02-28
|
290 |
-
|
|
|
291 |
|
292 |
## 6.3.2 - 2018-02-27
|
293 |
-
|
|
|
294 |
|
295 |
## 6.3.1 - 2018-02-26
|
296 |
-
|
|
|
297 |
|
298 |
## 6.3.0 - 2018-02-23
|
299 |
-
|
|
|
300 |
|
301 |
## 6.2.0 - 2018-02-21
|
302 |
-
|
303 |
-
|
|
|
304 |
|
305 |
## 6.1.0 - 2018-02-12
|
306 |
-
|
307 |
-
|
|
|
308 |
|
309 |
## 6.0.0 - 2018-02-07
|
|
|
310 |
Major version release. List of backwards incompatible changes to watch out for:
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
*
|
|
|
|
|
|
|
|
|
315 |
|
316 |
Pull requests included in this release:
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
|
|
326 |
|
327 |
## 5.9.2 - 2018-02-07
|
328 |
-
|
|
|
329 |
|
330 |
## 5.9.1 - 2018-02-06
|
331 |
-
|
|
|
332 |
|
333 |
## 5.9.0 - 2018-01-17
|
334 |
-
|
335 |
-
|
|
|
336 |
|
337 |
## 5.8.0 - 2017-12-20
|
338 |
-
|
|
|
339 |
|
340 |
## 5.7.0 - 2017-11-28
|
341 |
-
|
342 |
-
|
343 |
-
|
|
|
344 |
|
345 |
## 5.6.0 - 2017-10-31
|
346 |
-
|
|
|
347 |
|
348 |
## 5.5.1 - 2017-10-30
|
349 |
-
|
|
|
350 |
|
351 |
## 5.5.0 - 2017-10-27
|
352 |
-
|
|
|
353 |
|
354 |
## 5.4.0 - 2017-10-24
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
|
|
360 |
|
361 |
## 5.3.0 - 2017-10-11
|
362 |
-
|
|
|
363 |
|
364 |
## 5.2.3 - 2017-09-27
|
365 |
-
|
|
|
366 |
|
367 |
## 5.2.2 - 2017-09-20
|
368 |
-
|
|
|
369 |
|
370 |
## 5.2.1 - 2017-09-14
|
371 |
-
|
|
|
372 |
|
373 |
## 5.2.0 - 2017-08-29
|
374 |
-
|
|
|
375 |
|
376 |
## 5.1.3 - 2017-08-14
|
377 |
-
|
|
|
378 |
|
379 |
## 5.1.2 - 2017-08-01
|
380 |
-
|
|
|
381 |
|
382 |
## 5.1.1 - 2017-07-03
|
383 |
-
|
|
|
384 |
|
385 |
## 5.1.0 - 2017-06-30
|
386 |
-
|
|
|
387 |
|
388 |
## 5.0.0 - 2017-06-27
|
389 |
-
|
|
|
390 |
|
391 |
## 4.13.0 - 2017-06-19
|
392 |
-
|
|
|
393 |
|
394 |
## 4.12.0 - 2017-06-05
|
395 |
-
|
|
|
396 |
|
397 |
## 4.11.0 - 2017-06-05
|
398 |
-
|
|
|
399 |
|
400 |
## 4.10.0 - 2017-05-25
|
401 |
-
|
|
|
402 |
|
403 |
## 4.9.1 - 2017-05-10
|
404 |
-
|
|
|
405 |
|
406 |
## 4.9.0 - 2017-04-28
|
407 |
-
|
|
|
408 |
|
409 |
## 4.8.1 - 2017-04-24
|
410 |
-
|
|
|
411 |
|
412 |
## 4.8.0 - 2017-04-20
|
413 |
-
|
|
|
414 |
|
415 |
## 4.7.0 - 2017-04-10
|
416 |
-
|
|
|
417 |
|
418 |
## 4.6.0 - 2017-04-06
|
419 |
-
|
|
|
420 |
|
421 |
## 4.5.1 - 2017-03-22
|
422 |
-
|
|
|
423 |
|
424 |
## 4.5.0 - 2017-03-20
|
425 |
-
|
|
|
426 |
|
427 |
## 4.4.2 - 2017-02-27
|
428 |
-
|
|
|
429 |
|
430 |
## 4.4.1 - 2017-02-24
|
431 |
-
|
|
|
432 |
|
433 |
## 4.4.0 - 2017-01-18
|
434 |
-
|
|
|
435 |
|
436 |
## 4.3.0 - 2016-11-30
|
437 |
-
|
|
|
438 |
|
439 |
## 4.2.0 - 2016-11-21
|
440 |
-
|
|
|
441 |
|
442 |
## 4.1.1 - 2016-10-21
|
443 |
-
|
|
|
444 |
|
445 |
## 4.1.0 - 2016-10-18
|
446 |
-
|
|
|
447 |
|
448 |
## 4.0.1 - 2016-10-17
|
449 |
-
|
450 |
-
|
|
|
451 |
|
452 |
## 4.0.0 - 2016-09-28
|
453 |
-
|
454 |
-
|
|
|
455 |
|
456 |
## 3.23.0 - 2016-09-15
|
457 |
-
|
|
|
458 |
|
459 |
## 3.22.0 - 2016-09-13
|
460 |
-
|
|
|
461 |
|
462 |
## 3.21.0 - 2016-08-25
|
463 |
-
|
|
|
464 |
|
465 |
## 3.20.0 - 2016-08-08
|
466 |
-
|
|
|
467 |
|
468 |
## 3.19.0 - 2016-07-29
|
469 |
-
|
|
|
470 |
|
471 |
## 3.18.0 - 2016-07-28
|
472 |
-
|
|
|
473 |
|
474 |
## 3.17.1 - 2016-07-28
|
475 |
-
|
|
|
476 |
|
477 |
## 3.17.0 - 2016-07-14
|
478 |
-
|
|
|
479 |
|
480 |
## 3.16.0 - 2016-07-12
|
481 |
-
|
|
|
482 |
|
483 |
## 3.15.0 - 2016-06-29
|
484 |
-
|
|
|
485 |
|
486 |
## 3.14.3 - 2016-06-20
|
487 |
-
|
|
|
488 |
|
489 |
## 3.14.2 - 2016-06-03
|
490 |
-
|
|
|
491 |
|
492 |
## 3.14.1 - 2016-05-27
|
493 |
-
|
|
|
494 |
|
495 |
## 3.14.0 - 2016-05-25
|
496 |
-
|
|
|
497 |
|
498 |
## 3.13.0 - 2016-05-04
|
499 |
-
|
|
|
500 |
|
501 |
## 3.12.1 - 2016-04-07
|
502 |
-
|
|
|
503 |
|
504 |
## 3.12.0 - 2016-03-31
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
|
|
509 |
|
510 |
## 3.11.0 - 2016-03-22
|
511 |
-
|
|
|
512 |
|
513 |
## 3.10.1 - 2016-03-22
|
514 |
-
|
|
|
515 |
|
516 |
## 3.10.0 - 2016-03-15
|
517 |
-
|
|
|
518 |
|
519 |
## 3.9.2 - 2016-03-04
|
520 |
-
|
|
|
521 |
|
522 |
## 3.9.1 - 2016-02-24
|
523 |
-
|
|
|
524 |
|
525 |
## 3.9.0 - 2016-02-09
|
526 |
-
|
527 |
-
|
|
|
528 |
|
529 |
## 3.8.0 - 2016-02-08
|
530 |
-
|
|
|
531 |
|
532 |
## 3.7.1 - 2016-02-01
|
533 |
-
|
|
|
534 |
|
535 |
## 3.7.0 - 2016-01-27
|
536 |
-
|
|
|
537 |
|
538 |
## 3.6.0 - 2016-01-05
|
539 |
-
|
|
|
540 |
|
541 |
## 3.5.0 - 2015-12-01
|
542 |
-
|
|
|
543 |
|
544 |
## 3.4.0 - 2015-09-14
|
545 |
-
|
|
|
546 |
|
547 |
## 3.3.0 - 2015-09-11
|
548 |
-
|
|
|
549 |
|
550 |
## 3.2.0 - 2015-08-17
|
551 |
-
|
|
|
552 |
|
553 |
## 3.1.0 - 2015-08-03
|
554 |
-
|
555 |
-
|
|
|
556 |
|
557 |
## 3.0.0 - 2015-07-28
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
|
|
562 |
|
563 |
## 2.3.0 - 2015-07-06
|
564 |
-
|
|
|
565 |
|
566 |
## 2.2.0 - 2015-06-01
|
567 |
-
|
568 |
-
|
569 |
-
|
|
|
570 |
|
571 |
## 2.1.4 - 2015-05-13
|
572 |
-
|
|
|
573 |
|
574 |
## 2.1.3 - 2015-05-12
|
575 |
-
|
576 |
-
|
577 |
-
|
|
|
578 |
|
579 |
## 2.1.2 - 2015-04-10
|
580 |
-
|
581 |
-
|
|
|
582 |
|
583 |
## 2.1.1 - 2015-02-27
|
584 |
-
|
|
|
585 |
|
586 |
## 2.1.0 - 2015-02-19
|
587 |
-
|
588 |
-
|
589 |
-
|
|
|
590 |
|
591 |
## 2.0.1 - 2015-02-16
|
592 |
-
|
|
|
593 |
|
594 |
## 2.0.0 - 2015-02-14
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
|
|
601 |
|
602 |
## 1.18.0 - 2015-01-21
|
603 |
-
|
|
|
604 |
|
605 |
## 1.17.5 - 2014-12-23
|
606 |
-
|
|
|
607 |
|
608 |
## 1.17.4 - 2014-12-15
|
609 |
-
|
610 |
-
|
|
|
611 |
|
612 |
## 1.17.3 - 2014-11-06
|
613 |
-
|
|
|
614 |
|
615 |
## 1.17.2 - 2014-09-23
|
616 |
-
|
617 |
-
|
|
|
618 |
|
619 |
## 1.17.1 - 2014-07-31
|
620 |
-
|
|
|
621 |
|
622 |
## 1.17.0 - 2014-07-29
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
|
|
627 |
|
628 |
## 1.16.0 - 2014-06-17
|
629 |
-
|
|
|
630 |
|
631 |
## 1.15.0 - 2014-05-28
|
632 |
-
|
|
|
633 |
|
634 |
## 1.14.1 - 2014-05-21
|
635 |
-
|
|
|
636 |
|
637 |
## 1.13.1 - 2014-05-15
|
638 |
-
|
|
|
639 |
|
640 |
## 1.13.0 - 2014-04-10
|
641 |
-
|
642 |
-
|
643 |
-
|
|
|
644 |
|
645 |
## 1.12.0 - 2014-04-01
|
646 |
-
|
647 |
-
|
|
|
648 |
|
649 |
## 1.11.0 - 2014-01-29
|
650 |
-
|
|
|
651 |
|
652 |
## 1.10.1 - 2013-12-02
|
653 |
-
|
|
|
654 |
|
655 |
## 1.9.1 - 2013-11-08
|
656 |
-
|
|
|
657 |
|
658 |
## 1.9.0 - 2013-10-16
|
659 |
-
|
|
|
660 |
|
661 |
## 1.8.4 - 2013-09-18
|
662 |
-
|
|
|
663 |
|
664 |
## 1.8.3 - 2013-08-13
|
665 |
-
|
|
|
666 |
|
667 |
## 1.8.2 - 2013-08-12
|
668 |
-
|
|
|
669 |
|
670 |
## 1.8.1 - 2013-07-12
|
671 |
-
|
|
|
672 |
|
673 |
## 1.8.0 - 2013-04-11
|
674 |
-
|
675 |
-
|
|
|
676 |
|
677 |
## 1.7.15 - 2013-02-21
|
678 |
-
|
|
|
679 |
|
680 |
## 1.7.14 - 2013-02-20
|
681 |
|
682 |
-
|
683 |
-
|
684 |
|
685 |
## 1.7.13 - 2013-02-01
|
686 |
-
|
|
|
687 |
|
688 |
## 1.7.12 - 2013-01-15
|
689 |
-
|
|
|
690 |
|
691 |
## 1.7.11 - 2012-12-30
|
692 |
-
|
|
|
693 |
|
694 |
## 1.7.10 - 2012-11-08
|
695 |
-
|
696 |
-
|
|
|
697 |
|
698 |
## 1.7.9 - 2012-11-08
|
699 |
-
|
|
|
700 |
|
701 |
## 1.7.8 - 2012-10-30
|
702 |
-
|
703 |
-
|
704 |
-
|
|
|
705 |
|
706 |
## 1.7.7 - 2012-09-14
|
707 |
-
|
|
|
708 |
|
709 |
## 1.7.6 - 2012-08-31
|
710 |
-
|
|
|
711 |
|
712 |
## 1.7.5 - 2012-08-23
|
713 |
-
|
|
|
714 |
|
715 |
## 1.7.4 - 2012-08-21
|
716 |
-
|
|
|
717 |
|
718 |
## 1.7.3 - 2012-08-15
|
719 |
-
|
|
|
720 |
|
721 |
## 1.7.2 - 2012-06-26
|
722 |
-
|
|
|
723 |
|
724 |
## 1.7.1 - 2012-05-24
|
725 |
-
|
|
|
726 |
|
727 |
## 1.7.0 - 2012-05-17
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
|
1 |
# Changelog
|
2 |
|
3 |
+
## 7.28.1 - 2020-04-10
|
4 |
+
* [#915](https://github.com/stripe/stripe-php/pull/915) Improve PHPdocs for many classes
|
5 |
+
|
6 |
+
## 7.28.0 - 2020-04-03
|
7 |
+
* [#912](https://github.com/stripe/stripe-php/pull/912) Preserve backwards compatibility for typoed `TYPE_ADJUSTEMENT` enum.
|
8 |
+
* [#911](https://github.com/stripe/stripe-php/pull/911) Codegenerated PHPDoc for nested resources
|
9 |
+
* [#902](https://github.com/stripe/stripe-php/pull/902) Update docstrings for nested resources
|
10 |
+
|
11 |
+
## 7.27.3 - 2020-03-18
|
12 |
+
* [#899](https://github.com/stripe/stripe-php/pull/899) Convert keys to strings in `StripeObject::toArray()`
|
13 |
+
|
14 |
+
## 7.27.2 - 2020-03-13
|
15 |
+
* [#894](https://github.com/stripe/stripe-php/pull/894) Multiple PHPDocs changes
|
16 |
+
|
17 |
+
## 7.27.1 - 2020-03-03
|
18 |
+
* [#890](https://github.com/stripe/stripe-php/pull/890) Update PHPdoc
|
19 |
+
|
20 |
+
## 7.27.0 - 2020-02-28
|
21 |
+
* [#889](https://github.com/stripe/stripe-php/pull/889) Add new constants for `type` on `TaxId`
|
22 |
+
|
23 |
+
## 7.26.0 - 2020-02-26
|
24 |
+
* [#886](https://github.com/stripe/stripe-php/pull/886) Add support for listing Checkout `Session`
|
25 |
+
* [#883](https://github.com/stripe/stripe-php/pull/883) Add PHPDoc class descriptions
|
26 |
+
|
27 |
+
## 7.25.0 - 2020-02-14
|
28 |
+
* [#879](https://github.com/stripe/stripe-php/pull/879) Make `\Stripe\Collection` implement `\Countable`
|
29 |
+
* [#875](https://github.com/stripe/stripe-php/pull/875) Last set of PHP-CS-Fixer updates
|
30 |
+
* [#874](https://github.com/stripe/stripe-php/pull/874) Enable php_unit_internal_class rule
|
31 |
+
* [#873](https://github.com/stripe/stripe-php/pull/873) Add support for phpDocumentor in Makefile
|
32 |
+
* [#872](https://github.com/stripe/stripe-php/pull/872) Another batch of PHP-CS-Fixer rule updates
|
33 |
+
* [#871](https://github.com/stripe/stripe-php/pull/871) Fix a few PHPDoc comments
|
34 |
+
* [#870](https://github.com/stripe/stripe-php/pull/870) More PHP-CS-Fixer tweaks
|
35 |
+
|
36 |
+
## 7.24.0 - 2020-02-10
|
37 |
+
* [#862](https://github.com/stripe/stripe-php/pull/862) Better PHPDoc
|
38 |
+
* [#865](https://github.com/stripe/stripe-php/pull/865) Get closer to `@PhpCsFixer` standard ruleset
|
39 |
+
|
40 |
+
## 7.23.0 - 2020-02-05
|
41 |
+
* [#860](https://github.com/stripe/stripe-php/pull/860) Add PHPDoc types for expandable fields
|
42 |
+
* [#858](https://github.com/stripe/stripe-php/pull/858) Use `native_function_invocation` PHPStan rule
|
43 |
+
* [#857](https://github.com/stripe/stripe-php/pull/857) Update PHPDoc on nested resources
|
44 |
+
* [#855](https://github.com/stripe/stripe-php/pull/855) PHPDoc: `StripeObject` -> `ErrorObject` where appropriate
|
45 |
+
* [#837](https://github.com/stripe/stripe-php/pull/837) Autogen diff
|
46 |
+
* [#854](https://github.com/stripe/stripe-php/pull/854) Upgrade PHPStan and fix settings
|
47 |
+
* [#850](https://github.com/stripe/stripe-php/pull/850) Yet more PHPDoc updates
|
48 |
+
|
49 |
+
## 7.22.0 - 2020-01-31
|
50 |
+
* [#849](https://github.com/stripe/stripe-php/pull/849) Add new constants for `type` on `TaxId`
|
51 |
+
* [#843](https://github.com/stripe/stripe-php/pull/843) Even more PHPDoc fixes
|
52 |
+
* [#841](https://github.com/stripe/stripe-php/pull/841) More PHPDoc fixes
|
53 |
+
|
54 |
+
## 7.21.1 - 2020-01-29
|
55 |
+
* [#840](https://github.com/stripe/stripe-php/pull/840) Update phpdocs across multiple resources.
|
56 |
+
|
57 |
+
## 7.21.0 - 2020-01-28
|
58 |
+
* [#839](https://github.com/stripe/stripe-php/pull/839) Add support for `TYPE_ES_CIF` on `TaxId`
|
59 |
+
|
60 |
+
## 7.20.0 - 2020-01-23
|
61 |
+
* [#836](https://github.com/stripe/stripe-php/pull/836) Add new type values for `TaxId`
|
62 |
+
|
63 |
+
## 7.19.1 - 2020-01-14
|
64 |
+
* [#831](https://github.com/stripe/stripe-php/pull/831) Fix incorrect `UnexpectedValueException` instantiation
|
65 |
+
|
66 |
+
## 7.19.0 - 2020-01-14
|
67 |
+
* [#830](https://github.com/stripe/stripe-php/pull/830) Add support for `CreditNoteLineItem`
|
68 |
+
|
69 |
+
## 7.18.0 - 2020-01-13
|
70 |
+
* [#829](https://github.com/stripe/stripe-php/pull/829) Don't call php_uname function if disabled by php.ini
|
71 |
+
|
72 |
+
## 7.17.0 - 2020-01-08
|
73 |
+
* [#821](https://github.com/stripe/stripe-php/pull/821) Improve PHPDoc types for `ApiErrorException.get/setJsonBody()` methods
|
74 |
+
|
75 |
+
## 7.16.0 - 2020-01-06
|
76 |
+
* [#826](https://github.com/stripe/stripe-php/pull/826) Rename remaining `$options` to `$opts`
|
77 |
+
* [#825](https://github.com/stripe/stripe-php/pull/825) Update PHPDoc
|
78 |
+
|
79 |
+
## 7.15.0 - 2020-01-06
|
80 |
+
* [#824](https://github.com/stripe/stripe-php/pull/824) Add constant `TYPE_SG_UEN` to `TaxId`
|
81 |
+
|
82 |
+
## 7.14.2 - 2019-12-04
|
83 |
+
* [#816](https://github.com/stripe/stripe-php/pull/816) Disable autoloader when checking for `Throwable`
|
84 |
+
|
85 |
+
## 7.14.1 - 2019-11-26
|
86 |
+
* [#812](https://github.com/stripe/stripe-php/pull/812) Fix invalid PHPdoc on `Subscription`
|
87 |
+
|
88 |
+
## 7.14.0 - 2019-11-26
|
89 |
+
* [#811](https://github.com/stripe/stripe-php/pull/811) Add support for `CreditNote` preview.
|
90 |
+
|
91 |
+
## 7.13.0 - 2019-11-19
|
92 |
+
* [#808](https://github.com/stripe/stripe-php/pull/808) Add support for listing lines on an Invoice directly via `Invoice::allLines()`
|
93 |
+
|
94 |
+
## 7.12.0 - 2019-11-08
|
95 |
+
|
96 |
+
- [#805](https://github.com/stripe/stripe-php/pull/805) Add Source::allSourceTransactions and SubscriptionItem::allUsageRecordSummaries
|
97 |
+
- [#798](https://github.com/stripe/stripe-php/pull/798) The argument of `array_key_exists` cannot be `null`
|
98 |
+
- [#803](https://github.com/stripe/stripe-php/pull/803) Removed unwanted got
|
99 |
+
|
100 |
+
## 7.11.0 - 2019-11-06
|
101 |
+
|
102 |
+
- [#797](https://github.com/stripe/stripe-php/pull/797) Add support for reverse pagination
|
103 |
+
|
104 |
+
## 7.10.0 - 2019-11-05
|
105 |
+
|
106 |
+
- [#795](https://github.com/stripe/stripe-php/pull/795) Add support for `Mandate`
|
107 |
+
|
108 |
+
## 7.9.0 - 2019-11-05
|
109 |
+
|
110 |
+
- [#794](https://github.com/stripe/stripe-php/pull/794) Add PHPDoc to `ApiResponse`
|
111 |
+
- [#792](https://github.com/stripe/stripe-php/pull/792) Use single quotes for `OBJECT_NAME` constants
|
112 |
+
|
113 |
+
## 7.8.0 - 2019-11-05
|
114 |
+
|
115 |
+
- [#790](https://github.com/stripe/stripe-php/pull/790) Mark nullable fields in PHPDoc
|
116 |
+
- [#788](https://github.com/stripe/stripe-php/pull/788) Early codegen fixes
|
117 |
+
- [#787](https://github.com/stripe/stripe-php/pull/787) Use PHPStan in Travis CI
|
118 |
+
|
119 |
+
## 7.7.1 - 2019-10-25
|
120 |
+
|
121 |
+
- [#781](https://github.com/stripe/stripe-php/pull/781) Fix telemetry header
|
122 |
+
- [#780](https://github.com/stripe/stripe-php/pull/780) Contributor Convenant
|
123 |
+
|
124 |
+
## 7.7.0 - 2019-10-23
|
125 |
+
|
126 |
+
- [#776](https://github.com/stripe/stripe-php/pull/776) Add `CAPABILITY_TRANSFERS` to `Account`
|
127 |
+
- [#778](https://github.com/stripe/stripe-php/pull/778) Add support for `TYPE_MX_RFC` type on `TaxId`
|
128 |
+
|
129 |
+
## 7.6.0 - 2019-10-22
|
130 |
+
|
131 |
+
- [#770](https://github.com/stripe/stripe-php/pull/770) Add missing constants for Customer's `TaxId`
|
132 |
+
|
133 |
+
## 7.5.0 - 2019-10-18
|
134 |
+
|
135 |
+
- [#768](https://github.com/stripe/stripe-php/pull/768) Redact API key in `RequestOptions` debug info
|
136 |
+
|
137 |
+
## 7.4.0 - 2019-10-15
|
138 |
+
|
139 |
+
- [#764](https://github.com/stripe/stripe-php/pull/764) Add support for HTTP request monitoring callback
|
140 |
+
|
141 |
+
## 7.3.1 - 2019-10-07
|
142 |
+
|
143 |
+
- [#755](https://github.com/stripe/stripe-php/pull/755) Respect Stripe-Should-Retry and Retry-After headers
|
144 |
+
|
145 |
+
## 7.3.0 - 2019-10-02
|
146 |
+
|
147 |
+
- [#752](https://github.com/stripe/stripe-php/pull/752) Add `payment_intent.canceled` and `setup_intent.canceled` events
|
148 |
+
- [#749](https://github.com/stripe/stripe-php/pull/749) Call `toArray()` on objects only
|
149 |
+
|
150 |
+
## 7.2.2 - 2019-09-24
|
151 |
+
|
152 |
+
- [#746](https://github.com/stripe/stripe-php/pull/746) Add missing decline codes
|
153 |
+
|
154 |
+
## 7.2.1 - 2019-09-23
|
155 |
+
|
156 |
+
- [#744](https://github.com/stripe/stripe-php/pull/744) Added new PHPDoc
|
157 |
+
|
158 |
+
## 7.2.0 - 2019-09-17
|
159 |
+
|
160 |
+
- [#738](https://github.com/stripe/stripe-php/pull/738) Added missing constants for `SetupIntent` events
|
161 |
+
|
162 |
+
## 7.1.1 - 2019-09-16
|
163 |
+
|
164 |
+
- [#737](https://github.com/stripe/stripe-php/pull/737) Added new PHPDoc
|
165 |
+
|
166 |
+
## 7.1.0 - 2019-09-13
|
167 |
+
|
168 |
+
- [#736](https://github.com/stripe/stripe-php/pull/736) Make `CaseInsensitiveArray` countable and traversable
|
169 |
+
|
170 |
+
## 7.0.2 - 2019-09-06
|
171 |
+
|
172 |
+
- [#729](https://github.com/stripe/stripe-php/pull/729) Fix usage of `SignatureVerificationException` in PHPDoc blocks
|
173 |
+
|
174 |
+
## 7.0.1 - 2019-09-05
|
175 |
+
|
176 |
+
- [#728](https://github.com/stripe/stripe-php/pull/728) Clean up Collection
|
177 |
+
|
178 |
+
## 7.0.0 - 2019-09-03
|
179 |
+
|
180 |
+
Major version release. The [migration guide](https://github.com/stripe/stripe-php/wiki/Migration-guide-for-v7) contains a detailed list of backwards-incompatible changes with upgrade instructions.
|
181 |
+
|
182 |
+
Pull requests included in this release (cf. [#552](https://github.com/stripe/stripe-php/pull/552)) (⚠️ = breaking changes):
|
183 |
+
|
184 |
+
- ⚠️ Drop support for PHP 5.4 ([#551](https://github.com/stripe/stripe-php/pull/551))
|
185 |
+
- ⚠️ Drop support for PHP 5.5 ([#554](https://github.com/stripe/stripe-php/pull/554))
|
186 |
+
- Bump dependencies ([#553](https://github.com/stripe/stripe-php/pull/553))
|
187 |
+
- Remove `CURLFile` check ([#555](https://github.com/stripe/stripe-php/pull/555))
|
188 |
+
- Update constant definitions for PHP >= 5.6 ([#556](https://github.com/stripe/stripe-php/pull/556))
|
189 |
+
- ⚠️ Remove `FileUpload` alias ([#557](https://github.com/stripe/stripe-php/pull/557))
|
190 |
+
- Remove `curl_reset` check ([#570](https://github.com/stripe/stripe-php/pull/570))
|
191 |
+
- Use `\Stripe\<class>::class` constant instead of strings ([#643](https://github.com/stripe/stripe-php/pull/643))
|
192 |
+
- Use `array_column` to flatten params ([#686](https://github.com/stripe/stripe-php/pull/686))
|
193 |
+
- ⚠️ Remove deprecated methods ([#692](https://github.com/stripe/stripe-php/pull/692))
|
194 |
+
- ⚠️ Remove `IssuerFraudRecord` ([#696](https://github.com/stripe/stripe-php/pull/696))
|
195 |
+
- Update constructors of Stripe exception classes ([#559](https://github.com/stripe/stripe-php/pull/559))
|
196 |
+
- Fix remaining TODOs ([#700](https://github.com/stripe/stripe-php/pull/700))
|
197 |
+
- Use yield for autopagination ([#703](https://github.com/stripe/stripe-php/pull/703))
|
198 |
+
- ⚠️ Rename fake magic methods and rewrite array conversion ([#704](https://github.com/stripe/stripe-php/pull/704))
|
199 |
+
- Add `ErrorObject` to Stripe exceptions ([#705](https://github.com/stripe/stripe-php/pull/705))
|
200 |
+
- Start using PHP CS Fixer ([#706](https://github.com/stripe/stripe-php/pull/706))
|
201 |
+
- Update error messages for nested resource operations ([#708](https://github.com/stripe/stripe-php/pull/708))
|
202 |
+
- Upgrade retry logic ([#707](https://github.com/stripe/stripe-php/pull/707))
|
203 |
+
- ⚠️ `Collection` improvements / fixes ([#715](https://github.com/stripe/stripe-php/pull/715))
|
204 |
+
- ⚠️ Modernize exceptions ([#709](https://github.com/stripe/stripe-php/pull/709))
|
205 |
+
- Add constants for error codes ([#716](https://github.com/stripe/stripe-php/pull/716))
|
206 |
+
- Update certificate bundle ([#717](https://github.com/stripe/stripe-php/pull/717))
|
207 |
+
- Retry requests on a 429 that's a lock timeout ([#718](https://github.com/stripe/stripe-php/pull/718))
|
208 |
+
- Fix `toArray()` calls ([#719](https://github.com/stripe/stripe-php/pull/719))
|
209 |
+
- Couple of fixes for PHP 7.4 ([#725](https://github.com/stripe/stripe-php/pull/725))
|
210 |
+
|
211 |
## 6.43.1 - 2019-08-29
|
212 |
+
|
213 |
+
- [#722](https://github.com/stripe/stripe-php/pull/722) Make `LoggerInterface::error` compatible with its PSR-3 counterpart
|
214 |
+
- [#714](https://github.com/stripe/stripe-php/pull/714) Add `pending_setup_intent` property in `Subscription`
|
215 |
+
- [#713](https://github.com/stripe/stripe-php/pull/713) Add typehint to `ApiResponse`
|
216 |
+
- [#712](https://github.com/stripe/stripe-php/pull/712) Fix comment
|
217 |
+
- [#701](https://github.com/stripe/stripe-php/pull/701) Start testing PHP 7.3
|
218 |
|
219 |
## 6.43.0 - 2019-08-09
|
220 |
+
|
221 |
+
- [#694](https://github.com/stripe/stripe-php/pull/694) Add `SubscriptionItem::createUsageRecord` method
|
222 |
|
223 |
## 6.42.0 - 2019-08-09
|
224 |
+
|
225 |
+
- [#688](https://github.com/stripe/stripe-php/pull/688) Remove `SubscriptionScheduleRevision`
|
226 |
+
- Note that this is technically a breaking change, however we've chosen to release it as a minor version in light of the fact that this resource and its API methods were virtually unused.
|
227 |
|
228 |
## 6.41.0 - 2019-07-31
|
229 |
+
|
230 |
+
- [#683](https://github.com/stripe/stripe-php/pull/683) Move the List Balance History API to `/v1/balance_transactions`
|
231 |
|
232 |
## 6.40.0 - 2019-06-27
|
233 |
+
|
234 |
+
- [#675](https://github.com/stripe/stripe-php/pull/675) Add support for `SetupIntent` resource and APIs
|
235 |
|
236 |
## 6.39.2 - 2019-06-26
|
237 |
+
|
238 |
+
- [#676](https://github.com/stripe/stripe-php/pull/676) Fix exception message in `CustomerBalanceTransaction::update()`
|
239 |
|
240 |
## 6.39.1 - 2019-06-25
|
241 |
+
|
242 |
+
- [#674](https://github.com/stripe/stripe-php/pull/674) Add new constants for `collection_method` on `Invoice`
|
243 |
|
244 |
## 6.39.0 - 2019-06-24
|
245 |
+
|
246 |
+
- [#673](https://github.com/stripe/stripe-php/pull/673) Enable request latency telemetry by default
|
247 |
|
248 |
## 6.38.0 - 2019-06-17
|
249 |
+
|
250 |
+
- [#649](https://github.com/stripe/stripe-php/pull/649) Add support for `CustomerBalanceTransaction` resource and APIs
|
251 |
|
252 |
## 6.37.2 - 2019-06-17
|
253 |
+
|
254 |
+
- [#671](https://github.com/stripe/stripe-php/pull/671) Add new PHPDoc
|
255 |
+
- [#672](https://github.com/stripe/stripe-php/pull/672) Add constants for `submit_type` on Checkout `Session`
|
256 |
|
257 |
## 6.37.1 - 2019-06-14
|
258 |
+
|
259 |
+
- [#670](https://github.com/stripe/stripe-php/pull/670) Add new PHPDoc
|
260 |
|
261 |
## 6.37.0 - 2019-05-23
|
262 |
+
|
263 |
+
- [#663](https://github.com/stripe/stripe-php/pull/663) Add support for `radar.early_fraud_warning` resource
|
264 |
|
265 |
## 6.36.0 - 2019-05-22
|
266 |
+
|
267 |
+
- [#661](https://github.com/stripe/stripe-php/pull/661) Add constants for new TaxId types
|
268 |
+
- [#662](https://github.com/stripe/stripe-php/pull/662) Add constants for BalanceTransaction types
|
269 |
|
270 |
## 6.35.2 - 2019-05-20
|
271 |
+
|
272 |
+
- [#655](https://github.com/stripe/stripe-php/pull/655) Add constants for payment intent statuses
|
273 |
+
- [#659](https://github.com/stripe/stripe-php/pull/659) Fix PHPDoc for various nested Account actions
|
274 |
+
- [#660](https://github.com/stripe/stripe-php/pull/660) Fix various PHPDoc
|
275 |
|
276 |
## 6.35.1 - 2019-05-20
|
277 |
+
|
278 |
+
- [#658](https://github.com/stripe/stripe-php/pull/658) Use absolute value when checking timestamp tolerance
|
279 |
|
280 |
## 6.35.0 - 2019-05-14
|
281 |
+
|
282 |
+
- [#651](https://github.com/stripe/stripe-php/pull/651) Add support for the Capability resource and APIs
|
283 |
|
284 |
## 6.34.6 - 2019-05-13
|
285 |
+
|
286 |
+
- [#654](https://github.com/stripe/stripe-php/pull/654) Fix typo in definition of `Event::PAYMENT_METHOD_ATTACHED` constant
|
287 |
|
288 |
## 6.34.5 - 2019-05-06
|
289 |
+
|
290 |
+
- [#647](https://github.com/stripe/stripe-php/pull/647) Set the return type to static for more operations
|
291 |
|
292 |
## 6.34.4 - 2019-05-06
|
293 |
+
|
294 |
+
- [#650](https://github.com/stripe/stripe-php/pull/650) Add missing constants for Event types
|
295 |
|
296 |
## 6.34.3 - 2019-05-01
|
297 |
+
|
298 |
+
- [#644](https://github.com/stripe/stripe-php/pull/644) Update return type to `static` to improve static analysis
|
299 |
+
- [#645](https://github.com/stripe/stripe-php/pull/645) Fix constant for `payment_intent.payment_failed`
|
300 |
|
301 |
## 6.34.2 - 2019-04-26
|
302 |
+
|
303 |
+
- [#642](https://github.com/stripe/stripe-php/pull/642) Fix an issue where existing idempotency keys would be overwritten when using automatic retries
|
304 |
|
305 |
## 6.34.1 - 2019-04-25
|
306 |
+
|
307 |
+
- [#640](https://github.com/stripe/stripe-php/pull/640) Add missing phpdocs
|
308 |
|
309 |
## 6.34.0 - 2019-04-24
|
310 |
+
|
311 |
+
- [#626](https://github.com/stripe/stripe-php/pull/626) Add support for the `TaxRate` resource and APIs
|
312 |
+
- [#639](https://github.com/stripe/stripe-php/pull/639) Fix multiple phpdoc issues
|
313 |
|
314 |
## 6.33.0 - 2019-04-22
|
315 |
+
|
316 |
+
- [#630](https://github.com/stripe/stripe-php/pull/630) Add support for the `TaxId` resource and APIs
|
317 |
|
318 |
## 6.32.1 - 2019-04-19
|
319 |
+
|
320 |
+
- [#636](https://github.com/stripe/stripe-php/pull/636) Correct type of `$personId` in PHPDoc
|
321 |
|
322 |
## 6.32.0 - 2019-04-18
|
323 |
+
|
324 |
+
- [#621](https://github.com/stripe/stripe-php/pull/621) Add support for `CreditNote`
|
325 |
|
326 |
## 6.31.5 - 2019-04-12
|
327 |
+
|
328 |
+
- [#628](https://github.com/stripe/stripe-php/pull/628) Add constants for `person.*` event types
|
329 |
+
- [#628](https://github.com/stripe/stripe-php/pull/628) Add missing constants for `Account` and `Person`
|
330 |
|
331 |
## 6.31.4 - 2019-04-05
|
332 |
+
|
333 |
+
- [#624](https://github.com/stripe/stripe-php/pull/624) Fix encoding of nested parameters in multipart requests
|
334 |
|
335 |
## 6.31.3 - 2019-04-02
|
336 |
+
|
337 |
+
- [#623](https://github.com/stripe/stripe-php/pull/623) Only use HTTP/2 with curl >= 7.60.0
|
338 |
|
339 |
## 6.31.2 - 2019-03-25
|
340 |
+
|
341 |
+
- [#619](https://github.com/stripe/stripe-php/pull/619) Fix PHPDoc return types for list methods for nested resources
|
342 |
|
343 |
## 6.31.1 - 2019-03-22
|
344 |
+
|
345 |
+
- [#612](https://github.com/stripe/stripe-php/pull/612) Add a lot of constants
|
346 |
+
- [#614](https://github.com/stripe/stripe-php/pull/614) Add missing subscription status constants
|
347 |
|
348 |
## 6.31.0 - 2019-03-18
|
349 |
+
|
350 |
+
- [#600](https://github.com/stripe/stripe-php/pull/600) Add support for the `PaymentMethod` resource and APIs
|
351 |
+
- [#606](https://github.com/stripe/stripe-php/pull/606) Add support for retrieving a Checkout `Session`
|
352 |
+
- [#611](https://github.com/stripe/stripe-php/pull/611) Add support for deleting a Terminal `Location` and `Reader`
|
353 |
|
354 |
## 6.30.5 - 2019-03-11
|
355 |
+
|
356 |
+
- [#607](https://github.com/stripe/stripe-php/pull/607) Correctly handle case where a metadata key is called `metadata`
|
357 |
|
358 |
## 6.30.4 - 2019-02-27
|
359 |
+
|
360 |
+
- [#602](https://github.com/stripe/stripe-php/pull/602) Add `subscription_schedule` to `Subscription` for PHPDoc.
|
361 |
|
362 |
## 6.30.3 - 2019-02-26
|
363 |
+
|
364 |
+
- [#603](https://github.com/stripe/stripe-php/pull/603) Improve PHPDoc on the `Source` object to cover all types of Sources currently supported.
|
365 |
|
366 |
## 6.30.2 - 2019-02-25
|
367 |
+
|
368 |
+
- [#601](https://github.com/stripe/stripe-php/pull/601) Fix PHPDoc across multiple resources and add support for new events.
|
369 |
|
370 |
## 6.30.1 - 2019-02-16
|
371 |
+
|
372 |
+
- [#599](https://github.com/stripe/stripe-php/pull/599) Fix PHPDoc for `SubscriptionSchedule` and `SubscriptionScheduleRevision`
|
373 |
|
374 |
## 6.30.0 - 2019-02-12
|
375 |
+
|
376 |
+
- [#590](https://github.com/stripe/stripe-php/pull/590) Add support for `SubscriptionSchedule` and `SubscriptionScheduleRevision`
|
377 |
|
378 |
## 6.29.3 - 2019-01-31
|
379 |
+
|
380 |
+
- [#592](https://github.com/stripe/stripe-php/pull/592) Some more PHPDoc fixes
|
381 |
|
382 |
## 6.29.2 - 2019-01-31
|
383 |
+
|
384 |
+
- [#591](https://github.com/stripe/stripe-php/pull/591) Fix PHPDoc for nested resources
|
385 |
|
386 |
## 6.29.1 - 2019-01-25
|
387 |
+
|
388 |
+
- [#566](https://github.com/stripe/stripe-php/pull/566) Fix dangling message contents
|
389 |
+
- [#586](https://github.com/stripe/stripe-php/pull/586) Don't overwrite `CURLOPT_HTTP_VERSION` option
|
390 |
|
391 |
## 6.29.0 - 2019-01-23
|
392 |
+
|
393 |
+
- [#579](https://github.com/stripe/stripe-php/pull/579) Rename `CheckoutSession` to `Session` and move it under the `Checkout` namespace. This is a breaking change, but we've reached out to affected merchants and all new merchants would use the new approach.
|
394 |
|
395 |
## 6.28.1 - 2019-01-21
|
396 |
+
|
397 |
+
- [#580](https://github.com/stripe/stripe-php/pull/580) Properly serialize `individual` on `Account` objects
|
398 |
|
399 |
## 6.28.0 - 2019-01-03
|
400 |
+
|
401 |
+
- [#576](https://github.com/stripe/stripe-php/pull/576) Add support for iterating directly over `Collection` instances
|
402 |
|
403 |
## 6.27.0 - 2018-12-21
|
404 |
+
|
405 |
+
- [#571](https://github.com/stripe/stripe-php/pull/571) Add support for the `CheckoutSession` resource
|
406 |
|
407 |
## 6.26.0 - 2018-12-11
|
408 |
+
|
409 |
+
- [#568](https://github.com/stripe/stripe-php/pull/568) Enable persistent connections
|
410 |
|
411 |
## 6.25.0 - 2018-12-10
|
412 |
+
|
413 |
+
- [#567](https://github.com/stripe/stripe-php/pull/567) Add support for account links
|
414 |
|
415 |
## 6.24.0 - 2018-11-28
|
416 |
+
|
417 |
+
- [#562](https://github.com/stripe/stripe-php/pull/562) Add support for the Review resource
|
418 |
+
- [#564](https://github.com/stripe/stripe-php/pull/564) Add event name constants for subscription schedule aborted/expiring
|
419 |
|
420 |
## 6.23.0 - 2018-11-27
|
421 |
+
|
422 |
+
- [#542](https://github.com/stripe/stripe-php/pull/542) Add support for `ValueList` and `ValueListItem` for Radar
|
423 |
|
424 |
## 6.22.1 - 2018-11-20
|
425 |
+
|
426 |
+
- [#561](https://github.com/stripe/stripe-php/pull/561) Add cast and some docs to telemetry introduced in 6.22.0/549
|
427 |
|
428 |
## 6.22.0 - 2018-11-15
|
429 |
+
|
430 |
+
- [#549](https://github.com/stripe/stripe-php/pull/549) Add support for client telemetry
|
431 |
|
432 |
## 6.21.1 - 2018-11-12
|
433 |
+
|
434 |
+
- [#548](https://github.com/stripe/stripe-php/pull/548) Don't mutate `Exception` class properties from `OAuthBase` error
|
435 |
|
436 |
## 6.21.0 - 2018-11-08
|
437 |
+
|
438 |
+
- [#537](https://github.com/stripe/stripe-php/pull/537) Add new API endpoints for the `Invoice` resource.
|
439 |
|
440 |
## 6.20.1 - 2018-11-07
|
441 |
+
|
442 |
+
- [#546](https://github.com/stripe/stripe-php/pull/546) Drop files from the Composer package that aren't needed in the release
|
443 |
|
444 |
## 6.20.0 - 2018-10-30
|
445 |
+
|
446 |
+
- [#536](https://github.com/stripe/stripe-php/pull/536) Add support for the `Person` resource
|
447 |
+
- [#541](https://github.com/stripe/stripe-php/pull/541) Add support for the `WebhookEndpoint` resource
|
448 |
|
449 |
## 6.19.5 - 2018-10-17
|
450 |
+
|
451 |
+
- [#539](https://github.com/stripe/stripe-php/pull/539) Fix methods on `\Stripe\PaymentIntent` to properly pass arguments to the API.
|
452 |
|
453 |
## 6.19.4 - 2018-10-11
|
454 |
+
|
455 |
+
- [#534](https://github.com/stripe/stripe-php/pull/534) Fix PSR-4 autoloading for `\Stripe\FileUpload` class alias
|
456 |
|
457 |
## 6.19.3 - 2018-10-09
|
458 |
+
|
459 |
+
- [#530](https://github.com/stripe/stripe-php/pull/530) Add constants for `flow` (`FLOW_*`), `status` (`STATUS_*`) and `usage` (`USAGE_*`) on `\Stripe\Source`
|
460 |
|
461 |
## 6.19.2 - 2018-10-08
|
462 |
+
|
463 |
+
- [#531](https://github.com/stripe/stripe-php/pull/531) Store HTTP response headers in case-insensitive array
|
464 |
|
465 |
## 6.19.1 - 2018-09-25
|
466 |
+
|
467 |
+
- [#526](https://github.com/stripe/stripe-php/pull/526) Ignore null values in request parameters
|
468 |
|
469 |
## 6.19.0 - 2018-09-24
|
470 |
+
|
471 |
+
- [#523](https://github.com/stripe/stripe-php/pull/523) Add support for Stripe Terminal
|
472 |
|
473 |
## 6.18.0 - 2018-09-24
|
474 |
+
|
475 |
+
- [#520](https://github.com/stripe/stripe-php/pull/520) Rename `\Stripe\FileUpload` to `\Stripe\File`
|
476 |
|
477 |
## 6.17.2 - 2018-09-18
|
478 |
+
|
479 |
+
- [#522](https://github.com/stripe/stripe-php/pull/522) Fix warning when adding a new additional owner to an existing array
|
480 |
|
481 |
## 6.17.1 - 2018-09-14
|
482 |
+
|
483 |
+
- [#517](https://github.com/stripe/stripe-php/pull/517) Integer-index encode all sequential arrays
|
484 |
|
485 |
## 6.17.0 - 2018-09-05
|
486 |
+
|
487 |
+
- [#514](https://github.com/stripe/stripe-php/pull/514) Add support for reporting resources
|
488 |
|
489 |
## 6.16.0 - 2018-08-23
|
490 |
+
|
491 |
+
- [#509](https://github.com/stripe/stripe-php/pull/509) Add support for usage record summaries
|
492 |
|
493 |
## 6.15.0 - 2018-08-03
|
494 |
+
|
495 |
+
- [#504](https://github.com/stripe/stripe-php/pull/504) Add cancel support for topups
|
496 |
|
497 |
## 6.14.0 - 2018-08-02
|
498 |
+
|
499 |
+
- [#505](https://github.com/stripe/stripe-php/pull/505) Add support for file links
|
500 |
|
501 |
## 6.13.0 - 2018-07-31
|
502 |
+
|
503 |
+
- [#502](https://github.com/stripe/stripe-php/pull/502) Add `isDeleted()` method to `\Stripe\StripeObject`
|
504 |
|
505 |
## 6.12.0 - 2018-07-28
|
506 |
+
|
507 |
+
- [#501](https://github.com/stripe/stripe-php/pull/501) Add support for scheduled query runs (`\Stripe\Sigma\ScheduledQueryRun`) for Sigma
|
508 |
|
509 |
## 6.11.0 - 2018-07-26
|
510 |
+
|
511 |
+
- [#500](https://github.com/stripe/stripe-php/pull/500) Add support for Stripe Issuing
|
512 |
|
513 |
## 6.10.4 - 2018-07-19
|
514 |
+
|
515 |
+
- [#498](https://github.com/stripe/stripe-php/pull/498) Internal improvements to the `\Stripe\ApiResource.classUrl()` method
|
516 |
|
517 |
## 6.10.3 - 2018-07-16
|
518 |
+
|
519 |
+
- [#497](https://github.com/stripe/stripe-php/pull/497) Use HTTP/2 only for HTTPS requests
|
520 |
|
521 |
## 6.10.2 - 2018-07-11
|
522 |
+
|
523 |
+
- [#494](https://github.com/stripe/stripe-php/pull/494) Enable HTTP/2 support
|
524 |
|
525 |
## 6.10.1 - 2018-07-10
|
526 |
+
|
527 |
+
- [#493](https://github.com/stripe/stripe-php/pull/493) Add PHPDoc for `auto_advance` on `\Stripe\Invoice`
|
528 |
|
529 |
## 6.10.0 - 2018-06-28
|
530 |
+
|
531 |
+
- [#488](https://github.com/stripe/stripe-php/pull/488) Add support for `$appPartnerId` to `Stripe::setAppInfo()`
|
532 |
|
533 |
## 6.9.0 - 2018-06-28
|
534 |
+
|
535 |
+
- [#487](https://github.com/stripe/stripe-php/pull/487) Add support for payment intents
|
536 |
|
537 |
## 6.8.2 - 2018-06-24
|
538 |
+
|
539 |
+
- [#486](https://github.com/stripe/stripe-php/pull/486) Make `Account.deauthorize()` return the `StripeObject` from the API
|
540 |
|
541 |
## 6.8.1 - 2018-06-13
|
542 |
+
|
543 |
+
- [#472](https://github.com/stripe/stripe-php/pull/472) Added phpDoc for `ApiRequestor` and others, especially regarding thrown errors
|
544 |
|
545 |
## 6.8.0 - 2018-06-13
|
546 |
+
|
547 |
+
- [#481](https://github.com/stripe/stripe-php/pull/481) Add new `\Stripe\Discount` and `\Stripe\OrderItem` classes, add more PHPDoc describing object attributes
|
548 |
|
549 |
## 6.7.4 - 2018-05-29
|
550 |
+
|
551 |
+
- [#480](https://github.com/stripe/stripe-php/pull/480) PHPDoc changes for API version 2018-05-21 and the addition of the new `CHARGE_EXPIRED` event type
|
552 |
|
553 |
## 6.7.3 - 2018-05-28
|
554 |
+
|
555 |
+
- [#479](https://github.com/stripe/stripe-php/pull/479) Fix unnecessary traits on `\Stripe\InvoiceLineItem`
|
556 |
|
557 |
## 6.7.2 - 2018-05-28
|
558 |
+
|
559 |
+
- [#471](https://github.com/stripe/stripe-php/pull/471) Add `OBJECT_NAME` constant to all API resource classes, add `\Stripe\InvoiceLineItem` class
|
560 |
|
561 |
## 6.7.1 - 2018-05-13
|
562 |
+
|
563 |
+
- [#468](https://github.com/stripe/stripe-php/pull/468) Update fields in PHP docs for accuracy
|
564 |
|
565 |
## 6.7.0 - 2018-05-09
|
566 |
+
|
567 |
+
- [#466](https://github.com/stripe/stripe-php/pull/466) Add support for issuer fraud records
|
568 |
|
569 |
## 6.6.0 - 2018-04-11
|
570 |
+
|
571 |
+
- [#460](https://github.com/stripe/stripe-php/pull/460) Add support for flexible billing primitives
|
572 |
|
573 |
## 6.5.0 - 2018-04-05
|
574 |
+
|
575 |
+
- [#461](https://github.com/stripe/stripe-php/pull/461) Don't zero keys on non-`metadata` subobjects
|
576 |
|
577 |
## 6.4.2 - 2018-03-17
|
578 |
+
|
579 |
+
- [#458](https://github.com/stripe/stripe-php/pull/458) Add PHPDoc for `account` on `\Stripe\Event`
|
580 |
|
581 |
## 6.4.1 - 2018-03-02
|
582 |
+
|
583 |
+
- [#455](https://github.com/stripe/stripe-php/pull/455) Fix namespaces in PHPDoc
|
584 |
+
- [#456](https://github.com/stripe/stripe-php/pull/456) Fix namespaces for some exceptions
|
585 |
|
586 |
## 6.4.0 - 2018-02-28
|
587 |
+
|
588 |
+
- [#453](https://github.com/stripe/stripe-php/pull/453) Add constants for `reason` (`REASON_*`) and `status` (`STATUS_*`) on `\Stripe\Dispute`
|
589 |
|
590 |
## 6.3.2 - 2018-02-27
|
591 |
+
|
592 |
+
- [#452](https://github.com/stripe/stripe-php/pull/452) Add PHPDoc for `amount_paid` and `amount_remaining` on `\Stripe\Invoice`
|
593 |
|
594 |
## 6.3.1 - 2018-02-26
|
595 |
+
|
596 |
+
- [#443](https://github.com/stripe/stripe-php/pull/443) Add event types as constants to `\Stripe\Event` class
|
597 |
|
598 |
## 6.3.0 - 2018-02-23
|
599 |
+
|
600 |
+
- [#450](https://github.com/stripe/stripe-php/pull/450) Add support for `code` attribute on all Stripe exceptions
|
601 |
|
602 |
## 6.2.0 - 2018-02-21
|
603 |
+
|
604 |
+
- [#440](https://github.com/stripe/stripe-php/pull/440) Add support for topups
|
605 |
+
- [#442](https://github.com/stripe/stripe-php/pull/442) Fix PHPDoc for `\Stripe\Error\SignatureVerification`
|
606 |
|
607 |
## 6.1.0 - 2018-02-12
|
608 |
+
|
609 |
+
- [#435](https://github.com/stripe/stripe-php/pull/435) Fix header persistence on `Collection` objects
|
610 |
+
- [#436](https://github.com/stripe/stripe-php/pull/436) Introduce new `Idempotency` error class
|
611 |
|
612 |
## 6.0.0 - 2018-02-07
|
613 |
+
|
614 |
Major version release. List of backwards incompatible changes to watch out for:
|
615 |
+
|
616 |
+
- The minimum PHP version is now 5.4.0. If you're using PHP 5.3 or older, consider upgrading to a more recent version.
|
617 |
+
|
618 |
+
* `\Stripe\AttachedObject` no longer exists. Attributes that used to be instances of `\Stripe\AttachedObject` (such as `metadata`) are now instances of `\Stripe\StripeObject`.
|
619 |
+
|
620 |
+
- Attributes that used to be PHP arrays (such as `legal_entity->additional_owners` on `\Stripe\Account` instances) are now instances of `\Stripe\StripeObject`, except when they are empty. `\Stripe\StripeObject` has array semantics so this should not be an issue unless you are actively checking types.
|
621 |
+
|
622 |
+
* `\Stripe\Collection` now derives from `\Stripe\StripeObject` rather than from `\Stripe\ApiResource`.
|
623 |
|
624 |
Pull requests included in this release:
|
625 |
+
|
626 |
+
- [#410](https://github.com/stripe/stripe-php/pull/410) Drop support for PHP 5.3
|
627 |
+
- [#411](https://github.com/stripe/stripe-php/pull/411) Use traits for common API operations
|
628 |
+
- [#414](https://github.com/stripe/stripe-php/pull/414) Use short array syntax
|
629 |
+
- [#404](https://github.com/stripe/stripe-php/pull/404) Fix serialization logic
|
630 |
+
- [#417](https://github.com/stripe/stripe-php/pull/417) Remove `ExternalAccount` class
|
631 |
+
- [#418](https://github.com/stripe/stripe-php/pull/418) Increase test coverage
|
632 |
+
- [#421](https://github.com/stripe/stripe-php/pull/421) Update CA bundle and add script for future updates
|
633 |
+
- [#422](https://github.com/stripe/stripe-php/pull/422) Use vendored CA bundle for all requests
|
634 |
+
- [#428](https://github.com/stripe/stripe-php/pull/428) Support for automatic request retries
|
635 |
|
636 |
## 5.9.2 - 2018-02-07
|
637 |
+
|
638 |
+
- [#431](https://github.com/stripe/stripe-php/pull/431) Update PHPDoc @property tags for latest API version
|
639 |
|
640 |
## 5.9.1 - 2018-02-06
|
641 |
+
|
642 |
+
- [#427](https://github.com/stripe/stripe-php/pull/427) Add and update PHPDoc @property tags on all API resources
|
643 |
|
644 |
## 5.9.0 - 2018-01-17
|
645 |
+
|
646 |
+
- [#421](https://github.com/stripe/stripe-php/pull/421) Updated bundled CA certificates
|
647 |
+
- [#423](https://github.com/stripe/stripe-php/pull/423) Escape unsanitized input in OAuth example
|
648 |
|
649 |
## 5.8.0 - 2017-12-20
|
650 |
+
|
651 |
+
- [#403](https://github.com/stripe/stripe-php/pull/403) Add `__debugInfo()` magic method to `StripeObject`
|
652 |
|
653 |
## 5.7.0 - 2017-11-28
|
654 |
+
|
655 |
+
- [#390](https://github.com/stripe/stripe-php/pull/390) Remove some unsupported API methods
|
656 |
+
- [#391](https://github.com/stripe/stripe-php/pull/391) Alphabetize the list of API resources in `Util::convertToStripeObject()` and add missing resources
|
657 |
+
- [#393](https://github.com/stripe/stripe-php/pull/393) Fix expiry date update for card sources
|
658 |
|
659 |
## 5.6.0 - 2017-10-31
|
660 |
+
|
661 |
+
- [#386](https://github.com/stripe/stripe-php/pull/386) Support for exchange rates APIs
|
662 |
|
663 |
## 5.5.1 - 2017-10-30
|
664 |
+
|
665 |
+
- [#387](https://github.com/stripe/stripe-php/pull/387) Allow `personal_address_kana` and `personal_address_kanji` to be updated on an account
|
666 |
|
667 |
## 5.5.0 - 2017-10-27
|
668 |
+
|
669 |
+
- [#385](https://github.com/stripe/stripe-php/pull/385) Support for listing source transactions
|
670 |
|
671 |
## 5.4.0 - 2017-10-24
|
672 |
+
|
673 |
+
- [#383](https://github.com/stripe/stripe-php/pull/383) Add static methods to manipulate resources from parent
|
674 |
+
- `Account` gains methods for external accounts and login links (e.g. `createExternalAccount`, `createLoginLink`)
|
675 |
+
- `ApplicationFee` gains methods for refunds
|
676 |
+
- `Customer` gains methods for sources
|
677 |
+
- `Transfer` gains methods for reversals
|
678 |
|
679 |
## 5.3.0 - 2017-10-11
|
680 |
+
|
681 |
+
- [#378](https://github.com/stripe/stripe-php/pull/378) Rename source `delete` to `detach` (and deprecate the former)
|
682 |
|
683 |
## 5.2.3 - 2017-09-27
|
684 |
+
|
685 |
+
- Add PHPDoc for `Card`
|
686 |
|
687 |
## 5.2.2 - 2017-09-20
|
688 |
+
|
689 |
+
- Fix deserialization mapping of `FileUpload` objects
|
690 |
|
691 |
## 5.2.1 - 2017-09-14
|
692 |
+
|
693 |
+
- Serialized `shipping` nested attribute
|
694 |
|
695 |
## 5.2.0 - 2017-08-29
|
696 |
+
|
697 |
+
- Add support for `InvalidClient` OAuth error
|
698 |
|
699 |
## 5.1.3 - 2017-08-14
|
700 |
+
|
701 |
+
- Allow `address_kana` and `address_kanji` to be updated for custom accounts
|
702 |
|
703 |
## 5.1.2 - 2017-08-01
|
704 |
+
|
705 |
+
- Fix documented return type of `autoPagingIterator()` (was missing namespace)
|
706 |
|
707 |
## 5.1.1 - 2017-07-03
|
708 |
+
|
709 |
+
- Fix order returns to use the right URL `/v1/order_returns`
|
710 |
|
711 |
## 5.1.0 - 2017-06-30
|
712 |
+
|
713 |
+
- Add support for OAuth
|
714 |
|
715 |
## 5.0.0 - 2017-06-27
|
716 |
+
|
717 |
+
- `pay` on invoice now takes params as well as opts
|
718 |
|
719 |
## 4.13.0 - 2017-06-19
|
720 |
+
|
721 |
+
- Add support for ephemeral keys
|
722 |
|
723 |
## 4.12.0 - 2017-06-05
|
724 |
+
|
725 |
+
- Clients can implement `getUserAgentInfo()` to add additional user agent information
|
726 |
|
727 |
## 4.11.0 - 2017-06-05
|
728 |
+
|
729 |
+
- Implement `Countable` for `AttachedObject` (`metadata` and `additional_owners`)
|
730 |
|
731 |
## 4.10.0 - 2017-05-25
|
732 |
+
|
733 |
+
- Add support for login links
|
734 |
|
735 |
## 4.9.1 - 2017-05-10
|
736 |
+
|
737 |
+
- Fix docs to include arrays on `$id` parameter for retrieve methods
|
738 |
|
739 |
## 4.9.0 - 2017-04-28
|
740 |
+
|
741 |
+
- Support for checking webhook signatures
|
742 |
|
743 |
## 4.8.1 - 2017-04-24
|
744 |
+
|
745 |
+
- Allow nested field `payout_schedule` to be updated
|
746 |
|
747 |
## 4.8.0 - 2017-04-20
|
748 |
+
|
749 |
+
- Add `\Stripe\Stripe::setLogger()` to support an external PSR-3 compatible logger
|
750 |
|
751 |
## 4.7.0 - 2017-04-10
|
752 |
+
|
753 |
+
- Add support for payouts and recipient transfers
|
754 |
|
755 |
## 4.6.0 - 2017-04-06
|
756 |
+
|
757 |
+
- Please see 4.7.0 instead (no-op release)
|
758 |
|
759 |
## 4.5.1 - 2017-03-22
|
760 |
+
|
761 |
+
- Remove hard dependency on cURL
|
762 |
|
763 |
## 4.5.0 - 2017-03-20
|
764 |
+
|
765 |
+
- Support for detaching sources from customers
|
766 |
|
767 |
## 4.4.2 - 2017-02-27
|
768 |
+
|
769 |
+
- Correct handling of `owner` parameter when updating sources
|
770 |
|
771 |
## 4.4.1 - 2017-02-24
|
772 |
+
|
773 |
+
- Correct the error check on a bad JSON decoding
|
774 |
|
775 |
## 4.4.0 - 2017-01-18
|
776 |
+
|
777 |
+
- Add support for updating sources
|
778 |
|
779 |
## 4.3.0 - 2016-11-30
|
780 |
+
|
781 |
+
- Add support for verifying sources
|
782 |
|
783 |
## 4.2.0 - 2016-11-21
|
784 |
+
|
785 |
+
- Add retrieve method for 3-D Secure resources
|
786 |
|
787 |
## 4.1.1 - 2016-10-21
|
788 |
+
|
789 |
+
- Add docblock with model properties for `Plan`
|
790 |
|
791 |
## 4.1.0 - 2016-10-18
|
792 |
+
|
793 |
+
- Support for 403 status codes (permission denied)
|
794 |
|
795 |
## 4.0.1 - 2016-10-17
|
796 |
+
|
797 |
+
- Fix transfer reversal materialization
|
798 |
+
- Fixes for some property definitions in docblocks
|
799 |
|
800 |
## 4.0.0 - 2016-09-28
|
801 |
+
|
802 |
+
- Support for subscription items
|
803 |
+
- Drop attempt to force TLS 1.2: please note that this could be breaking if you're using old OS distributions or packages and upgraded recently (so please make sure to test your integration!)
|
804 |
|
805 |
## 3.23.0 - 2016-09-15
|
806 |
+
|
807 |
+
- Add support for Apple Pay domains
|
808 |
|
809 |
## 3.22.0 - 2016-09-13
|
810 |
+
|
811 |
+
- Add `Stripe::setAppInfo` to allow plugins to register user agent information
|
812 |
|
813 |
## 3.21.0 - 2016-08-25
|
814 |
+
|
815 |
+
- Add `Source` model for generic payment sources
|
816 |
|
817 |
## 3.20.0 - 2016-08-08
|
818 |
+
|
819 |
+
- Add `getDeclineCode` to card errors
|
820 |
|
821 |
## 3.19.0 - 2016-07-29
|
822 |
+
|
823 |
+
- Opt requests directly into TLS 1.2 where OpenSSL >= 1.0.1 (see #277 for context)
|
824 |
|
825 |
## 3.18.0 - 2016-07-28
|
826 |
+
|
827 |
+
- Add new `STATUS_` constants for subscriptions
|
828 |
|
829 |
## 3.17.1 - 2016-07-28
|
830 |
+
|
831 |
+
- Fix auto-paging iterator so that it plays nicely with `iterator_to_array`
|
832 |
|
833 |
## 3.17.0 - 2016-07-14
|
834 |
+
|
835 |
+
- Add field annotations to model classes for better editor hinting
|
836 |
|
837 |
## 3.16.0 - 2016-07-12
|
838 |
+
|
839 |
+
- Add `ThreeDSecure` model for 3-D secure payments
|
840 |
|
841 |
## 3.15.0 - 2016-06-29
|
842 |
+
|
843 |
+
- Add static `update` method to all resources that can be changed.
|
844 |
|
845 |
## 3.14.3 - 2016-06-20
|
846 |
+
|
847 |
+
- Make sure that cURL never sends `Expects: 100-continue`, even on large request bodies
|
848 |
|
849 |
## 3.14.2 - 2016-06-03
|
850 |
+
|
851 |
+
- Add `inventory` under `SKU` to list of keys that have nested data and can be updated
|
852 |
|
853 |
## 3.14.1 - 2016-05-27
|
854 |
+
|
855 |
+
- Fix some inconsistencies in PHPDoc
|
856 |
|
857 |
## 3.14.0 - 2016-05-25
|
858 |
+
|
859 |
+
- Add support for returning Relay orders
|
860 |
|
861 |
## 3.13.0 - 2016-05-04
|
862 |
+
|
863 |
+
- Add `list`, `create`, `update`, `retrieve`, and `delete` methods to the Subscription class
|
864 |
|
865 |
## 3.12.1 - 2016-04-07
|
866 |
+
|
867 |
+
- Additional check on value arrays for some extra safety
|
868 |
|
869 |
## 3.12.0 - 2016-03-31
|
870 |
+
|
871 |
+
- Fix bug `refreshFrom` on `StripeObject` would not take an `$opts` array
|
872 |
+
- Fix bug where `$opts` not passed to parent `save` method in `Account`
|
873 |
+
- Fix bug where non-existent variable was referenced in `reverse` in `Transfer`
|
874 |
+
- Update CA cert bundle for compatibility with OpenSSL versions below 1.0.1
|
875 |
|
876 |
## 3.11.0 - 2016-03-22
|
877 |
+
|
878 |
+
- Allow `CurlClient` to be initialized with default `CURLOPT_*` options
|
879 |
|
880 |
## 3.10.1 - 2016-03-22
|
881 |
+
|
882 |
+
- Fix bug where request params and options were ignored in `ApplicationFee`'s `refund.`
|
883 |
|
884 |
## 3.10.0 - 2016-03-15
|
885 |
+
|
886 |
+
- Add `reject` on `Account` to support the new API feature
|
887 |
|
888 |
## 3.9.2 - 2016-03-04
|
889 |
+
|
890 |
+
- Fix error when an object's metadata is set more than once
|
891 |
|
892 |
## 3.9.1 - 2016-02-24
|
893 |
+
|
894 |
+
- Fix encoding behavior of nested arrays for requests (see #227)
|
895 |
|
896 |
## 3.9.0 - 2016-02-09
|
897 |
+
|
898 |
+
- Add automatic pagination mechanism with `autoPagingIterator()`
|
899 |
+
- Allow global account ID to be set with `Stripe::setAccountId()`
|
900 |
|
901 |
## 3.8.0 - 2016-02-08
|
902 |
+
|
903 |
+
- Add `CountrySpec` model for looking up country payment information
|
904 |
|
905 |
## 3.7.1 - 2016-02-01
|
906 |
+
|
907 |
+
- Update bundled CA certs
|
908 |
|
909 |
## 3.7.0 - 2016-01-27
|
910 |
+
|
911 |
+
- Support deleting Relay products and SKUs
|
912 |
|
913 |
## 3.6.0 - 2016-01-05
|
914 |
+
|
915 |
+
- Allow configuration of HTTP client timeouts
|
916 |
|
917 |
## 3.5.0 - 2015-12-01
|
918 |
+
|
919 |
+
- Add a verification routine for external accounts
|
920 |
|
921 |
## 3.4.0 - 2015-09-14
|
922 |
+
|
923 |
+
- Products, SKUs, and Orders -- https://stripe.com/relay
|
924 |
|
925 |
## 3.3.0 - 2015-09-11
|
926 |
+
|
927 |
+
- Add support for 429 Rate Limit response
|
928 |
|
929 |
## 3.2.0 - 2015-08-17
|
930 |
+
|
931 |
+
- Add refund listing and retrieval without an associated charge
|
932 |
|
933 |
## 3.1.0 - 2015-08-03
|
934 |
+
|
935 |
+
- Add dispute listing and retrieval
|
936 |
+
- Add support for manage account deletion
|
937 |
|
938 |
## 3.0.0 - 2015-07-28
|
939 |
+
|
940 |
+
- Rename `\Stripe\Object` to `\Stripe\StripeObject` (PHP 7 compatibility)
|
941 |
+
- Rename `getCode` and `getParam` in exceptions to `getStripeCode` and `getStripeParam`
|
942 |
+
- Add support for calling `json_encode` on Stripe objects in PHP 5.4+
|
943 |
+
- Start supporting/testing PHP 7
|
944 |
|
945 |
## 2.3.0 - 2015-07-06
|
946 |
+
|
947 |
+
- Add request ID to all Stripe exceptions
|
948 |
|
949 |
## 2.2.0 - 2015-06-01
|
950 |
+
|
951 |
+
- Add support for Alipay accounts as sources
|
952 |
+
- Add support for bank accounts as sources (private beta)
|
953 |
+
- Add support for bank accounts and cards as external_accounts on Account objects
|
954 |
|
955 |
## 2.1.4 - 2015-05-13
|
956 |
+
|
957 |
+
- Fix CA certificate file path (thanks @lphilps & @matthewarkin)
|
958 |
|
959 |
## 2.1.3 - 2015-05-12
|
960 |
+
|
961 |
+
- Fix to account updating to permit `tos_acceptance` and `personal_address` to be set properly
|
962 |
+
- Fix to Transfer reversal creation (thanks @neatness!)
|
963 |
+
- Network requests are now done through a swappable class for easier mocking
|
964 |
|
965 |
## 2.1.2 - 2015-04-10
|
966 |
+
|
967 |
+
- Remove SSL cert revokation checking (all pre-Heartbleed certs have expired)
|
968 |
+
- Bug fixes to account updating
|
969 |
|
970 |
## 2.1.1 - 2015-02-27
|
971 |
+
|
972 |
+
- Support transfer reversals
|
973 |
|
974 |
## 2.1.0 - 2015-02-19
|
975 |
+
|
976 |
+
- Support new API version (2015-02-18)
|
977 |
+
- Added Bitcoin Receiever update and delete actions
|
978 |
+
- Edited tests to prefer "source" over "card" as per new API version
|
979 |
|
980 |
## 2.0.1 - 2015-02-16
|
981 |
+
|
982 |
+
- Fix to fetching endpoints that use a non-default baseUrl (`FileUpload`)
|
983 |
|
984 |
## 2.0.0 - 2015-02-14
|
985 |
+
|
986 |
+
- Bumped minimum version to 5.3.3
|
987 |
+
- Switched to Stripe namespace instead of Stripe\_ class name prefiexes (thanks @chadicus!)
|
988 |
+
- Switched tests to PHPUnit (thanks @chadicus!)
|
989 |
+
- Switched style guide to PSR2 (thanks @chadicus!)
|
990 |
+
- Added \$opts hash to the end of most methods: this permits passing 'idempotency_key', 'stripe_account', or 'stripe_version'. The last 2 will persist across multiple object loads.
|
991 |
+
- Added support for retrieving Account by ID
|
992 |
|
993 |
## 1.18.0 - 2015-01-21
|
994 |
+
|
995 |
+
- Support making bitcoin charges through BitcoinReceiver source object
|
996 |
|
997 |
## 1.17.5 - 2014-12-23
|
998 |
+
|
999 |
+
- Adding support for creating file uploads.
|
1000 |
|
1001 |
## 1.17.4 - 2014-12-15
|
1002 |
+
|
1003 |
+
- Saving objects fetched with a custom key now works (thanks @JustinHook & @jpasilan)
|
1004 |
+
- Added methods for reporting charges as safe or fraudulent and for specifying the reason for refunds
|
1005 |
|
1006 |
## 1.17.3 - 2014-11-06
|
1007 |
+
|
1008 |
+
- Better handling of HHVM support for SSL certificate blacklist checking.
|
1009 |
|
1010 |
## 1.17.2 - 2014-09-23
|
1011 |
+
|
1012 |
+
- Coupons now are backed by a `Stripe_Coupon` instead of `Stripe_Object`, and support updating metadata
|
1013 |
+
- Running operations (`create`, `retrieve`, `all`) on upcoming invoice items now works
|
1014 |
|
1015 |
## 1.17.1 - 2014-07-31
|
1016 |
+
|
1017 |
+
- Requests now send Content-Type header
|
1018 |
|
1019 |
## 1.17.0 - 2014-07-29
|
1020 |
+
|
1021 |
+
- Application Fee refunds now a list instead of array
|
1022 |
+
- HHVM now works
|
1023 |
+
- Small bug fixes (thanks @bencromwell & @fastest963)
|
1024 |
+
- `__toString` now returns the name of the object in addition to its JSON representation
|
1025 |
|
1026 |
## 1.16.0 - 2014-06-17
|
1027 |
+
|
1028 |
+
- Add metadata for refunds and disputes
|
1029 |
|
1030 |
## 1.15.0 - 2014-05-28
|
1031 |
+
|
1032 |
+
- Support canceling transfers
|
1033 |
|
1034 |
## 1.14.1 - 2014-05-21
|
1035 |
+
|
1036 |
+
- Support cards for recipients.
|
1037 |
|
1038 |
## 1.13.1 - 2014-05-15
|
1039 |
+
|
1040 |
+
- Fix bug in account resource where `id` wasn't in the result
|
1041 |
|
1042 |
## 1.13.0 - 2014-04-10
|
1043 |
+
|
1044 |
+
- Add support for certificate blacklisting
|
1045 |
+
- Update ca bundle
|
1046 |
+
- Drop support for HHVM (Temporarily)
|
1047 |
|
1048 |
## 1.12.0 - 2014-04-01
|
1049 |
+
|
1050 |
+
- Add Stripe_RateLimitError for catching rate limit errors.
|
1051 |
+
- Update to Zend coding style (thanks, @jpiasetz)
|
1052 |
|
1053 |
## 1.11.0 - 2014-01-29
|
1054 |
+
|
1055 |
+
- Add support for multiple subscriptions per customer
|
1056 |
|
1057 |
## 1.10.1 - 2013-12-02
|
1058 |
+
|
1059 |
+
- Add new ApplicationFee
|
1060 |
|
1061 |
## 1.9.1 - 2013-11-08
|
1062 |
+
|
1063 |
+
- Fix a bug where a null nestable object causes warnings to fire.
|
1064 |
|
1065 |
## 1.9.0 - 2013-10-16
|
1066 |
+
|
1067 |
+
- Add support for metadata API.
|
1068 |
|
1069 |
## 1.8.4 - 2013-09-18
|
1070 |
+
|
1071 |
+
- Add support for closing disputes.
|
1072 |
|
1073 |
## 1.8.3 - 2013-08-13
|
1074 |
+
|
1075 |
+
- Add new Balance and BalanceTransaction
|
1076 |
|
1077 |
## 1.8.2 - 2013-08-12
|
1078 |
+
|
1079 |
+
- Add support for unsetting attributes by updating to NULL. Setting properties to a blank string is now an error.
|
1080 |
|
1081 |
## 1.8.1 - 2013-07-12
|
1082 |
+
|
1083 |
+
- Add support for multiple cards API (Stripe API version 2013-07-12: https://stripe.com/docs/upgrades#2013-07-05)
|
1084 |
|
1085 |
## 1.8.0 - 2013-04-11
|
1086 |
+
|
1087 |
+
- Allow Transfers to be creatable
|
1088 |
+
- Add new Recipient resource
|
1089 |
|
1090 |
## 1.7.15 - 2013-02-21
|
1091 |
+
|
1092 |
+
- Add 'id' to the list of permanent object attributes
|
1093 |
|
1094 |
## 1.7.14 - 2013-02-20
|
1095 |
|
1096 |
+
- Don't re-encode strings that are already encoded in UTF-8. If you were previously using plan or coupon objects with UTF-8 IDs, they may have been treated as ISO-8859-1 (Latin-1) and encoded to UTF-8 a 2nd time. You may now need to pass the IDs to utf8_encode before passing them to Stripe_Plan::retrieve or Stripe_Coupon::retrieve.
|
1097 |
+
- Ensure that all input is encoded in UTF-8 before submitting it to Stripe's servers. (github issue #27)
|
1098 |
|
1099 |
## 1.7.13 - 2013-02-01
|
1100 |
+
|
1101 |
+
- Add support for passing options when retrieving Stripe objects e.g., Stripe_Charge::retrieve(array("id"=>"foo", "expand" => array("customer"))); Stripe_Charge::retrieve("foo") will continue to work
|
1102 |
|
1103 |
## 1.7.12 - 2013-01-15
|
1104 |
+
|
1105 |
+
- Add support for setting a Stripe API version override
|
1106 |
|
1107 |
## 1.7.11 - 2012-12-30
|
1108 |
+
|
1109 |
+
- Version bump to cleanup constants and such (fix issue #26)
|
1110 |
|
1111 |
## 1.7.10 - 2012-11-08
|
1112 |
+
|
1113 |
+
- Add support for updating charge disputes.
|
1114 |
+
- Fix bug preventing retrieval of null attributes
|
1115 |
|
1116 |
## 1.7.9 - 2012-11-08
|
1117 |
+
|
1118 |
+
- Fix usage under autoloaders such as the one generated by composer (fix issue #22)
|
1119 |
|
1120 |
## 1.7.8 - 2012-10-30
|
1121 |
+
|
1122 |
+
- Add support for creating invoices.
|
1123 |
+
- Add support for new invoice lines return format
|
1124 |
+
- Add support for new list objects
|
1125 |
|
1126 |
## 1.7.7 - 2012-09-14
|
1127 |
+
|
1128 |
+
- Get all of the various version numbers in the repo in sync (no other changes)
|
1129 |
|
1130 |
## 1.7.6 - 2012-08-31
|
1131 |
+
|
1132 |
+
- Add update and pay methods to Invoice resource
|
1133 |
|
1134 |
## 1.7.5 - 2012-08-23
|
1135 |
+
|
1136 |
+
- Change internal function names so that Stripe_SingletonApiRequest is E_STRICT-clean (github issue #16)
|
1137 |
|
1138 |
## 1.7.4 - 2012-08-21
|
1139 |
+
|
1140 |
+
- Bugfix so that Stripe objects (e.g. Customer, Charge objects) used in API calls are transparently converted to their object IDs
|
1141 |
|
1142 |
## 1.7.3 - 2012-08-15
|
1143 |
+
|
1144 |
+
- Add new Account resource
|
1145 |
|
1146 |
## 1.7.2 - 2012-06-26
|
1147 |
+
|
1148 |
+
- Make clearer that you should be including lib/Stripe.php, not test/Stripe.php (github issue #14)
|
1149 |
|
1150 |
## 1.7.1 - 2012-05-24
|
1151 |
+
|
1152 |
+
- Add missing argument to Stripe_InvalidRequestError constructor in Stripe_ApiResource::instanceUrl. Fixes a warning when Stripe_ApiResource::instanceUrl is called on a resource with no ID (fix issue #12)
|
1153 |
|
1154 |
## 1.7.0 - 2012-05-17
|
1155 |
+
|
1156 |
+
- Support Composer and Packagist (github issue #9)
|
1157 |
+
- Add new deleteDiscount method to Stripe_Customer
|
1158 |
+
- Add new Transfer resource
|
1159 |
+
- Switch from using HTTP Basic auth to Bearer auth. (Note: Stripe will support Basic auth for the indefinite future, but recommends Bearer auth when possible going forward)
|
1160 |
+
- Numerous test suite improvements
|
lib/stripe-gateway/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Contributor Covenant Code of Conduct
|
2 |
+
|
3 |
+
## Our Pledge
|
4 |
+
|
5 |
+
In the interest of fostering an open and welcoming environment, we as
|
6 |
+
contributors and maintainers pledge to make participation in our project and
|
7 |
+
our community a harassment-free experience for everyone, regardless of age, body
|
8 |
+
size, disability, ethnicity, sex characteristics, gender identity and expression,
|
9 |
+
level of experience, education, socio-economic status, nationality, personal
|
10 |
+
appearance, race, religion, or sexual identity and orientation.
|
11 |
+
|
12 |
+
## Our Standards
|
13 |
+
|
14 |
+
Examples of behavior that contributes to creating a positive environment
|
15 |
+
include:
|
16 |
+
|
17 |
+
* Using welcoming and inclusive language
|
18 |
+
* Being respectful of differing viewpoints and experiences
|
19 |
+
* Gracefully accepting constructive criticism
|
20 |
+
* Focusing on what is best for the community
|
21 |
+
* Showing empathy towards other community members
|
22 |
+
|
23 |
+
Examples of unacceptable behavior by participants include:
|
24 |
+
|
25 |
+
* The use of sexualized language or imagery and unwelcome sexual attention or
|
26 |
+
advances
|
27 |
+
* Trolling, insulting/derogatory comments, and personal or political attacks
|
28 |
+
* Public or private harassment
|
29 |
+
* Publishing others' private information, such as a physical or electronic
|
30 |
+
address, without explicit permission
|
31 |
+
* Other conduct which could reasonably be considered inappropriate in a
|
32 |
+
professional setting
|
33 |
+
|
34 |
+
## Our Responsibilities
|
35 |
+
|
36 |
+
Project maintainers are responsible for clarifying the standards of acceptable
|
37 |
+
behavior and are expected to take appropriate and fair corrective action in
|
38 |
+
response to any instances of unacceptable behavior.
|
39 |
+
|
40 |
+
Project maintainers have the right and responsibility to remove, edit, or
|
41 |
+
reject comments, commits, code, wiki edits, issues, and other contributions
|
42 |
+
that are not aligned to this Code of Conduct, or to ban temporarily or
|
43 |
+
permanently any contributor for other behaviors that they deem inappropriate,
|
44 |
+
threatening, offensive, or harmful.
|
45 |
+
|
46 |
+
## Scope
|
47 |
+
|
48 |
+
This Code of Conduct applies within all project spaces, and it also applies when
|
49 |
+
an individual is representing the project or its community in public spaces.
|
50 |
+
Examples of representing a project or community include using an official
|
51 |
+
project e-mail address, posting via an official social media account, or acting
|
52 |
+
as an appointed representative at an online or offline event. Representation of
|
53 |
+
a project may be further defined and clarified by project maintainers.
|
54 |
+
|
55 |
+
## Enforcement
|
56 |
+
|
57 |
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
58 |
+
reported by contacting the project team at conduct@stripe.com. All
|
59 |
+
complaints will be reviewed and investigated and will result in a response that
|
60 |
+
is deemed necessary and appropriate to the circumstances. The project team is
|
61 |
+
obligated to maintain confidentiality with regard to the reporter of an incident.
|
62 |
+
Further details of specific enforcement policies may be posted separately.
|
63 |
+
|
64 |
+
Project maintainers who do not follow or enforce the Code of Conduct in good
|
65 |
+
faith may face temporary or permanent repercussions as determined by other
|
66 |
+
members of the project's leadership.
|
67 |
+
|
68 |
+
## Attribution
|
69 |
+
|
70 |
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
71 |
+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
72 |
+
|
73 |
+
[homepage]: https://www.contributor-covenant.org
|
74 |
+
|
75 |
+
For answers to common questions about this code of conduct, see
|
76 |
+
https://www.contributor-covenant.org/faq
|
77 |
+
|
lib/stripe-gateway/Makefile
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
export PHPDOCUMENTOR_VERSION := v3.0.0-rc
|
2 |
+
export PHPSTAN_VERSION := 0.12.18
|
3 |
+
|
4 |
+
vendor: composer.json
|
5 |
+
composer install
|
6 |
+
|
7 |
+
vendor/bin/phpstan: vendor
|
8 |
+
curl -sfL https://github.com/phpstan/phpstan/releases/download/$(PHPSTAN_VERSION)/phpstan.phar -o vendor/bin/phpstan
|
9 |
+
chmod +x vendor/bin/phpstan
|
10 |
+
|
11 |
+
vendor/bin/phpdoc: vendor
|
12 |
+
curl -sfL https://github.com/phpDocumentor/phpDocumentor/releases/download/$(PHPDOCUMENTOR_VERSION)/phpDocumentor.phar -o vendor/bin/phpdoc
|
13 |
+
chmod +x vendor/bin/phpdoc
|
14 |
+
|
15 |
+
test: vendor
|
16 |
+
vendor/bin/phpunit
|
17 |
+
.PHONY: test
|
18 |
+
|
19 |
+
fmt: vendor
|
20 |
+
vendor/bin/php-cs-fixer fix -v --using-cache=no .
|
21 |
+
.PHONY: fmt
|
22 |
+
|
23 |
+
fmtcheck: vendor
|
24 |
+
vendor/bin/php-cs-fixer fix -v --dry-run --using-cache=no .
|
25 |
+
.PHONY: fmtcheck
|
26 |
+
|
27 |
+
phpdoc: vendor/bin/phpdoc
|
28 |
+
vendor/bin/phpdoc
|
29 |
+
|
30 |
+
phpstan: vendor/bin/phpstan
|
31 |
+
php -d memory_limit=512M vendor/bin/phpstan analyse lib tests
|
32 |
+
.PHONY: phpstan
|
33 |
+
|
34 |
+
phpstan-baseline: vendor/bin/phpstan
|
35 |
+
php -d memory_limit=512M vendor/bin/phpstan analyse lib tests --generate-baseline
|
36 |
+
.PHONY: phpstan-baseline
|
lib/stripe-gateway/README.md
CHANGED
@@ -14,7 +14,7 @@ API.
|
|
14 |
|
15 |
## Requirements
|
16 |
|
17 |
-
PHP 5.
|
18 |
|
19 |
## Composer
|
20 |
|
@@ -42,9 +42,9 @@ require_once('/path/to/stripe-php/init.php');
|
|
42 |
|
43 |
The bindings require the following extensions in order to work properly:
|
44 |
|
45 |
-
-
|
46 |
-
-
|
47 |
-
-
|
48 |
|
49 |
If you use Composer, these dependencies should be handled automatically. If you install manually, you'll want to make sure that these extensions are available.
|
50 |
|
@@ -54,8 +54,12 @@ Simple usage looks like:
|
|
54 |
|
55 |
```php
|
56 |
\Stripe\Stripe::setApiKey('sk_test_BQokikJOvBiI2HlWgH4olfQ2');
|
57 |
-
$
|
58 |
-
|
|
|
|
|
|
|
|
|
59 |
```
|
60 |
|
61 |
## Documentation
|
@@ -64,25 +68,17 @@ See the [PHP API docs](https://stripe.com/docs/api/php#intro).
|
|
64 |
|
65 |
## Legacy Version Support
|
66 |
|
67 |
-
### PHP 5.
|
68 |
-
|
69 |
-
If you are using PHP 5.3, you can download v5.9.2 ([zip](https://github.com/stripe/stripe-php/archive/v5.9.2.zip), [tar.gz](https://github.com/stripe/stripe-php/archive/v5.9.2.tar.gz)) from our [releases page](https://github.com/stripe/stripe-php/releases). This version will continue to work with new versions of the Stripe API for all common uses.
|
70 |
-
|
71 |
-
### PHP 5.2
|
72 |
|
73 |
-
If you are using PHP 5.
|
74 |
|
75 |
-
|
76 |
|
77 |
-
|
78 |
-
Stripe::setApiKey('d8e8fca2dc0f896fd7cb4cb0031ba249');
|
79 |
-
$charge = Stripe_Charge::create(array('source' => 'tok_XXXXXXXX', 'amount' => 2000, 'currency' => 'usd'));
|
80 |
-
echo $charge;
|
81 |
-
```
|
82 |
|
83 |
## Custom Request Timeouts
|
84 |
|
85 |
-
|
86 |
|
87 |
To modify request timeouts (connect or total, in seconds) you'll need to tell the API client to use a CurlClient other than its default. You'll set the timeouts in that CurlClient.
|
88 |
|
@@ -129,8 +125,10 @@ end up there instead of `error_log`:
|
|
129 |
You can access the data from the last API response on any object via `getLastResponse()`.
|
130 |
|
131 |
```php
|
132 |
-
$
|
133 |
-
|
|
|
|
|
134 |
```
|
135 |
|
136 |
### SSL / TLS compatibility issues
|
@@ -151,12 +149,12 @@ one that uses [Stripe Connect][connect], it's also possible to set a
|
|
151 |
per-request key and/or account:
|
152 |
|
153 |
```php
|
154 |
-
\Stripe\
|
155 |
'api_key' => 'sk_test_...',
|
156 |
'stripe_account' => 'acct_...'
|
157 |
]);
|
158 |
|
159 |
-
\Stripe\
|
160 |
'api_key' => 'sk_test_...',
|
161 |
'stripe_account' => 'acct_...'
|
162 |
]);
|
@@ -235,6 +233,12 @@ Update bundled CA certificates from the [Mozilla cURL release][curl]:
|
|
235 |
./update_certs.php
|
236 |
```
|
237 |
|
|
|
|
|
|
|
|
|
|
|
|
|
238 |
## Attention plugin developers
|
239 |
|
240 |
Are you writing a plugin that integrates Stripe and embeds our library? Then please use the `setAppInfo` function to identify your plugin. For example:
|
@@ -252,6 +256,7 @@ See the "SSL / TLS compatibility issues" paragraph above for full context. If yo
|
|
252 |
[composer]: https://getcomposer.org/
|
253 |
[connect]: https://stripe.com/connect
|
254 |
[curl]: http://curl.haxx.se/docs/caextract.html
|
255 |
-
[psr3]: http://www.php-fig.org/psr/psr-3/
|
256 |
[idempotency-keys]: https://stripe.com/docs/api/php#idempotent_requests
|
|
|
|
|
257 |
[stripe-mock]: https://github.com/stripe/stripe-mock
|
14 |
|
15 |
## Requirements
|
16 |
|
17 |
+
PHP 5.6.0 and later.
|
18 |
|
19 |
## Composer
|
20 |
|
42 |
|
43 |
The bindings require the following extensions in order to work properly:
|
44 |
|
45 |
+
- [`curl`](https://secure.php.net/manual/en/book.curl.php), although you can use your own non-cURL client if you prefer
|
46 |
+
- [`json`](https://secure.php.net/manual/en/book.json.php)
|
47 |
+
- [`mbstring`](https://secure.php.net/manual/en/book.mbstring.php) (Multibyte String)
|
48 |
|
49 |
If you use Composer, these dependencies should be handled automatically. If you install manually, you'll want to make sure that these extensions are available.
|
50 |
|
54 |
|
55 |
```php
|
56 |
\Stripe\Stripe::setApiKey('sk_test_BQokikJOvBiI2HlWgH4olfQ2');
|
57 |
+
$customer = \Stripe\Customer::create([
|
58 |
+
'description' => 'example customer',
|
59 |
+
'email' => 'email@example.com',
|
60 |
+
'payment_method' => 'pm_card_visa',
|
61 |
+
]);
|
62 |
+
echo $customer;
|
63 |
```
|
64 |
|
65 |
## Documentation
|
68 |
|
69 |
## Legacy Version Support
|
70 |
|
71 |
+
### PHP 5.4 & 5.5
|
|
|
|
|
|
|
|
|
72 |
|
73 |
+
If you are using PHP 5.4 or 5.5, you can download v6.21.1 ([zip](https://github.com/stripe/stripe-php/archive/v6.21.1.zip), [tar.gz](https://github.com/stripe/stripe-php/archive/v5.9.2.tar.gz)) from our [releases page](https://github.com/stripe/stripe-php/releases). This version will continue to work with new versions of the Stripe API for all common uses.
|
74 |
|
75 |
+
### PHP 5.3
|
76 |
|
77 |
+
If you are using PHP 5.3, you can download v5.9.2 ([zip](https://github.com/stripe/stripe-php/archive/v5.9.2.zip), [tar.gz](https://github.com/stripe/stripe-php/archive/v5.9.2.tar.gz)) from our [releases page](https://github.com/stripe/stripe-php/releases). This version will continue to work with new versions of the Stripe API for all common uses.
|
|
|
|
|
|
|
|
|
78 |
|
79 |
## Custom Request Timeouts
|
80 |
|
81 |
+
_NOTE:_ We do not recommend decreasing the timeout for non-read-only calls (e.g. charge creation), since even if you locally timeout, the request on Stripe's side can still complete. If you are decreasing timeouts on these calls, make sure to use [idempotency tokens](https://stripe.com/docs/api/php#idempotent_requests) to avoid executing the same transaction twice as a result of timeout retry logic.
|
82 |
|
83 |
To modify request timeouts (connect or total, in seconds) you'll need to tell the API client to use a CurlClient other than its default. You'll set the timeouts in that CurlClient.
|
84 |
|
125 |
You can access the data from the last API response on any object via `getLastResponse()`.
|
126 |
|
127 |
```php
|
128 |
+
$customer = \Stripe\Customer::create([
|
129 |
+
'description' => 'example customer',
|
130 |
+
]);
|
131 |
+
echo $customer->getLastResponse()->headers['Request-Id'];
|
132 |
```
|
133 |
|
134 |
### SSL / TLS compatibility issues
|
149 |
per-request key and/or account:
|
150 |
|
151 |
```php
|
152 |
+
$customers = \Stripe\Customer::all([],[
|
153 |
'api_key' => 'sk_test_...',
|
154 |
'stripe_account' => 'acct_...'
|
155 |
]);
|
156 |
|
157 |
+
\Stripe\Customer::retrieve("cus_123456789", [
|
158 |
'api_key' => 'sk_test_...',
|
159 |
'stripe_account' => 'acct_...'
|
160 |
]);
|
233 |
./update_certs.php
|
234 |
```
|
235 |
|
236 |
+
The library uses [PHP CS Fixer][php-cs-fixer] for code formatting. Code must be formatted before PRs are submitted, otherwise CI will fail. Run the formatter with:
|
237 |
+
|
238 |
+
```bash
|
239 |
+
./vendor/bin/php-cs-fixer fix -v .
|
240 |
+
```
|
241 |
+
|
242 |
## Attention plugin developers
|
243 |
|
244 |
Are you writing a plugin that integrates Stripe and embeds our library? Then please use the `setAppInfo` function to identify your plugin. For example:
|
256 |
[composer]: https://getcomposer.org/
|
257 |
[connect]: https://stripe.com/connect
|
258 |
[curl]: http://curl.haxx.se/docs/caextract.html
|
|
|
259 |
[idempotency-keys]: https://stripe.com/docs/api/php#idempotent_requests
|
260 |
+
[php-cs-fixer]: https://github.com/FriendsOfPHP/PHP-CS-Fixer
|
261 |
+
[psr3]: http://www.php-fig.org/psr/psr-3/
|
262 |
[stripe-mock]: https://github.com/stripe/stripe-mock
|
lib/stripe-gateway/VERSION
CHANGED
@@ -1 +1 @@
|
|
1 |
-
|
1 |
+
7.28.1
|
lib/stripe-gateway/build.php
CHANGED
@@ -1,36 +1,25 @@
|
|
1 |
#!/usr/bin/env php
|
2 |
<?php
|
3 |
-
chdir(
|
4 |
|
5 |
-
$autoload = (int)$argv[1];
|
6 |
$returnStatus = null;
|
7 |
|
8 |
if (!$autoload) {
|
9 |
// Modify composer to not autoload Stripe
|
10 |
-
$composer = json_decode(file_get_contents('composer.json'), true);
|
11 |
-
unset($composer['autoload']);
|
12 |
-
unset($composer['require-dev']['squizlabs/php_codesniffer']);
|
13 |
-
file_put_contents('composer.json', json_encode($composer, JSON_PRETTY_PRINT));
|
14 |
-
}
|
15 |
|
16 |
-
|
17 |
-
if ($returnStatus !== 0) {
|
18 |
-
exit(1);
|
19 |
}
|
20 |
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
'./vendor/bin/phpcs --standard=PSR2 -n lib tests *.php',
|
25 |
-
$returnStatus
|
26 |
-
);
|
27 |
-
if ($returnStatus !== 0) {
|
28 |
-
exit(1);
|
29 |
-
}
|
30 |
}
|
31 |
|
32 |
$config = $autoload ? 'phpunit.xml' : 'phpunit.no_autoload.xml';
|
33 |
-
passthru("./vendor/bin/phpunit -c $config", $returnStatus);
|
34 |
-
if (
|
35 |
exit(1);
|
36 |
}
|
1 |
#!/usr/bin/env php
|
2 |
<?php
|
3 |
+
\chdir(__DIR__);
|
4 |
|
5 |
+
$autoload = (int) $argv[1];
|
6 |
$returnStatus = null;
|
7 |
|
8 |
if (!$autoload) {
|
9 |
// Modify composer to not autoload Stripe
|
10 |
+
$composer = \json_decode(\file_get_contents('composer.json'), true);
|
11 |
+
unset($composer['autoload'], $composer['autoload-dev']);
|
|
|
|
|
|
|
12 |
|
13 |
+
\file_put_contents('composer.json', \json_encode($composer, \JSON_PRETTY_PRINT));
|
|
|
|
|
14 |
}
|
15 |
|
16 |
+
\passthru('composer update', $returnStatus);
|
17 |
+
if (0 !== $returnStatus) {
|
18 |
+
exit(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
}
|
20 |
|
21 |
$config = $autoload ? 'phpunit.xml' : 'phpunit.no_autoload.xml';
|
22 |
+
\passthru("./vendor/bin/phpunit -c {$config}", $returnStatus);
|
23 |
+
if (0 !== $returnStatus) {
|
24 |
exit(1);
|
25 |
}
|
lib/stripe-gateway/composer.json
CHANGED
@@ -15,19 +15,30 @@
|
|
15 |
}
|
16 |
],
|
17 |
"require": {
|
18 |
-
"php": ">=5.
|
19 |
"ext-curl": "*",
|
20 |
"ext-json": "*",
|
21 |
"ext-mbstring": "*"
|
22 |
},
|
23 |
"require-dev": {
|
24 |
-
"phpunit/phpunit": "
|
25 |
-
"php-coveralls/php-coveralls": "1
|
26 |
-
"squizlabs/php_codesniffer": "
|
27 |
-
"symfony/process": "~
|
|
|
28 |
},
|
29 |
"autoload": {
|
30 |
-
"psr-4": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
},
|
32 |
"extra": {
|
33 |
"branch-alias": {
|
15 |
}
|
16 |
],
|
17 |
"require": {
|
18 |
+
"php": ">=5.6.0",
|
19 |
"ext-curl": "*",
|
20 |
"ext-json": "*",
|
21 |
"ext-mbstring": "*"
|
22 |
},
|
23 |
"require-dev": {
|
24 |
+
"phpunit/phpunit": "^5.7",
|
25 |
+
"php-coveralls/php-coveralls": "^2.1",
|
26 |
+
"squizlabs/php_codesniffer": "^3.3",
|
27 |
+
"symfony/process": "~3.4",
|
28 |
+
"friendsofphp/php-cs-fixer": "^2.15"
|
29 |
},
|
30 |
"autoload": {
|
31 |
+
"psr-4": {
|
32 |
+
"Stripe\\": "lib/"
|
33 |
+
}
|
34 |
+
},
|
35 |
+
"autoload-dev": {
|
36 |
+
"psr-4": {
|
37 |
+
"Stripe\\": [
|
38 |
+
"tests/",
|
39 |
+
"tests/Stripe/"
|
40 |
+
]
|
41 |
+
}
|
42 |
},
|
43 |
"extra": {
|
44 |
"branch-alias": {
|
lib/stripe-gateway/data/ca-certificates.crt
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
##
|
2 |
## Bundle of CA Root Certificates
|
3 |
##
|
4 |
-
## Certificate data from Mozilla as of: Wed
|
5 |
##
|
6 |
## This is a bundle of X.509 certificates of public Certificate Authorities
|
7 |
## (CA). These were automatically extracted from Mozilla's root certificates
|
@@ -14,7 +14,7 @@
|
|
14 |
## Just configure this file as the SSLCACertificateFile.
|
15 |
##
|
16 |
## Conversion done with mk-ca-bundle.pl version 1.27.
|
17 |
-
## SHA256:
|
18 |
##
|
19 |
|
20 |
|
@@ -261,47 +261,6 @@ gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
|
|
261 |
X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
|
262 |
-----END CERTIFICATE-----
|
263 |
|
264 |
-
Visa eCommerce Root
|
265 |
-
===================
|
266 |
-
-----BEGIN CERTIFICATE-----
|
267 |
-
MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
|
268 |
-
EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
|
269 |
-
QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2
|
270 |
-
WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm
|
271 |
-
VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
|
272 |
-
bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL
|
273 |
-
F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b
|
274 |
-
RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0
|
275 |
-
TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI
|
276 |
-
/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs
|
277 |
-
GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
|
278 |
-
MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc
|
279 |
-
CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW
|
280 |
-
YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz
|
281 |
-
zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu
|
282 |
-
YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
|
283 |
-
398znM/jra6O1I7mT1GvFpLgXPYHDw==
|
284 |
-
-----END CERTIFICATE-----
|
285 |
-
|
286 |
-
Certum Root CA
|
287 |
-
==============
|
288 |
-
-----BEGIN CERTIFICATE-----
|
289 |
-
MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK
|
290 |
-
ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla
|
291 |
-
Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u
|
292 |
-
by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x
|
293 |
-
wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL
|
294 |
-
kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ
|
295 |
-
89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K
|
296 |
-
Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P
|
297 |
-
NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq
|
298 |
-
hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+
|
299 |
-
GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg
|
300 |
-
GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/
|
301 |
-
0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS
|
302 |
-
qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
|
303 |
-
-----END CERTIFICATE-----
|
304 |
-
|
305 |
Comodo AAA Services root
|
306 |
========================
|
307 |
-----BEGIN CERTIFICATE-----
|
@@ -465,60 +424,6 @@ EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
|
|
465 |
llpwrN9M
|
466 |
-----END CERTIFICATE-----
|
467 |
|
468 |
-
Camerfirma Chambers of Commerce Root
|
469 |
-
====================================
|
470 |
-
-----BEGIN CERTIFICATE-----
|
471 |
-
MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
|
472 |
-
QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
|
473 |
-
ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx
|
474 |
-
NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp
|
475 |
-
cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn
|
476 |
-
MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC
|
477 |
-
AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU
|
478 |
-
xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH
|
479 |
-
NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW
|
480 |
-
DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV
|
481 |
-
d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud
|
482 |
-
EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v
|
483 |
-
cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P
|
484 |
-
AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh
|
485 |
-
bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD
|
486 |
-
VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz
|
487 |
-
aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi
|
488 |
-
fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD
|
489 |
-
L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN
|
490 |
-
UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n
|
491 |
-
ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1
|
492 |
-
erfutGWaIZDgqtCYvDi1czyL+Nw=
|
493 |
-
-----END CERTIFICATE-----
|
494 |
-
|
495 |
-
Camerfirma Global Chambersign Root
|
496 |
-
==================================
|
497 |
-
-----BEGIN CERTIFICATE-----
|
498 |
-
MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
|
499 |
-
QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
|
500 |
-
ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx
|
501 |
-
NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt
|
502 |
-
YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg
|
503 |
-
MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw
|
504 |
-
ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J
|
505 |
-
1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O
|
506 |
-
by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl
|
507 |
-
6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c
|
508 |
-
8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/
|
509 |
-
BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j
|
510 |
-
aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B
|
511 |
-
Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj
|
512 |
-
aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y
|
513 |
-
ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh
|
514 |
-
bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA
|
515 |
-
PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y
|
516 |
-
gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ
|
517 |
-
PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4
|
518 |
-
IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
|
519 |
-
t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
|
520 |
-
-----END CERTIFICATE-----
|
521 |
-
|
522 |
XRamp Global CA Root
|
523 |
====================
|
524 |
-----BEGIN CERTIFICATE-----
|
@@ -591,47 +496,6 @@ KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
|
|
591 |
QBFGmh95DmK/D5fs4C8fF5Q=
|
592 |
-----END CERTIFICATE-----
|
593 |
|
594 |
-
StartCom Certification Authority
|
595 |
-
================================
|
596 |
-
-----BEGIN CERTIFICATE-----
|
597 |
-
MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
|
598 |
-
U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
|
599 |
-
ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
|
600 |
-
NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
|
601 |
-
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
|
602 |
-
U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
|
603 |
-
ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
|
604 |
-
o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
|
605 |
-
Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
|
606 |
-
eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
|
607 |
-
2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
|
608 |
-
6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
|
609 |
-
osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
|
610 |
-
untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
|
611 |
-
UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
|
612 |
-
37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
|
613 |
-
FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0
|
614 |
-
Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj
|
615 |
-
YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH
|
616 |
-
AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw
|
617 |
-
Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg
|
618 |
-
U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5
|
619 |
-
LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
|
620 |
-
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh
|
621 |
-
cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT
|
622 |
-
dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC
|
623 |
-
AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh
|
624 |
-
3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm
|
625 |
-
vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk
|
626 |
-
fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3
|
627 |
-
fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ
|
628 |
-
EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
|
629 |
-
yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl
|
630 |
-
1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/
|
631 |
-
lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro
|
632 |
-
g14=
|
633 |
-
-----END CERTIFICATE-----
|
634 |
-
|
635 |
Taiwan GRCA
|
636 |
===========
|
637 |
-----BEGIN CERTIFICATE-----
|
@@ -770,30 +634,6 @@ RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
|
|
770 |
fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
|
771 |
-----END CERTIFICATE-----
|
772 |
|
773 |
-
DST ACES CA X6
|
774 |
-
==============
|
775 |
-
-----BEGIN CERTIFICATE-----
|
776 |
-
MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG
|
777 |
-
EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT
|
778 |
-
MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha
|
779 |
-
MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE
|
780 |
-
CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC
|
781 |
-
AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI
|
782 |
-
DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa
|
783 |
-
pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow
|
784 |
-
GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy
|
785 |
-
MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud
|
786 |
-
EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu
|
787 |
-
Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy
|
788 |
-
dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU
|
789 |
-
CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2
|
790 |
-
5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t
|
791 |
-
Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq
|
792 |
-
nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs
|
793 |
-
vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3
|
794 |
-
oKfN5XozNmr6mis=
|
795 |
-
-----END CERTIFICATE-----
|
796 |
-
|
797 |
SwissSign Gold CA - G2
|
798 |
======================
|
799 |
-----BEGIN CERTIFICATE-----
|
@@ -1036,27 +876,6 @@ FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
|
|
1036 |
U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
|
1037 |
-----END CERTIFICATE-----
|
1038 |
|
1039 |
-
Security Communication EV RootCA1
|
1040 |
-
=================================
|
1041 |
-
-----BEGIN CERTIFICATE-----
|
1042 |
-
MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
|
1043 |
-
U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh
|
1044 |
-
dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE
|
1045 |
-
BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl
|
1046 |
-
Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
|
1047 |
-
AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO
|
1048 |
-
/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX
|
1049 |
-
WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z
|
1050 |
-
ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4
|
1051 |
-
bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK
|
1052 |
-
9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
|
1053 |
-
SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm
|
1054 |
-
iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG
|
1055 |
-
Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW
|
1056 |
-
mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW
|
1057 |
-
T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490
|
1058 |
-
-----END CERTIFICATE-----
|
1059 |
-
|
1060 |
OISTE WISeKey Global Root GA CA
|
1061 |
===============================
|
1062 |
-----BEGIN CERTIFICATE-----
|
@@ -1177,34 +996,6 @@ sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
|
|
1177 |
BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
|
1178 |
-----END CERTIFICATE-----
|
1179 |
|
1180 |
-
T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3
|
1181 |
-
=============================================================================================================================
|
1182 |
-
-----BEGIN CERTIFICATE-----
|
1183 |
-
MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH
|
1184 |
-
DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q
|
1185 |
-
aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry
|
1186 |
-
b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV
|
1187 |
-
BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg
|
1188 |
-
S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4
|
1189 |
-
MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl
|
1190 |
-
IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF
|
1191 |
-
n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl
|
1192 |
-
IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft
|
1193 |
-
dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl
|
1194 |
-
cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B
|
1195 |
-
AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO
|
1196 |
-
Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1
|
1197 |
-
xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR
|
1198 |
-
6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL
|
1199 |
-
hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd
|
1200 |
-
BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
|
1201 |
-
MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4
|
1202 |
-
N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT
|
1203 |
-
y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh
|
1204 |
-
LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M
|
1205 |
-
dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=
|
1206 |
-
-----END CERTIFICATE-----
|
1207 |
-
|
1208 |
certSIGN ROOT CA
|
1209 |
================
|
1210 |
-----BEGIN CERTIFICATE-----
|
@@ -1452,37 +1243,6 @@ y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
|
|
1452 |
lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
|
1453 |
-----END CERTIFICATE-----
|
1454 |
|
1455 |
-
ACEDICOM Root
|
1456 |
-
=============
|
1457 |
-
-----BEGIN CERTIFICATE-----
|
1458 |
-
MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD
|
1459 |
-
T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4
|
1460 |
-
MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG
|
1461 |
-
A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF
|
1462 |
-
AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk
|
1463 |
-
WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD
|
1464 |
-
YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew
|
1465 |
-
MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb
|
1466 |
-
m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk
|
1467 |
-
HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT
|
1468 |
-
xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2
|
1469 |
-
3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9
|
1470 |
-
2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq
|
1471 |
-
TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz
|
1472 |
-
4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU
|
1473 |
-
9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv
|
1474 |
-
bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg
|
1475 |
-
aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP
|
1476 |
-
eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk
|
1477 |
-
zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1
|
1478 |
-
ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI
|
1479 |
-
KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq
|
1480 |
-
nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE
|
1481 |
-
I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp
|
1482 |
-
MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o
|
1483 |
-
tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==
|
1484 |
-
-----END CERTIFICATE-----
|
1485 |
-
|
1486 |
Microsec e-Szigno Root CA 2009
|
1487 |
==============================
|
1488 |
-----BEGIN CERTIFICATE-----
|
@@ -1843,37 +1603,6 @@ Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
|
|
1843 |
03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
|
1844 |
-----END CERTIFICATE-----
|
1845 |
|
1846 |
-
Certinomis - Autorité Racine
|
1847 |
-
============================
|
1848 |
-
-----BEGIN CERTIFICATE-----
|
1849 |
-
MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
|
1850 |
-
Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg
|
1851 |
-
LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG
|
1852 |
-
A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw
|
1853 |
-
JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD
|
1854 |
-
ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa
|
1855 |
-
wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly
|
1856 |
-
Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw
|
1857 |
-
2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N
|
1858 |
-
jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q
|
1859 |
-
c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC
|
1860 |
-
lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb
|
1861 |
-
xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g
|
1862 |
-
530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna
|
1863 |
-
4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
|
1864 |
-
A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ
|
1865 |
-
KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x
|
1866 |
-
WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva
|
1867 |
-
R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40
|
1868 |
-
nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B
|
1869 |
-
CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv
|
1870 |
-
JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE
|
1871 |
-
qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b
|
1872 |
-
WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE
|
1873 |
-
wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/
|
1874 |
-
vgt2Fl43N+bYdJeimUV5
|
1875 |
-
-----END CERTIFICATE-----
|
1876 |
-
|
1877 |
TWCA Root Certification Authority
|
1878 |
=================================
|
1879 |
-----BEGIN CERTIFICATE-----
|
@@ -2022,75 +1751,6 @@ l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
|
|
2022 |
iB6XzCGcKQENZetX2fNXlrtIzYE=
|
2023 |
-----END CERTIFICATE-----
|
2024 |
|
2025 |
-
StartCom Certification Authority
|
2026 |
-
================================
|
2027 |
-
-----BEGIN CERTIFICATE-----
|
2028 |
-
MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
|
2029 |
-
U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
|
2030 |
-
ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
|
2031 |
-
NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
|
2032 |
-
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
|
2033 |
-
U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
|
2034 |
-
ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
|
2035 |
-
o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
|
2036 |
-
Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
|
2037 |
-
eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
|
2038 |
-
2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
|
2039 |
-
6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
|
2040 |
-
osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
|
2041 |
-
untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
|
2042 |
-
UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
|
2043 |
-
37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
|
2044 |
-
VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ
|
2045 |
-
Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0
|
2046 |
-
dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu
|
2047 |
-
c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv
|
2048 |
-
bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0
|
2049 |
-
aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0
|
2050 |
-
aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t
|
2051 |
-
L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG
|
2052 |
-
cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5
|
2053 |
-
fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm
|
2054 |
-
N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN
|
2055 |
-
Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T
|
2056 |
-
tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX
|
2057 |
-
e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA
|
2058 |
-
2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs
|
2059 |
-
HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE
|
2060 |
-
JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib
|
2061 |
-
D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8=
|
2062 |
-
-----END CERTIFICATE-----
|
2063 |
-
|
2064 |
-
StartCom Certification Authority G2
|
2065 |
-
===================================
|
2066 |
-
-----BEGIN CERTIFICATE-----
|
2067 |
-
MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
|
2068 |
-
U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
|
2069 |
-
RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE
|
2070 |
-
ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp
|
2071 |
-
dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O
|
2072 |
-
o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG
|
2073 |
-
4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi
|
2074 |
-
Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul
|
2075 |
-
Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs
|
2076 |
-
O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H
|
2077 |
-
vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L
|
2078 |
-
nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS
|
2079 |
-
FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa
|
2080 |
-
z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E
|
2081 |
-
BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ
|
2082 |
-
KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K
|
2083 |
-
2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk
|
2084 |
-
J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+
|
2085 |
-
JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG
|
2086 |
-
/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc
|
2087 |
-
nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld
|
2088 |
-
blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc
|
2089 |
-
l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm
|
2090 |
-
7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm
|
2091 |
-
obp573PYtlNXLfbQ4ddI
|
2092 |
-
-----END CERTIFICATE-----
|
2093 |
-
|
2094 |
Buypass Class 2 Root CA
|
2095 |
=======================
|
2096 |
-----BEGIN CERTIFICATE-----
|
@@ -2197,31 +1857,6 @@ uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
|
|
2197 |
dcGWxZ0=
|
2198 |
-----END CERTIFICATE-----
|
2199 |
|
2200 |
-
TURKTRUST Certificate Services Provider Root 2007
|
2201 |
-
=================================================
|
2202 |
-
-----BEGIN CERTIFICATE-----
|
2203 |
-
MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
|
2204 |
-
bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
|
2205 |
-
MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
|
2206 |
-
QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X
|
2207 |
-
DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl
|
2208 |
-
a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN
|
2209 |
-
BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
|
2210 |
-
bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw
|
2211 |
-
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N
|
2212 |
-
YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv
|
2213 |
-
KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya
|
2214 |
-
KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT
|
2215 |
-
rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC
|
2216 |
-
AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP
|
2217 |
-
BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s
|
2218 |
-
Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I
|
2219 |
-
aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO
|
2220 |
-
Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb
|
2221 |
-
BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK
|
2222 |
-
poRq0Tl9
|
2223 |
-
-----END CERTIFICATE-----
|
2224 |
-
|
2225 |
D-TRUST Root Class 3 CA 2 2009
|
2226 |
==============================
|
2227 |
-----BEGIN CERTIFICATE-----
|
@@ -2271,84 +1906,6 @@ NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv
|
|
2271 |
w9y4AyHqnxbxLFS1
|
2272 |
-----END CERTIFICATE-----
|
2273 |
|
2274 |
-
PSCProcert
|
2275 |
-
==========
|
2276 |
-
-----BEGIN CERTIFICATE-----
|
2277 |
-
MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk
|
2278 |
-
ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ
|
2279 |
-
MA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlzdHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lz
|
2280 |
-
dGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBl
|
2281 |
-
cmludGVuZGVuY2lhIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUw
|
2282 |
-
IwYJKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEwMFoXDTIw
|
2283 |
-
MTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHByb2NlcnQubmV0LnZlMQ8w
|
2284 |
-
DQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGExKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBD
|
2285 |
-
ZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZp
|
2286 |
-
Y2FjaW9uIEVsZWN0cm9uaWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIw
|
2287 |
-
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo97BVC
|
2288 |
-
wfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74BCXfgI8Qhd19L3uA
|
2289 |
-
3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38GieU89RLAu9MLmV+QfI4tL3czkkoh
|
2290 |
-
RqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmO
|
2291 |
-
EO8GqQKJ/+MMbpfg353bIdD0PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG2
|
2292 |
-
0qCZyFSTXai20b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH
|
2293 |
-
0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/6mnbVSKVUyqU
|
2294 |
-
td+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1mv6JpIzi4mWCZDlZTOpx+FIyw
|
2295 |
-
Bm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvp
|
2296 |
-
r2uKGcfLFFb14dq12fy/czja+eevbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/
|
2297 |
-
AgEBMDcGA1UdEgQwMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAz
|
2298 |
-
Ni0wMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFDgBStuyId
|
2299 |
-
xuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0b3JpZGFkIGRlIENlcnRp
|
2300 |
-
ZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xhbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQH
|
2301 |
-
EwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5h
|
2302 |
-
Y2lvbmFsIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5k
|
2303 |
-
ZW5jaWEgZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkqhkiG
|
2304 |
-
9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQDAgEGME0GA1UdEQRG
|
2305 |
-
MESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0wMDAwMDKgGwYFYIZeAgKgEgwQUklG
|
2306 |
-
LUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEagRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52
|
2307 |
-
ZS9sY3IvQ0VSVElGSUNBRE8tUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNy
|
2308 |
-
YWl6LnN1c2NlcnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v
|
2309 |
-
Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsGAQUFBwIBFh5o
|
2310 |
-
dHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcNAQELBQADggIBACtZ6yKZu4Sq
|
2311 |
-
T96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmN
|
2312 |
-
g7+mvTV+LFwxNG9s2/NkAZiqlCxB3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4q
|
2313 |
-
uxtxj7mkoP3YldmvWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1
|
2314 |
-
n8GhHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHmpHmJWhSn
|
2315 |
-
FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo
|
2316 |
-
5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bEqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq
|
2317 |
-
3TNWOByyrYDT13K9mmyZY+gAu0F2BbdbmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5
|
2318 |
-
poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y
|
2319 |
-
eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km
|
2320 |
-
-----END CERTIFICATE-----
|
2321 |
-
|
2322 |
-
CA Disig Root R1
|
2323 |
-
================
|
2324 |
-
-----BEGIN CERTIFICATE-----
|
2325 |
-
MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw
|
2326 |
-
EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
|
2327 |
-
ZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQyMDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sx
|
2328 |
-
EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
|
2329 |
-
c2lnIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy
|
2330 |
-
3QRkD2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/oOI7bm+V8
|
2331 |
-
u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3AfQ+lekLZWnDZv6fXARz2
|
2332 |
-
m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJeIgpFy4QxTaz+29FHuvlglzmxZcfe+5nk
|
2333 |
-
CiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8noc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTa
|
2334 |
-
YVKvJrT1cU/J19IG32PK/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6
|
2335 |
-
vpmumwKjrckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD3AjL
|
2336 |
-
LhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE7cderVC6xkGbrPAX
|
2337 |
-
ZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkCyC2fg69naQanMVXVz0tv/wQFx1is
|
2338 |
-
XxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLdqvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNV
|
2339 |
-
HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ
|
2340 |
-
04IwDQYJKoZIhvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR
|
2341 |
-
xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaASfX8MPWbTx9B
|
2342 |
-
LxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXoHqJPYNcHKfyyo6SdbhWSVhlM
|
2343 |
-
CrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpBemOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5Gfb
|
2344 |
-
VSUZP/3oNn6z4eGBrxEWi1CXYBmCAMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85
|
2345 |
-
YmLLW1AL14FABZyb7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKS
|
2346 |
-
ds+xDzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvkF7mGnjix
|
2347 |
-
lAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqFa3qdnom2piiZk4hA9z7N
|
2348 |
-
UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ
|
2349 |
-
a7+h89n07eLw4+1knj0vllJPgFOL
|
2350 |
-
-----END CERTIFICATE-----
|
2351 |
-
|
2352 |
CA Disig Root R2
|
2353 |
================
|
2354 |
-----BEGIN CERTIFICATE-----
|
@@ -2752,66 +2309,6 @@ G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP
|
|
2752 |
82Z+
|
2753 |
-----END CERTIFICATE-----
|
2754 |
|
2755 |
-
WoSign
|
2756 |
-
======
|
2757 |
-
-----BEGIN CERTIFICATE-----
|
2758 |
-
MIIFdjCCA16gAwIBAgIQXmjWEXGUY1BWAGjzPsnFkTANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQG
|
2759 |
-
EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNVBAMTIUNlcnRpZmljYXRpb24g
|
2760 |
-
QXV0aG9yaXR5IG9mIFdvU2lnbjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMFUxCzAJ
|
2761 |
-
BgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEqMCgGA1UEAxMhQ2VydGlmaWNh
|
2762 |
-
dGlvbiBBdXRob3JpdHkgb2YgV29TaWduMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
|
2763 |
-
vcqNrLiRFVaXe2tcesLea9mhsMMQI/qnobLMMfo+2aYpbxY94Gv4uEBf2zmoAHqLoE1UfcIiePyO
|
2764 |
-
CbiohdfMlZdLdNiefvAA5A6JrkkoRBoQmTIPJYhTpA2zDxIIFgsDcSccf+Hb0v1naMQFXQoOXXDX
|
2765 |
-
2JegvFNBmpGN9J42Znp+VsGQX+axaCA2pIwkLCxHC1l2ZjC1vt7tj/id07sBMOby8w7gLJKA84X5
|
2766 |
-
KIq0VC6a7fd2/BVoFutKbOsuEo/Uz/4Mx1wdC34FMr5esAkqQtXJTpCzWQ27en7N1QhatH/YHGkR
|
2767 |
-
+ScPewavVIMYe+HdVHpRaG53/Ma/UkpmRqGyZxq7o093oL5d//xWC0Nyd5DKnvnyOfUNqfTq1+ez
|
2768 |
-
EC8wQjchzDBwyYaYD8xYTYO7feUapTeNtqwylwA6Y3EkHp43xP901DfA4v6IRmAR3Qg/UDaruHqk
|
2769 |
-
lWJqbrDKaiFaafPz+x1wOZXzp26mgYmhiMU7ccqjUu6Du/2gd/Tkb+dC221KmYo0SLwX3OSACCK2
|
2770 |
-
8jHAPwQ+658geda4BmRkAjHXqc1S+4RFaQkAKtxVi8QGRkvASh0JWzko/amrzgD5LkhLJuYwTKVY
|
2771 |
-
yrREgk/nkR4zw7CT/xH8gdLKH3Ep3XZPkiWvHYG3Dy+MwwbMLyejSuQOmbp8HkUff6oZRZb9/D0C
|
2772 |
-
AwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOFmzw7R
|
2773 |
-
8bNLtwYgFP6HEtX2/vs+MA0GCSqGSIb3DQEBBQUAA4ICAQCoy3JAsnbBfnv8rWTjMnvMPLZdRtP1
|
2774 |
-
LOJwXcgu2AZ9mNELIaCJWSQBnfmvCX0KI4I01fx8cpm5o9dU9OpScA7F9dY74ToJMuYhOZO9sxXq
|
2775 |
-
T2r09Ys/L3yNWC7F4TmgPsc9SnOeQHrAK2GpZ8nzJLmzbVUsWh2eJXLOC62qx1ViC777Y7NhRCOj
|
2776 |
-
y+EaDveaBk3e1CNOIZZbOVtXHS9dCF4Jef98l7VNg64N1uajeeAz0JmWAjCnPv/So0M/BVoG6kQC
|
2777 |
-
2nz4SNAzqfkHx5Xh9T71XXG68pWpdIhhWeO/yloTunK0jF02h+mmxTwTv97QRCbut+wucPrXnbes
|
2778 |
-
5cVAWubXbHssw1abR80LzvobtCHXt2a49CUwi1wNuepnsvRtrtWhnk/Yn+knArAdBtaP4/tIEp9/
|
2779 |
-
EaEQPkxROpaw0RPxx9gmrjrKkcRpnd8BKWRRb2jaFOwIQZeQjdCygPLPwj2/kWjFgGcexGATVdVh
|
2780 |
-
mVd8upUPYUk6ynW8yQqTP2cOEvIo4jEbwFcW3wh8GcF+Dx+FHgo2fFt+J7x6v+Db9NpSvd4MVHAx
|
2781 |
-
kUOVyLzwPt0JfjBkUO1/AaQzZ01oT74V77D2AhGiGxMlOtzCWfHjXEa7ZywCRuoeSKbmW9m1vFGi
|
2782 |
-
kpbbqsY3Iqb+zCB0oy2pLmvLwIIRIbWTee5Ehr7XHuQe+w==
|
2783 |
-
-----END CERTIFICATE-----
|
2784 |
-
|
2785 |
-
WoSign China
|
2786 |
-
============
|
2787 |
-
-----BEGIN CERTIFICATE-----
|
2788 |
-
MIIFWDCCA0CgAwIBAgIQUHBrzdgT/BtOOzNy0hFIjTANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQG
|
2789 |
-
EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMMEkNBIOayg+mAmuagueiv
|
2790 |
-
geS5pjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMEYxCzAJBgNVBAYTAkNOMRowGAYD
|
2791 |
-
VQQKExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAwwSQ0Eg5rKD6YCa5qC56K+B5LmmMIICIjAN
|
2792 |
-
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0EkhHiX8h8EqwqzbdoYGTufQdDTc7WU1/FDWiD+k
|
2793 |
-
8H/rD195L4mx/bxjWDeTmzj4t1up+thxx7S8gJeNbEvxUNUqKaqoGXqW5pWOdO2XCld19AXbbQs5
|
2794 |
-
uQF/qvbW2mzmBeCkTVL829B0txGMe41P/4eDrv8FAxNXUDf+jJZSEExfv5RxadmWPgxDT74wwJ85
|
2795 |
-
dE8GRV2j1lY5aAfMh09Qd5Nx2UQIsYo06Yms25tO4dnkUkWMLhQfkWsZHWgpLFbE4h4TV2TwYeO5
|
2796 |
-
Ed+w4VegG63XX9Gv2ystP9Bojg/qnw+LNVgbExz03jWhCl3W6t8Sb8D7aQdGctyB9gQjF+BNdeFy
|
2797 |
-
b7Ao65vh4YOhn0pdr8yb+gIgthhid5E7o9Vlrdx8kHccREGkSovrlXLp9glk3Kgtn3R46MGiCWOc
|
2798 |
-
76DbT52VqyBPt7D3h1ymoOQ3OMdc4zUPLK2jgKLsLl3Az+2LBcLmc272idX10kaO6m1jGx6KyX2m
|
2799 |
-
+Jzr5dVjhU1zZmkR/sgO9MHHZklTfuQZa/HpelmjbX7FF+Ynxu8b22/8DU0GAbQOXDBGVWCvOGU6
|
2800 |
-
yke6rCzMRh+yRpY/8+0mBe53oWprfi1tWFxK1I5nuPHa1UaKJ/kR8slC/k7e3x9cxKSGhxYzoacX
|
2801 |
-
GKUN5AXlK8IrC6KVkLn9YDxOiT7nnO4fuwECAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
|
2802 |
-
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFOBNv9ybQV0T6GTwp+kVpOGBwboxMA0GCSqGSIb3DQEBCwUA
|
2803 |
-
A4ICAQBqinA4WbbaixjIvirTthnVZil6Xc1bL3McJk6jfW+rtylNpumlEYOnOXOvEESS5iVdT2H6
|
2804 |
-
yAa+Tkvv/vMx/sZ8cApBWNromUuWyXi8mHwCKe0JgOYKOoICKuLJL8hWGSbueBwj/feTZU7n85iY
|
2805 |
-
r83d2Z5AiDEoOqsuC7CsDCT6eiaY8xJhEPRdF/d+4niXVOKM6Cm6jBAyvd0zaziGfjk9DgNyp115
|
2806 |
-
j0WKWa5bIW4xRtVZjc8VX90xJc/bYNaBRHIpAlf2ltTW/+op2znFuCyKGo3Oy+dCMYYFaA6eFN0A
|
2807 |
-
kLppRQjbbpCBhqcqBT/mhDn4t/lXX0ykeVoQDF7Va/81XwVRHmyjdanPUIPTfPRm94KNPQx96N97
|
2808 |
-
qA4bLJyuQHCH2u2nFoJavjVsIE4iYdm8UXrNemHcSxH5/mc0zy4EZmFcV5cjjPOGG0jfKq+nwf/Y
|
2809 |
-
jj4Du9gqsPoUJbJRa4ZDhS4HIxaAjUz7tGM7zMN07RujHv41D198HRaG9Q7DlfEvr10lO1Hm13ZB
|
2810 |
-
ONFLAzkopR6RctR9q5czxNM+4Gm2KHmgCY0c0f9BckgG/Jou5yD5m6Leie2uPAmvylezkolwQOQv
|
2811 |
-
T8Jwg0DXJCxr5wkf09XHwQj02w47HAcLQxGEIYbpgNR12KvxAmLBsX5VYc8T1yaw15zLKYs4SgsO
|
2812 |
-
kI26oQ==
|
2813 |
-
-----END CERTIFICATE-----
|
2814 |
-
|
2815 |
COMODO RSA Certification Authority
|
2816 |
==================================
|
2817 |
-----BEGIN CERTIFICATE-----
|
@@ -3116,61 +2613,6 @@ kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C
|
|
3116 |
ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su
|
3117 |
-----END CERTIFICATE-----
|
3118 |
|
3119 |
-
TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H5
|
3120 |
-
====================================================
|
3121 |
-
-----BEGIN CERTIFICATE-----
|
3122 |
-
MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UEBhMCVFIxDzAN
|
3123 |
-
BgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
|
3124 |
-
bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4xQjBABgNVBAMMOVTDnFJLVFJVU1Qg
|
3125 |
-
RWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSBINTAeFw0xMzA0MzAw
|
3126 |
-
ODA3MDFaFw0yMzA0MjgwODA3MDFaMIGxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMU0w
|
3127 |
-
SwYDVQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnE
|
3128 |
-
n2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBFbGVrdHJvbmlrIFNlcnRp
|
3129 |
-
ZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
3130 |
-
CgKCAQEApCUZ4WWe60ghUEoI5RHwWrom/4NZzkQqL/7hzmAD/I0Dpe3/a6i6zDQGn1k19uwsu537
|
3131 |
-
jVJp45wnEFPzpALFp/kRGml1bsMdi9GYjZOHp3GXDSHHmflS0yxjXVW86B8BSLlg/kJK9siArs1m
|
3132 |
-
ep5Fimh34khon6La8eHBEJ/rPCmBp+EyCNSgBbGM+42WAA4+Jd9ThiI7/PS98wl+d+yG6w8z5UNP
|
3133 |
-
9FR1bSmZLmZaQ9/LXMrI5Tjxfjs1nQ/0xVqhzPMggCTTV+wVunUlm+hkS7M0hO8EuPbJbKoCPrZV
|
3134 |
-
4jI3X/xml1/N1p7HIL9Nxqw/dV8c7TKcfGkAaZHjIxhT6QIDAQABo0IwQDAdBgNVHQ4EFgQUVpkH
|
3135 |
-
HtOsDGlktAxQR95DLL4gwPswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
|
3136 |
-
hvcNAQELBQADggEBAJ5FdnsXSDLyOIspve6WSk6BGLFRRyDN0GSxDsnZAdkJzsiZ3GglE9Rc8qPo
|
3137 |
-
BP5yCccLqh0lVX6Wmle3usURehnmp349hQ71+S4pL+f5bFgWV1Al9j4uPqrtd3GqqpmWRgqujuwq
|
3138 |
-
URawXs3qZwQcWDD1YIq9pr1N5Za0/EKJAWv2cMhQOQwt1WbZyNKzMrcbGW3LM/nfpeYVhDfwwvJl
|
3139 |
-
lpKQd/Ct9JDpEXjXk4nAPQu6KfTomZ1yju2dL+6SfaHx/126M2CFYv4HAqGEVka+lgqaE9chTLd8
|
3140 |
-
B59OTj+RdPsnnRHM3eaxynFNExc5JsUpISuTKWqW+qtB4Uu2NQvAmxU=
|
3141 |
-
-----END CERTIFICATE-----
|
3142 |
-
|
3143 |
-
Certinomis - Root CA
|
3144 |
-
====================
|
3145 |
-
-----BEGIN CERTIFICATE-----
|
3146 |
-
MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
|
3147 |
-
Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAbBgNVBAMTFENlcnRpbm9taXMg
|
3148 |
-
LSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMzMTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIx
|
3149 |
-
EzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRD
|
3150 |
-
ZXJ0aW5vbWlzIC0gUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQos
|
3151 |
-
P5L2fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJflLieY6pOo
|
3152 |
-
d5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQVWZUKxkd8aRi5pwP5ynap
|
3153 |
-
z8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDFTKWrteoB4owuZH9kb/2jJZOLyKIOSY00
|
3154 |
-
8B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09x
|
3155 |
-
RLWtwHkziOC/7aOgFLScCbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE
|
3156 |
-
6OXWk6RiwsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJwx3t
|
3157 |
-
FvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SGm/lg0h9tkQPTYKbV
|
3158 |
-
PZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4F2iw4lNVYC2vPsKD2NkJK/DAZNuH
|
3159 |
-
i5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZngWVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGj
|
3160 |
-
YzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I
|
3161 |
-
6tNxIqSSaHh02TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF
|
3162 |
-
AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/0KGRHCwPT5iV
|
3163 |
-
WVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWwF6YSjNRieOpWauwK0kDDPAUw
|
3164 |
-
Pk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZSg081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAX
|
3165 |
-
lCOotQqSD7J6wWAsOMwaplv/8gzjqh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJ
|
3166 |
-
y29SWwNyhlCVCNSNh4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9
|
3167 |
-
Iff/ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8Vbtaw5Bng
|
3168 |
-
DwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwjY/M50n92Uaf0yKHxDHYi
|
3169 |
-
I0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nM
|
3170 |
-
cyrDflOR1m749fPH0FFNjkulW+YZFzvWgQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVr
|
3171 |
-
hkIGuUE=
|
3172 |
-
-----END CERTIFICATE-----
|
3173 |
-
|
3174 |
OISTE WISeKey Global Root GB CA
|
3175 |
===============================
|
3176 |
-----BEGIN CERTIFICATE-----
|
@@ -3193,42 +2635,6 @@ HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic
|
|
3193 |
Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM=
|
3194 |
-----END CERTIFICATE-----
|
3195 |
|
3196 |
-
Certification Authority of WoSign G2
|
3197 |
-
====================================
|
3198 |
-
-----BEGIN CERTIFICATE-----
|
3199 |
-
MIIDfDCCAmSgAwIBAgIQayXaioidfLwPBbOxemFFRDANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQG
|
3200 |
-
EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxLTArBgNVBAMTJENlcnRpZmljYXRpb24g
|
3201 |
-
QXV0aG9yaXR5IG9mIFdvU2lnbiBHMjAeFw0xNDExMDgwMDU4NThaFw00NDExMDgwMDU4NThaMFgx
|
3202 |
-
CzAJBgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEtMCsGA1UEAxMkQ2VydGlm
|
3203 |
-
aWNhdGlvbiBBdXRob3JpdHkgb2YgV29TaWduIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
3204 |
-
CgKCAQEAvsXEoCKASU+/2YcRxlPhuw+9YH+v9oIOH9ywjj2X4FA8jzrvZjtFB5sg+OPXJYY1kBai
|
3205 |
-
XW8wGQiHC38Gsp1ij96vkqVg1CuAmlI/9ZqD6TRay9nVYlzmDuDfBpgOgHzKtB0TiGsOqCR3A9Du
|
3206 |
-
W/PKaZE1OVbFbeP3PU9ekzgkyhjpJMuSA93MHD0JcOQg5PGurLtzaaNjOg9FD6FKmsLRY6zLEPg9
|
3207 |
-
5k4ot+vElbGs/V6r+kHLXZ1L3PR8du9nfwB6jdKgGlxNIuG12t12s9R23164i5jIFFTMaxeSt+BK
|
3208 |
-
v0mUYQs4kI9dJGwlezt52eJ+na2fmKEG/HgUYFf47oB3sQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC
|
3209 |
-
AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU+mCp62XF3RYUCE4MD42b4Pdkr2cwDQYJKoZI
|
3210 |
-
hvcNAQELBQADggEBAFfDejaCnI2Y4qtAqkePx6db7XznPWZaOzG73/MWM5H8fHulwqZm46qwtyeY
|
3211 |
-
P0nXYGdnPzZPSsvxFPpahygc7Y9BMsaV+X3avXtbwrAh449G3CE4Q3RM+zD4F3LBMvzIkRfEzFg3
|
3212 |
-
TgvMWvchNSiDbGAtROtSjFA9tWwS1/oJu2yySrHFieT801LYYRf+epSEj3m2M1m6D8QL4nCgS3gu
|
3213 |
-
+sif/a+RZQp4OBXllxcU3fngLDT4ONCEIgDAFFEYKwLcMFrw6AF8NTojrwjkr6qOKEJJLvD1mTS+
|
3214 |
-
7Q9LGOHSJDy7XUe3IfKN0QqZjuNuPq1w4I+5ysxugTH2e5x6eeRncRg=
|
3215 |
-
-----END CERTIFICATE-----
|
3216 |
-
|
3217 |
-
CA WoSign ECC Root
|
3218 |
-
==================
|
3219 |
-
-----BEGIN CERTIFICATE-----
|
3220 |
-
MIICCTCCAY+gAwIBAgIQaEpYcIBr8I8C+vbe6LCQkDAKBggqhkjOPQQDAzBGMQswCQYDVQQGEwJD
|
3221 |
-
TjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMTEkNBIFdvU2lnbiBFQ0MgUm9v
|
3222 |
-
dDAeFw0xNDExMDgwMDU4NThaFw00NDExMDgwMDU4NThaMEYxCzAJBgNVBAYTAkNOMRowGAYDVQQK
|
3223 |
-
ExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAxMSQ0EgV29TaWduIEVDQyBSb290MHYwEAYHKoZI
|
3224 |
-
zj0CAQYFK4EEACIDYgAE4f2OuEMkq5Z7hcK6C62N4DrjJLnSsb6IOsq/Srj57ywvr1FQPEd1bPiU
|
3225 |
-
t5v8KB7FVMxjnRZLU8HnIKvNrCXSf4/CwVqCXjCLelTOA7WRf6qU0NGKSMyCBSah1VES1ns2o0Iw
|
3226 |
-
QDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUqv3VWqP2h4syhf3R
|
3227 |
-
MluARZPzA7gwCgYIKoZIzj0EAwMDaAAwZQIxAOSkhLCB1T2wdKyUpOgOPQB0TKGXa/kNUTyh2Tv0
|
3228 |
-
Daupn75OcsqF1NnstTJFGG+rrQIwfcf3aWMvoeGY7xMQ0Xk/0f7qO3/eVvSQsRUR2LIiFdAvwyYu
|
3229 |
-
a/GRspBl9JrmkO5K
|
3230 |
-
-----END CERTIFICATE-----
|
3231 |
-
|
3232 |
SZAFIR ROOT CA2
|
3233 |
===============
|
3234 |
-----BEGIN CERTIFICATE-----
|
@@ -3333,126 +2739,6 @@ GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn
|
|
3333 |
dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR
|
3334 |
-----END CERTIFICATE-----
|
3335 |
|
3336 |
-
Certplus Root CA G1
|
3337 |
-
===================
|
3338 |
-
-----BEGIN CERTIFICATE-----
|
3339 |
-
MIIFazCCA1OgAwIBAgISESBVg+QtPlRWhS2DN7cs3EYRMA0GCSqGSIb3DQEBDQUAMD4xCzAJBgNV
|
3340 |
-
BAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMTAe
|
3341 |
-
Fw0xNDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhD
|
3342 |
-
ZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMTCCAiIwDQYJKoZIhvcNAQEBBQAD
|
3343 |
-
ggIPADCCAgoCggIBANpQh7bauKk+nWT6VjOaVj0W5QOVsjQcmm1iBdTYj+eJZJ+622SLZOZ5KmHN
|
3344 |
-
r49aiZFluVj8tANfkT8tEBXgfs+8/H9DZ6itXjYj2JizTfNDnjl8KvzsiNWI7nC9hRYt6kuJPKNx
|
3345 |
-
Qv4c/dMcLRC4hlTqQ7jbxofaqK6AJc96Jh2qkbBIb6613p7Y1/oA/caP0FG7Yn2ksYyy/yARujVj
|
3346 |
-
BYZHYEMzkPZHogNPlk2dT8Hq6pyi/jQu3rfKG3akt62f6ajUeD94/vI4CTYd0hYCyOwqaK/1jpTv
|
3347 |
-
LRN6HkJKHRUxrgwEV/xhc/MxVoYxgKDEEW4wduOU8F8ExKyHcomYxZ3MVwia9Az8fXoFOvpHgDm2
|
3348 |
-
z4QTd28n6v+WZxcIbekN1iNQMLAVdBM+5S//Ds3EC0pd8NgAM0lm66EYfFkuPSi5YXHLtaW6uOrc
|
3349 |
-
4nBvCGrch2c0798wct3zyT8j/zXhviEpIDCB5BmlIOklynMxdCm+4kLV87ImZsdo/Rmz5yCTmehd
|
3350 |
-
4F6H50boJZwKKSTUzViGUkAksnsPmBIgJPaQbEfIDbsYIC7Z/fyL8inqh3SV4EJQeIQEQWGw9CEj
|
3351 |
-
jy3LKCHyamz0GqbFFLQ3ZU+V/YDI+HLlJWvEYLF7bY5KinPOWftwenMGE9nTdDckQQoRb5fc5+R+
|
3352 |
-
ob0V8rqHDz1oihYHAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0G
|
3353 |
-
A1UdDgQWBBSowcCbkahDFXxdBie0KlHYlwuBsTAfBgNVHSMEGDAWgBSowcCbkahDFXxdBie0KlHY
|
3354 |
-
lwuBsTANBgkqhkiG9w0BAQ0FAAOCAgEAnFZvAX7RvUz1isbwJh/k4DgYzDLDKTudQSk0YcbX8ACh
|
3355 |
-
66Ryj5QXvBMsdbRX7gp8CXrc1cqh0DQT+Hern+X+2B50ioUHj3/MeXrKls3N/U/7/SMNkPX0XtPG
|
3356 |
-
YX2eEeAC7gkE2Qfdpoq3DIMku4NQkv5gdRE+2J2winq14J2by5BSS7CTKtQ+FjPlnsZlFT5kOwQ/
|
3357 |
-
2wyPX1wdaR+v8+khjPPvl/aatxm2hHSco1S1cE5j2FddUyGbQJJD+tZ3VTNPZNX70Cxqjm0lpu+F
|
3358 |
-
6ALEUz65noe8zDUa3qHpimOHZR4RKttjd5cUvpoUmRGywO6wT/gUITJDT5+rosuoD6o7BlXGEilX
|
3359 |
-
CNQ314cnrUlZp5GrRHpejXDbl85IULFzk/bwg2D5zfHhMf1bfHEhYxQUqq/F3pN+aLHsIqKqkHWe
|
3360 |
-
tUNy6mSjhEv9DKgma3GX7lZjZuhCVPnHHd/Qj1vfyDBviP4NxDMcU6ij/UgQ8uQKTuEVV/xuZDDC
|
3361 |
-
VRHc6qnNSlSsKWNEz0pAoNZoWRsz+e86i9sgktxChL8Bq4fA1SCC28a5g4VCXA9DO2pJNdWY9BW/
|
3362 |
-
+mGBDAkgGNLQFwzLSABQ6XaCjGTXOqAHVcweMcDvOrRl++O/QmueD6i9a5jc2NvLi6Td11n0bt3+
|
3363 |
-
qsOR0C5CB8AMTVPNJLFMWx5R9N/pkvo=
|
3364 |
-
-----END CERTIFICATE-----
|
3365 |
-
|
3366 |
-
Certplus Root CA G2
|
3367 |
-
===================
|
3368 |
-
-----BEGIN CERTIFICATE-----
|
3369 |
-
MIICHDCCAaKgAwIBAgISESDZkc6uo+jF5//pAq/Pc7xVMAoGCCqGSM49BAMDMD4xCzAJBgNVBAYT
|
3370 |
-
AkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjAeFw0x
|
3371 |
-
NDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0
|
3372 |
-
cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjB2MBAGByqGSM49AgEGBSuBBAAiA2IA
|
3373 |
-
BM0PW1aC3/BFGtat93nwHcmsltaeTpwftEIRyoa/bfuFo8XlGVzX7qY/aWfYeOKmycTbLXku54uN
|
3374 |
-
Am8xIk0G42ByRZ0OQneezs/lf4WbGOT8zC5y0xaTTsqZY1yhBSpsBqNjMGEwDgYDVR0PAQH/BAQD
|
3375 |
-
AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMB8GA1Ud
|
3376 |
-
IwQYMBaAFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMAoGCCqGSM49BAMDA2gAMGUCMHD+sAvZ94OX7PNV
|
3377 |
-
HdTcswYO/jOYnYs5kGuUIe22113WTNchp+e/IQ8rzfcq3IUHnQIxAIYUFuXcsGXCwI4Un78kFmjl
|
3378 |
-
vPl5adytRSv3tjFzzAalU5ORGpOucGpnutee5WEaXw==
|
3379 |
-
-----END CERTIFICATE-----
|
3380 |
-
|
3381 |
-
OpenTrust Root CA G1
|
3382 |
-
====================
|
3383 |
-
-----BEGIN CERTIFICATE-----
|
3384 |
-
MIIFbzCCA1egAwIBAgISESCzkFU5fX82bWTCp59rY45nMA0GCSqGSIb3DQEBCwUAMEAxCzAJBgNV
|
3385 |
-
BAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEcx
|
3386 |
-
MB4XDTE0MDUyNjA4NDU1MFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoM
|
3387 |
-
CU9wZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzEwggIiMA0GCSqGSIb3DQEB
|
3388 |
-
AQUAA4ICDwAwggIKAoICAQD4eUbalsUwXopxAy1wpLuwxQjczeY1wICkES3d5oeuXT2R0odsN7fa
|
3389 |
-
Yp6bwiTXj/HbpqbfRm9RpnHLPhsxZ2L3EVs0J9V5ToybWL0iEA1cJwzdMOWo010hOHQX/uMftk87
|
3390 |
-
ay3bfWAfjH1MBcLrARYVmBSO0ZB3Ij/swjm4eTrwSSTilZHcYTSSjFR077F9jAHiOH3BX2pfJLKO
|
3391 |
-
YheteSCtqx234LSWSE9mQxAGFiQD4eCcjsZGT44ameGPuY4zbGneWK2gDqdkVBFpRGZPTBKnjix9
|
3392 |
-
xNRbxQA0MMHZmf4yzgeEtE7NCv82TWLxp2NX5Ntqp66/K7nJ5rInieV+mhxNaMbBGN4zK1FGSxyO
|
3393 |
-
9z0M+Yo0FMT7MzUj8czxKselu7Cizv5Ta01BG2Yospb6p64KTrk5M0ScdMGTHPjgniQlQ/GbI4Kq
|
3394 |
-
3ywgsNw2TgOzfALU5nsaqocTvz6hdLubDuHAk5/XpGbKuxs74zD0M1mKB3IDVedzagMxbm+WG+Oi
|
3395 |
-
n6+Sx+31QrclTDsTBM8clq8cIqPQqwWyTBIjUtz9GVsnnB47ev1CI9sjgBPwvFEVVJSmdz7QdFG9
|
3396 |
-
URQIOTfLHzSpMJ1ShC5VkLG631UAC9hWLbFJSXKAqWLXwPYYEQRVzXR7z2FwefR7LFxckvzluFqr
|
3397 |
-
TJOVoSfupb7PcSNCupt2LQIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
|
3398 |
-
/zAdBgNVHQ4EFgQUl0YhVyE12jZVx/PxN3DlCPaTKbYwHwYDVR0jBBgwFoAUl0YhVyE12jZVx/Px
|
3399 |
-
N3DlCPaTKbYwDQYJKoZIhvcNAQELBQADggIBAB3dAmB84DWn5ph76kTOZ0BP8pNuZtQ5iSas000E
|
3400 |
-
PLuHIT839HEl2ku6q5aCgZG27dmxpGWX4m9kWaSW7mDKHyP7Rbr/jyTwyqkxf3kfgLMtMrpkZ2Cv
|
3401 |
-
uVnN35pJ06iCsfmYlIrM4LvgBBuZYLFGZdwIorJGnkSI6pN+VxbSFXJfLkur1J1juONI5f6ELlgK
|
3402 |
-
n0Md/rcYkoZDSw6cMoYsYPXpSOqV7XAp8dUv/TW0V8/bhUiZucJvbI/NeJWsZCj9VrDDb8O+WVLh
|
3403 |
-
X4SPgPL0DTatdrOjteFkdjpY3H1PXlZs5VVZV6Xf8YpmMIzUUmI4d7S+KNfKNsSbBfD4Fdvb8e80
|
3404 |
-
nR14SohWZ25g/4/Ii+GOvUKpMwpZQhISKvqxnUOOBZuZ2mKtVzazHbYNeS2WuOvyDEsMpZTGMKcm
|
3405 |
-
GS3tTAZQMPH9WD25SxdfGbRqhFS0OE85og2WaMMolP3tLR9Ka0OWLpABEPs4poEL0L9109S5zvE/
|
3406 |
-
bw4cHjdx5RiHdRk/ULlepEU0rbDK5uUTdg8xFKmOLZTW1YVNcxVPS/KyPu1svf0OnWZzsD2097+o
|
3407 |
-
4BGkxK51CUpjAEggpsadCwmKtODmzj7HPiY46SvepghJAwSQiumPv+i2tCqjI40cHLI5kqiPAlxA
|
3408 |
-
OXXUc0ECd97N4EOH1uS6SsNsEn/+KuYj1oxx
|
3409 |
-
-----END CERTIFICATE-----
|
3410 |
-
|
3411 |
-
OpenTrust Root CA G2
|
3412 |
-
====================
|
3413 |
-
-----BEGIN CERTIFICATE-----
|
3414 |
-
MIIFbzCCA1egAwIBAgISESChaRu/vbm9UpaPI+hIvyYRMA0GCSqGSIb3DQEBDQUAMEAxCzAJBgNV
|
3415 |
-
BAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEcy
|
3416 |
-
MB4XDTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoM
|
3417 |
-
CU9wZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzIwggIiMA0GCSqGSIb3DQEB
|
3418 |
-
AQUAA4ICDwAwggIKAoICAQDMtlelM5QQgTJT32F+D3Y5z1zCU3UdSXqWON2ic2rxb95eolq5cSG+
|
3419 |
-
Ntmh/LzubKh8NBpxGuga2F8ORAbtp+Dz0mEL4DKiltE48MLaARf85KxP6O6JHnSrT78eCbY2albz
|
3420 |
-
4e6WiWYkBuTNQjpK3eCasMSCRbP+yatcfD7J6xcvDH1urqWPyKwlCm/61UWY0jUJ9gNDlP7ZvyCV
|
3421 |
-
eYCYitmJNbtRG6Q3ffyZO6v/v6wNj0OxmXsWEH4db0fEFY8ElggGQgT4hNYdvJGmQr5J1WqIP7wt
|
3422 |
-
UdGejeBSzFfdNTVY27SPJIjki9/ca1TSgSuyzpJLHB9G+h3Ykst2Z7UJmQnlrBcUVXDGPKBWCgOz
|
3423 |
-
3GIZ38i1MH/1PCZ1Eb3XG7OHngevZXHloM8apwkQHZOJZlvoPGIytbU6bumFAYueQ4xncyhZW+vj
|
3424 |
-
3CzMpSZyYhK05pyDRPZRpOLAeiRXyg6lPzq1O4vldu5w5pLeFlwoW5cZJ5L+epJUzpM5ChaHvGOz
|
3425 |
-
9bGTXOBut9Dq+WIyiET7vycotjCVXRIouZW+j1MY5aIYFuJWpLIsEPUdN6b4t/bQWVyJ98LVtZR0
|
3426 |
-
0dX+G7bw5tYee9I8y6jj9RjzIR9u701oBnstXW5DiabA+aC/gh7PU3+06yzbXfZqfUAkBXKJOAGT
|
3427 |
-
y3HCOV0GEfZvePg3DTmEJwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
|
3428 |
-
/zAdBgNVHQ4EFgQUajn6QiL35okATV59M4PLuG53hq8wHwYDVR0jBBgwFoAUajn6QiL35okATV59
|
3429 |
-
M4PLuG53hq8wDQYJKoZIhvcNAQENBQADggIBAJjLq0A85TMCl38th6aP1F5Kr7ge57tx+4BkJamz
|
3430 |
-
Gj5oXScmp7oq4fBXgwpkTx4idBvpkF/wrM//T2h6OKQQbA2xx6R3gBi2oihEdqc0nXGEL8pZ0keI
|
3431 |
-
mUEiyTCYYW49qKgFbdEfwFFEVn8nNQLdXpgKQuswv42hm1GqO+qTRmTFAHneIWv2V6CG1wZy7HBG
|
3432 |
-
S4tz3aAhdT7cHcCP009zHIXZ/n9iyJVvttN7jLpTwm+bREx50B1ws9efAvSyB7DH5fitIw6mVskp
|
3433 |
-
EndI2S9G/Tvw/HRwkqWOOAgfZDC2t0v7NqwQjqBSM2OdAzVWxWm9xiNaJ5T2pBL4LTM8oValX9YZ
|
3434 |
-
6e18CL13zSdkzJTaTkZQh+D5wVOAHrut+0dSixv9ovneDiK3PTNZbNTe9ZUGMg1RGUFcPk8G97kr
|
3435 |
-
gCf2o6p6fAbhQ8MTOWIaNr3gKC6UAuQpLmBVrkA9sHSSXvAgZJY/X0VdiLWK2gKgW0VU3jg9CcCo
|
3436 |
-
SmVGFvyqv1ROTVu+OEO3KMqLM6oaJbolXCkvW0pujOotnCr2BXbgd5eAiN1nE28daCSLT7d0geX0
|
3437 |
-
YJ96Vdc+N9oWaz53rK4YcJUIeSkDiv7BO7M/Gg+kO14fWKGVyasvc0rQLW6aWQ9VGHgtPFGml4vm
|
3438 |
-
u7JwqkwR3v98KzfUetF3NI/n+UL3PIEMS1IK
|
3439 |
-
-----END CERTIFICATE-----
|
3440 |
-
|
3441 |
-
OpenTrust Root CA G3
|
3442 |
-
====================
|
3443 |
-
-----BEGIN CERTIFICATE-----
|
3444 |
-
MIICITCCAaagAwIBAgISESDm+Ez8JLC+BUCs2oMbNGA/MAoGCCqGSM49BAMDMEAxCzAJBgNVBAYT
|
3445 |
-
AkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEczMB4X
|
3446 |
-
DTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9w
|
3447 |
-
ZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzMwdjAQBgcqhkjOPQIBBgUrgQQA
|
3448 |
-
IgNiAARK7liuTcpm3gY6oxH84Bjwbhy6LTAMidnW7ptzg6kjFYwvWYpa3RTqnVkrQ7cG7DK2uu5B
|
3449 |
-
ta1doYXM6h0UZqNnfkbilPPntlahFVmhTzeXuSIevRHr9LIfXsMUmuXZl5mjYzBhMA4GA1UdDwEB
|
3450 |
-
/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAf
|
3451 |
-
BgNVHSMEGDAWgBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAKBggqhkjOPQQDAwNpADBmAjEAj6jcnboM
|
3452 |
-
BBf6Fek9LykBl7+BFjNAk2z8+e2AcG+qj9uEwov1NcoG3GRvaBbhj5G5AjEA2Euly8LQCGzpGPta
|
3453 |
-
3U1fJAuwACEl74+nBCZx4nxp5V2a+EEfOzmTk51V6s2N8fvB
|
3454 |
-
-----END CERTIFICATE-----
|
3455 |
-
|
3456 |
ISRG Root X1
|
3457 |
============
|
3458 |
-----BEGIN CERTIFICATE-----
|
@@ -3644,3 +2930,547 @@ lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5RXI4s6ehlj2R
|
|
3644 |
e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j
|
3645 |
q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM=
|
3646 |
-----END CERTIFICATE-----
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
##
|
2 |
## Bundle of CA Root Certificates
|
3 |
##
|
4 |
+
## Certificate data from Mozilla as of: Wed Aug 28 03:12:10 2019 GMT
|
5 |
##
|
6 |
## This is a bundle of X.509 certificates of public Certificate Authorities
|
7 |
## (CA). These were automatically extracted from Mozilla's root certificates
|
14 |
## Just configure this file as the SSLCACertificateFile.
|
15 |
##
|
16 |
## Conversion done with mk-ca-bundle.pl version 1.27.
|
17 |
+
## SHA256: fffa309937c3be940649293f749b8207fabc6eb224e50e4bb3f2c5e44e0d6a6b
|
18 |
##
|
19 |
|
20 |
|
261 |
X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
|
262 |
-----END CERTIFICATE-----
|
263 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
264 |
Comodo AAA Services root
|
265 |
========================
|
266 |
-----BEGIN CERTIFICATE-----
|
424 |
llpwrN9M
|
425 |
-----END CERTIFICATE-----
|
426 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
427 |
XRamp Global CA Root
|
428 |
====================
|
429 |
-----BEGIN CERTIFICATE-----
|
496 |
QBFGmh95DmK/D5fs4C8fF5Q=
|
497 |
-----END CERTIFICATE-----
|
498 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
499 |
Taiwan GRCA
|
500 |
===========
|
501 |
-----BEGIN CERTIFICATE-----
|
634 |
fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
|
635 |
-----END CERTIFICATE-----
|
636 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
637 |
SwissSign Gold CA - G2
|
638 |
======================
|
639 |
-----BEGIN CERTIFICATE-----
|
876 |
U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
|
877 |
-----END CERTIFICATE-----
|
878 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
879 |
OISTE WISeKey Global Root GA CA
|
880 |
===============================
|
881 |
-----BEGIN CERTIFICATE-----
|
996 |
BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
|
997 |
-----END CERTIFICATE-----
|
998 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
999 |
certSIGN ROOT CA
|
1000 |
================
|
1001 |
-----BEGIN CERTIFICATE-----
|
1243 |
lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
|
1244 |
-----END CERTIFICATE-----
|
1245 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1246 |
Microsec e-Szigno Root CA 2009
|
1247 |
==============================
|
1248 |
-----BEGIN CERTIFICATE-----
|
1603 |
03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
|
1604 |
-----END CERTIFICATE-----
|
1605 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1606 |
TWCA Root Certification Authority
|
1607 |
=================================
|
1608 |
-----BEGIN CERTIFICATE-----
|
1751 |
iB6XzCGcKQENZetX2fNXlrtIzYE=
|
1752 |
-----END CERTIFICATE-----
|
1753 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1754 |
Buypass Class 2 Root CA
|
1755 |
=======================
|
1756 |
-----BEGIN CERTIFICATE-----
|
1857 |
dcGWxZ0=
|
1858 |
-----END CERTIFICATE-----
|
1859 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1860 |
D-TRUST Root Class 3 CA 2 2009
|
1861 |
==============================
|
1862 |
-----BEGIN CERTIFICATE-----
|
1906 |
w9y4AyHqnxbxLFS1
|
1907 |
-----END CERTIFICATE-----
|
1908 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1909 |
CA Disig Root R2
|
1910 |
================
|
1911 |
-----BEGIN CERTIFICATE-----
|
2309 |
82Z+
|
2310 |
-----END CERTIFICATE-----
|
2311 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2312 |
COMODO RSA Certification Authority
|
2313 |
==================================
|
2314 |
-----BEGIN CERTIFICATE-----
|
2613 |
ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su
|
2614 |
-----END CERTIFICATE-----
|
2615 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2616 |
OISTE WISeKey Global Root GB CA
|
2617 |
===============================
|
2618 |
-----BEGIN CERTIFICATE-----
|
2635 |
Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM=
|
2636 |
-----END CERTIFICATE-----
|
2637 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2638 |
SZAFIR ROOT CA2
|
2639 |
===============
|
2640 |
-----BEGIN CERTIFICATE-----
|
2739 |
dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR
|
2740 |
-----END CERTIFICATE-----
|
2741 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2742 |
ISRG Root X1
|
2743 |
============
|
2744 |
-----BEGIN CERTIFICATE-----
|
2930 |
e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j
|
2931 |
q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM=
|
2932 |
-----END CERTIFICATE-----
|
2933 |
+
|
2934 |
+
GDCA TrustAUTH R5 ROOT
|
2935 |
+
======================
|
2936 |
+
-----BEGIN CERTIFICATE-----
|
2937 |
+
MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCQ04xMjAw
|
2938 |
+
BgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8wHQYDVQQD
|
2939 |
+
DBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVow
|
2940 |
+
YjELMAkGA1UEBhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ
|
2941 |
+
IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0B
|
2942 |
+
AQEFAAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJjDp6L3TQs
|
2943 |
+
AlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBjTnnEt1u9ol2x8kECK62p
|
2944 |
+
OqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+uKU49tm7srsHwJ5uu4/Ts765/94Y9cnrr
|
2945 |
+
pftZTqfrlYwiOXnhLQiPzLyRuEH3FMEjqcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ
|
2946 |
+
9Cy5WmYqsBebnh52nUpmMUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQ
|
2947 |
+
xXABZG12ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloPzgsM
|
2948 |
+
R6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3GkL30SgLdTMEZeS1SZ
|
2949 |
+
D2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeCjGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4
|
2950 |
+
oR24qoAATILnsn8JuLwwoC8N9VKejveSswoAHQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx
|
2951 |
+
9hoh49pwBiFYFIeFd3mqgnkCAwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlR
|
2952 |
+
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg
|
2953 |
+
p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZmDRd9FBUb1Ov9
|
2954 |
+
H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5COmSdI31R9KrO9b7eGZONn35
|
2955 |
+
6ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ryL3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd
|
2956 |
+
+PwyvzeG5LuOmCd+uh8W4XAR8gPfJWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQ
|
2957 |
+
HtZa37dG/OaG+svgIHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBD
|
2958 |
+
F8Io2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV09tL7ECQ
|
2959 |
+
8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQXR4EzzffHqhmsYzmIGrv
|
2960 |
+
/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrqT8p+ck0LcIymSLumoRT2+1hEmRSuqguT
|
2961 |
+
aaApJUqlyyvdimYHFngVV3Eb7PVHhPOeMTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g==
|
2962 |
+
-----END CERTIFICATE-----
|
2963 |
+
|
2964 |
+
TrustCor RootCert CA-1
|
2965 |
+
======================
|
2966 |
+
-----BEGIN CERTIFICATE-----
|
2967 |
+
MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYDVQQGEwJQQTEP
|
2968 |
+
MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig
|
2969 |
+
U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp
|
2970 |
+
dHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkx
|
2971 |
+
MjMxMTcyMzE2WjCBpDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFu
|
2972 |
+
YW1hIENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUGA1UECwwe
|
2973 |
+
VHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZUcnVzdENvciBSb290Q2Vy
|
2974 |
+
dCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv463leLCJhJrMxnHQFgKq1mq
|
2975 |
+
jQCj/IDHUHuO1CAmujIS2CNUSSUQIpidRtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4
|
2976 |
+
pQa81QBeCQryJ3pS/C3Vseq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0
|
2977 |
+
JEsq1pme9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CVEY4h
|
2978 |
+
gLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorWhnAbJN7+KIor0Gqw
|
2979 |
+
/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/DeOxCbeKyKsZn3MzUOcwHwYDVR0j
|
2980 |
+
BBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
|
2981 |
+
AYYwDQYJKoZIhvcNAQELBQADggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5
|
2982 |
+
mDo4Nvu7Zp5I/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf
|
2983 |
+
ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZyonnMlo2HD6C
|
2984 |
+
qFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djtsL1Ac59v2Z3kf9YKVmgenFK+P
|
2985 |
+
3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdNzl/HHk484IkzlQsPpTLWPFp5LBk=
|
2986 |
+
-----END CERTIFICATE-----
|
2987 |
+
|
2988 |
+
TrustCor RootCert CA-2
|
2989 |
+
======================
|
2990 |
+
-----BEGIN CERTIFICATE-----
|
2991 |
+
MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNVBAYTAlBBMQ8w
|
2992 |
+
DQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQwIgYDVQQKDBtUcnVzdENvciBT
|
2993 |
+
eXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0
|
2994 |
+
eTEfMB0GA1UEAwwWVHJ1c3RDb3IgUm9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEy
|
2995 |
+
MzExNzI2MzlaMIGkMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5h
|
2996 |
+
bWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U
|
2997 |
+
cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0
|
2998 |
+
IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnIG7CKqJiJJWQdsg4foDSq8Gb
|
2999 |
+
ZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9Nk
|
3000 |
+
RvRUqdw6VC0xK5mC8tkq1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1
|
3001 |
+
oYxOdqHp2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nKDOOb
|
3002 |
+
XUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hapeaz6LMvYHL1cEksr1
|
3003 |
+
/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF3wP+TfSvPd9cW436cOGlfifHhi5q
|
3004 |
+
jxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQP
|
3005 |
+
eSghYA2FFn3XVDjxklb9tTNMg9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+Ctg
|
3006 |
+
rKAmrhQhJ8Z3mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh
|
3007 |
+
8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAdBgNVHQ4EFgQU
|
3008 |
+
2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6UnrybPZx9mCAZ5YwwYrIwDwYD
|
3009 |
+
VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/h
|
3010 |
+
Osh80QA9z+LqBrWyOrsGS2h60COXdKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnp
|
3011 |
+
kpfbsEZC89NiqpX+MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv
|
3012 |
+
2wnL/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RXCI/hOWB3
|
3013 |
+
S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYaZH9bDTMJBzN7Bj8RpFxw
|
3014 |
+
PIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dv
|
3015 |
+
DDqPys/cA8GiCcjl/YBeyGBCARsaU1q7N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYU
|
3016 |
+
RpFHmygk71dSTlxCnKr3Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANE
|
3017 |
+
xdqtvArBAs8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp5KeX
|
3018 |
+
RKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu1uwJ
|
3019 |
+
-----END CERTIFICATE-----
|
3020 |
+
|
3021 |
+
TrustCor ECA-1
|
3022 |
+
==============
|
3023 |
+
-----BEGIN CERTIFICATE-----
|
3024 |
+
MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYDVQQGEwJQQTEP
|
3025 |
+
MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig
|
3026 |
+
U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp
|
3027 |
+
dHkxFzAVBgNVBAMMDlRydXN0Q29yIEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3Mjgw
|
3028 |
+
N1owgZwxCzAJBgNVBAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5
|
3029 |
+
MSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29y
|
3030 |
+
IENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3IgRUNBLTEwggEiMA0GCSqG
|
3031 |
+
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb3w9U73NjKYKtR8aja+3+XzP4Q1HpGjOR
|
3032 |
+
MRegdMTUpwHmspI+ap3tDvl0mEDTPwOABoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23
|
3033 |
+
xFUfJ3zSCNV2HykVh0A53ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmc
|
3034 |
+
p0yJF4OuowReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/wZ0+
|
3035 |
+
fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZFZtS6mFjBAgMBAAGj
|
3036 |
+
YzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAfBgNVHSMEGDAWgBREnkj1zG1I1KBL
|
3037 |
+
f/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
|
3038 |
+
AAOCAQEABT41XBVwm8nHc2FvcivUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u
|
3039 |
+
/ukZMjgDfxT2AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F
|
3040 |
+
hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50soIipX1TH0Xs
|
3041 |
+
J5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BIWJZpTdwHjFGTot+fDz2LYLSC
|
3042 |
+
jaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1WitJ/X5g==
|
3043 |
+
-----END CERTIFICATE-----
|
3044 |
+
|
3045 |
+
SSL.com Root Certification Authority RSA
|
3046 |
+
========================================
|
3047 |
+
-----BEGIN CERTIFICATE-----
|
3048 |
+
MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxDjAM
|
3049 |
+
BgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24x
|
3050 |
+
MTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYw
|
3051 |
+
MjEyMTczOTM5WhcNNDEwMjEyMTczOTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx
|
3052 |
+
EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NM
|
3053 |
+
LmNvbSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcNAQEBBQAD
|
3054 |
+
ggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2RxFdHaxh3a3by/ZPkPQ/C
|
3055 |
+
Fp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aXqhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8
|
3056 |
+
P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcCC52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/ge
|
3057 |
+
oeOy3ZExqysdBP+lSgQ36YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkp
|
3058 |
+
k8zruFvh/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrFYD3Z
|
3059 |
+
fBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93EJNyAKoFBbZQ+yODJ
|
3060 |
+
gUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVcUS4cK38acijnALXRdMbX5J+tB5O2
|
3061 |
+
UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi8
|
3062 |
+
1xtZPCvM8hnIk2snYxnP/Okm+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4s
|
3063 |
+
bE6x/c+cCbqiM+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV
|
3064 |
+
HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4GA1UdDwEB/wQE
|
3065 |
+
AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGVcpNxJK1ok1iOMq8bs3AD/CUr
|
3066 |
+
dIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBcHadm47GUBwwyOabqG7B52B2ccETjit3E+ZUf
|
3067 |
+
ijhDPwGFpUenPUayvOUiaPd7nNgsPgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAsl
|
3068 |
+
u1OJD7OAUN5F7kR/q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjq
|
3069 |
+
erQ0cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jra6x+3uxj
|
3070 |
+
MxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90IH37hVZkLId6Tngr75qNJ
|
3071 |
+
vTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/YK9f1JmzJBjSWFupwWRoyeXkLtoh/D1JI
|
3072 |
+
Pb9s2KJELtFOt3JY04kTlf5Eq/jXixtunLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406y
|
3073 |
+
wKBjYZC6VWg3dGq2ktufoYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NI
|
3074 |
+
WuuA8ShYIc2wBlX7Jz9TkHCpBB5XJ7k=
|
3075 |
+
-----END CERTIFICATE-----
|
3076 |
+
|
3077 |
+
SSL.com Root Certification Authority ECC
|
3078 |
+
========================================
|
3079 |
+
-----BEGIN CERTIFICATE-----
|
3080 |
+
MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMCVVMxDjAMBgNV
|
3081 |
+
BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xMTAv
|
3082 |
+
BgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEy
|
3083 |
+
MTgxNDAzWhcNNDEwMjEyMTgxNDAzWjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO
|
3084 |
+
BgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv
|
3085 |
+
bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuBBAAiA2IA
|
3086 |
+
BEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI7Z4INcgn64mMU1jrYor+
|
3087 |
+
8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPgCemB+vNH06NjMGEwHQYDVR0OBBYEFILR
|
3088 |
+
hXMw5zUE044CkvvlpNHEIejNMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTT
|
3089 |
+
jgKS++Wk0cQh6M0wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCW
|
3090 |
+
e+0F+S8Tkdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+gA0z
|
3091 |
+
5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl
|
3092 |
+
-----END CERTIFICATE-----
|
3093 |
+
|
3094 |
+
SSL.com EV Root Certification Authority RSA R2
|
3095 |
+
==============================================
|
3096 |
+
-----BEGIN CERTIFICATE-----
|
3097 |
+
MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAlVTMQ4w
|
3098 |
+
DAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9u
|
3099 |
+
MTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy
|
3100 |
+
MB4XDTE3MDUzMTE4MTQzN1oXDTQyMDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQI
|
3101 |
+
DAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYD
|
3102 |
+
VQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMIICIjAN
|
3103 |
+
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvqM0fNTPl9fb69LT3w23jh
|
3104 |
+
hqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssufOePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7w
|
3105 |
+
cXHswxzpY6IXFJ3vG2fThVUCAtZJycxa4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTO
|
3106 |
+
Zw+oz12WGQvE43LrrdF9HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+
|
3107 |
+
B6KjBSYRaZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcAb9Zh
|
3108 |
+
CBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQGp8hLH94t2S42Oim
|
3109 |
+
9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQVPWKchjgGAGYS5Fl2WlPAApiiECto
|
3110 |
+
RHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMOpgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+Slm
|
3111 |
+
JuwgUHfbSguPvuUCYHBBXtSuUDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48
|
3112 |
+
+qvWBkofZ6aYMBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV
|
3113 |
+
HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa49QaAJadz20Zp
|
3114 |
+
qJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBWs47LCp1Jjr+kxJG7ZhcFUZh1
|
3115 |
+
++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nx
|
3116 |
+
Y/hoLVUE0fKNsKTPvDxeH3jnpaAgcLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2G
|
3117 |
+
guDKBAdRUNf/ktUM79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDz
|
3118 |
+
OFSz/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXtll9ldDz7
|
3119 |
+
CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEmKf7GUmG6sXP/wwyc5Wxq
|
3120 |
+
lD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKKQbNmC1r7fSOl8hqw/96bg5Qu0T/fkreR
|
3121 |
+
rwU7ZcegbLHNYhLDkBvjJc40vG93drEQw/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1
|
3122 |
+
hlMYegouCRw2n5H9gooiS9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX
|
3123 |
+
9hwJ1C07mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w==
|
3124 |
+
-----END CERTIFICATE-----
|
3125 |
+
|
3126 |
+
SSL.com EV Root Certification Authority ECC
|
3127 |
+
===========================================
|
3128 |
+
-----BEGIN CERTIFICATE-----
|
3129 |
+
MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMCVVMxDjAMBgNV
|
3130 |
+
BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNDAy
|
3131 |
+
BgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYw
|
3132 |
+
MjEyMTgxNTIzWhcNNDEwMjEyMTgxNTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx
|
3133 |
+
EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NM
|
3134 |
+
LmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB
|
3135 |
+
BAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMAVIbc/R/fALhBYlzccBYy
|
3136 |
+
3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1KthkuWnBaBu2+8KGwytAJKaNjMGEwHQYDVR0O
|
3137 |
+
BBYEFFvKXuXe0oGqzagtZFG22XKbl+ZPMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe
|
3138 |
+
5d7SgarNqC1kUbbZcpuX5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJ
|
3139 |
+
N+vp1RPZytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZgh5Mm
|
3140 |
+
m7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg==
|
3141 |
+
-----END CERTIFICATE-----
|
3142 |
+
|
3143 |
+
GlobalSign Root CA - R6
|
3144 |
+
=======================
|
3145 |
+
-----BEGIN CERTIFICATE-----
|
3146 |
+
MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEgMB4GA1UECxMX
|
3147 |
+
R2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds
|
3148 |
+
b2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQxMjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9i
|
3149 |
+
YWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFs
|
3150 |
+
U2lnbjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQss
|
3151 |
+
grRIxutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1kZguSgMpE
|
3152 |
+
3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxDaNc9PIrFsmbVkJq3MQbF
|
3153 |
+
vuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJwLnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqM
|
3154 |
+
PKq0pPbzlUoSB239jLKJz9CgYXfIWHSw1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+
|
3155 |
+
azayOeSsJDa38O+2HBNXk7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05O
|
3156 |
+
WgtH8wY2SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/hbguy
|
3157 |
+
CLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4nWUx2OVvq+aWh2IMP
|
3158 |
+
0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpYrZxCRXluDocZXFSxZba/jJvcE+kN
|
3159 |
+
b7gu3GduyYsRtYQUigAZcIN5kZeR1BonvzceMgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQE
|
3160 |
+
AwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNV
|
3161 |
+
HSMEGDAWgBSubAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN
|
3162 |
+
nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGtIxg93eFyRJa0
|
3163 |
+
lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr6155wsTLxDKZmOMNOsIeDjHfrY
|
3164 |
+
BzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLjvUYAGm0CuiVdjaExUd1URhxN25mW7xocBFym
|
3165 |
+
Fe944Hn+Xds+qkxV/ZoVqW/hpvvfcDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr
|
3166 |
+
3TsTjxKM4kEaSHpzoHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB1
|
3167 |
+
0jZpnOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfspA9MRf/T
|
3168 |
+
uTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+vJJUEeKgDu+6B5dpffItK
|
3169 |
+
oZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+t
|
3170 |
+
JDfLRVpOoERIyNiwmcUVhAn21klJwGW45hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA=
|
3171 |
+
-----END CERTIFICATE-----
|
3172 |
+
|
3173 |
+
OISTE WISeKey Global Root GC CA
|
3174 |
+
===============================
|
3175 |
+
-----BEGIN CERTIFICATE-----
|
3176 |
+
MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQswCQYDVQQGEwJD
|
3177 |
+
SDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEo
|
3178 |
+
MCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRa
|
3179 |
+
Fw00MjA1MDkwOTU4MzNaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQL
|
3180 |
+
ExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh
|
3181 |
+
bCBSb290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4nieUqjFqdr
|
3182 |
+
VCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4Wp2OQ0jnUsYd4XxiWD1Ab
|
3183 |
+
NTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd
|
3184 |
+
BgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7TrYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0E
|
3185 |
+
AwMDaAAwZQIwJsdpW9zV57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtk
|
3186 |
+
AjEA2zQgMgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9
|
3187 |
+
-----END CERTIFICATE-----
|
3188 |
+
|
3189 |
+
GTS Root R1
|
3190 |
+
===========
|
3191 |
+
-----BEGIN CERTIFICATE-----
|
3192 |
+
MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQG
|
3193 |
+
EwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJv
|
3194 |
+
b3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAG
|
3195 |
+
A1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIi
|
3196 |
+
MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx
|
3197 |
+
9vaMf/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7wCl7r
|
3198 |
+
aKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjwTcLCeoiKu7rPWRnW
|
3199 |
+
r4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0PfyblqAj+lug8aJRT7oM6iCsVlgmy4HqM
|
3200 |
+
LnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly
|
3201 |
+
4cpk9+aCEI3oncKKiPo4Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr
|
3202 |
+
06zqkUspzBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92
|
3203 |
+
wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70paDPvOmbsB4om
|
3204 |
+
3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrNVjzRlwW5y0vtOUucxD/SVRNu
|
3205 |
+
JLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD
|
3206 |
+
VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEM
|
3207 |
+
BQADggIBADiWCu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1
|
3208 |
+
d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6ZXPYfcX3v73sv
|
3209 |
+
fuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZRgyFmxhE+885H7pwoHyXa/6xm
|
3210 |
+
ld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9b
|
3211 |
+
gsiG1eGZbYwE8na6SfZu6W0eX6DvJ4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq
|
3212 |
+
4BjFbkerQUIpm/ZgDdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWEr
|
3213 |
+
tXvM+SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyyF62ARPBo
|
3214 |
+
pY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9SQ98POyDGCBDTtWTurQ0
|
3215 |
+
sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdwsE3PYJ/HQcu51OyLemGhmW/HGY0dVHLql
|
3216 |
+
CFF1pkgl
|
3217 |
+
-----END CERTIFICATE-----
|
3218 |
+
|
3219 |
+
GTS Root R2
|
3220 |
+
===========
|
3221 |
+
-----BEGIN CERTIFICATE-----
|
3222 |
+
MIIFWjCCA0KgAwIBAgIQbkepxlqz5yDFMJo/aFLybzANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQG
|
3223 |
+
EwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJv
|
3224 |
+
b3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAG
|
3225 |
+
A1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIi
|
3226 |
+
MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTuk
|
3227 |
+
k3LvCvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY6Dlo
|
3228 |
+
7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAuMC6C/Pq8tBcKSOWI
|
3229 |
+
m8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7kRXuJVfeKH2JShBKzwkCX44ofR5Gm
|
3230 |
+
dFrS+LFjKBC4swm4VndAoiaYecb+3yXuPuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbu
|
3231 |
+
ak7MkogwTZq9TwtImoS1mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscsz
|
3232 |
+
cTJGr61K8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RW
|
3233 |
+
Ir9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKaG73Vululycsl
|
3234 |
+
aVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCqgc7dGtxRcw1PcOnlthYhGXmy
|
3235 |
+
5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD
|
3236 |
+
VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEM
|
3237 |
+
BQADggIBALZp8KZ3/p7uC4Gt4cCpx/k1HUCCq+YEtN/L9x0Pg/B+E02NjO7jMyLDOfxA325BS0JT
|
3238 |
+
vhaI8dI4XsRomRyYUpOM52jtG2pzegVATX9lO9ZY8c6DR2Dj/5epnGB3GFW1fgiTz9D2PGcDFWEJ
|
3239 |
+
+YF59exTpJ/JjwGLc8R3dtyDovUMSRqodt6Sm2T4syzFJ9MHwAiApJiS4wGWAqoC7o87xdFtCjMw
|
3240 |
+
c3i5T1QWvwsHoaRc5svJXISPD+AVdyx+Jn7axEvbpxZ3B7DNdehyQtaVhJ2Gg/LkkM0JR9SLA3Da
|
3241 |
+
WsYDQvTtN6LwG1BUSw7YhN4ZKJmBR64JGz9I0cNv4rBgF/XuIwKl2gBbbZCr7qLpGzvpx0QnRY5r
|
3242 |
+
n/WkhLx3+WuXrD5RRaIRpsyF7gpo8j5QOHokYh4XIDdtak23CZvJ/KRY9bb7nE4Yu5UC56Gtmwfu
|
3243 |
+
Nmsk0jmGwZODUNKBRqhfYlcsu2xkiAhu7xNUX90txGdj08+JN7+dIPT7eoOboB6BAFDC5AwiWVIQ
|
3244 |
+
7UNWhwD4FFKnHYuTjKJNRn8nxnGbJN7k2oaLDX5rIMHAnuFl2GqjpuiFizoHCBy69Y9Vmhh1fuXs
|
3245 |
+
gWbRIXOhNUQLgD1bnF5vKheW0YMjiGZt5obicDIvUiLnyOd/xCxgXS/Dr55FBcOEArf9LAhST4Ld
|
3246 |
+
o/DUhgkC
|
3247 |
+
-----END CERTIFICATE-----
|
3248 |
+
|
3249 |
+
GTS Root R3
|
3250 |
+
===========
|
3251 |
+
-----BEGIN CERTIFICATE-----
|
3252 |
+
MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJV
|
3253 |
+
UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg
|
3254 |
+
UjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE
|
3255 |
+
ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcq
|
3256 |
+
hkjOPQIBBgUrgQQAIgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUU
|
3257 |
+
Rout736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL24Cej
|
3258 |
+
QjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTB8Sa6oC2uhYHP
|
3259 |
+
0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFukfCPAlaUs3L6JbyO5o91lAFJekazInXJ0
|
3260 |
+
glMLfalAvWhgxeG4VDvBNhcl2MG9AjEAnjWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOa
|
3261 |
+
KaqW04MjyaR7YbPMAuhd
|
3262 |
+
-----END CERTIFICATE-----
|
3263 |
+
|
3264 |
+
GTS Root R4
|
3265 |
+
===========
|
3266 |
+
-----BEGIN CERTIFICATE-----
|
3267 |
+
MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJV
|
3268 |
+
UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg
|
3269 |
+
UjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE
|
3270 |
+
ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcq
|
3271 |
+
hkjOPQIBBgUrgQQAIgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa
|
3272 |
+
6zzuhXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvRHYqj
|
3273 |
+
QjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSATNbrdP9JNqPV
|
3274 |
+
2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0CMRw3J5QdCHojXohw0+WbhXRIjVhLfoI
|
3275 |
+
N+4Zba3bssx9BzT1YBkstTTZbyACMANxsbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11x
|
3276 |
+
zPKwTdb+mciUqXWi4w==
|
3277 |
+
-----END CERTIFICATE-----
|
3278 |
+
|
3279 |
+
UCA Global G2 Root
|
3280 |
+
==================
|
3281 |
+
-----BEGIN CERTIFICATE-----
|
3282 |
+
MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQG
|
3283 |
+
EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBHbG9iYWwgRzIgUm9vdDAeFw0x
|
3284 |
+
NjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0xCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlU
|
3285 |
+
cnVzdDEbMBkGA1UEAwwSVUNBIEdsb2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
|
3286 |
+
MIICCgKCAgEAxeYrb3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmT
|
3287 |
+
oni9kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzmVHqUwCoV
|
3288 |
+
8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/RVogvGjqNO7uCEeBHANBS
|
3289 |
+
h6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDcC/Vkw85DvG1xudLeJ1uK6NjGruFZfc8o
|
3290 |
+
LTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIjtm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/
|
3291 |
+
R+zvWr9LesGtOxdQXGLYD0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBe
|
3292 |
+
KW4bHAyvj5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6DlNaBa
|
3293 |
+
4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6iIis7nCs+dwp4wwc
|
3294 |
+
OxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznPO6Q0ibd5Ei9Hxeepl2n8pndntd97
|
3295 |
+
8XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
|
3296 |
+
BBYEFIHEjMz15DD/pQwIX4wVZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo
|
3297 |
+
5sOASD0Ee/ojL3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5
|
3298 |
+
1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl1qnN3e92mI0A
|
3299 |
+
Ds0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oUb3n09tDh05S60FdRvScFDcH9
|
3300 |
+
yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LVPtateJLbXDzz2K36uGt/xDYotgIVilQsnLAX
|
3301 |
+
c47QN6MUPJiVAAwpBVueSUmxX8fjy88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHo
|
3302 |
+
jhJi6IjMtX9Gl8CbEGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZk
|
3303 |
+
bxqgDMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI+Vg7RE+x
|
3304 |
+
ygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGyYiGqhkCyLmTTX8jjfhFn
|
3305 |
+
RR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bXUB+K+wb1whnw0A==
|
3306 |
+
-----END CERTIFICATE-----
|
3307 |
+
|
3308 |
+
UCA Extended Validation Root
|
3309 |
+
============================
|
3310 |
+
-----BEGIN CERTIFICATE-----
|
3311 |
+
MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQG
|
3312 |
+
EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9u
|
3313 |
+
IFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMxMDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8G
|
3314 |
+
A1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIi
|
3315 |
+
MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrs
|
3316 |
+
iWogD4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvSsPGP2KxF
|
3317 |
+
Rv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aopO2z6+I9tTcg1367r3CTu
|
3318 |
+
eUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dksHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR
|
3319 |
+
59mzLC52LqGj3n5qiAno8geK+LLNEOfic0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH
|
3320 |
+
0mK1lTnj8/FtDw5lhIpjVMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KR
|
3321 |
+
el7sFsLzKuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/TuDv
|
3322 |
+
B0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41Gsx2VYVdWf6/wFlth
|
3323 |
+
WG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs1+lvK9JKBZP8nm9rZ/+I8U6laUpS
|
3324 |
+
NwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQDfwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS
|
3325 |
+
3H5aBZ8eNJr34RQwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEL
|
3326 |
+
BQADggIBADaNl8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR
|
3327 |
+
ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQVBcZEhrxH9cM
|
3328 |
+
aVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5c6sq1WnIeJEmMX3ixzDx/BR4
|
3329 |
+
dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb
|
3330 |
+
+7lsq+KePRXBOy5nAliRn+/4Qh8st2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOW
|
3331 |
+
F3sGPjLtx7dCvHaj2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwi
|
3332 |
+
GpWOvpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2CxR9GUeOc
|
3333 |
+
GMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmxcmtpzyKEC2IPrNkZAJSi
|
3334 |
+
djzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbMfjKaiJUINlK73nZfdklJrX+9ZSCyycEr
|
3335 |
+
dhh2n1ax
|
3336 |
+
-----END CERTIFICATE-----
|
3337 |
+
|
3338 |
+
Certigna Root CA
|
3339 |
+
================
|
3340 |
+
-----BEGIN CERTIFICATE-----
|
3341 |
+
MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UE
|
3342 |
+
BhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAwMiA0ODE0NjMwODEwMDAzNjEZ
|
3343 |
+
MBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0xMzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjda
|
3344 |
+
MFoxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYz
|
3345 |
+
MDgxMDAwMzYxGTAXBgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4IC
|
3346 |
+
DwAwggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sOty3tRQgX
|
3347 |
+
stmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9MCiBtnyN6tMbaLOQdLNyz
|
3348 |
+
KNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPuI9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8
|
3349 |
+
JXrJhFwLrN1CTivngqIkicuQstDuI7pmTLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16
|
3350 |
+
XdG+RCYyKfHx9WzMfgIhC59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq
|
3351 |
+
4NYKpkDfePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3YzIoej
|
3352 |
+
wpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWTCo/1VTp2lc5ZmIoJ
|
3353 |
+
lXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1kJWumIWmbat10TWuXekG9qxf5kBdI
|
3354 |
+
jzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp/
|
3355 |
+
/TBt2dzhauH8XwIDAQABo4IBGjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw
|
3356 |
+
HQYDVR0OBBYEFBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of
|
3357 |
+
1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczovL3d3d3cuY2Vy
|
3358 |
+
dGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilodHRwOi8vY3JsLmNlcnRpZ25h
|
3359 |
+
LmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYraHR0cDovL2NybC5kaGlteW90aXMuY29tL2Nl
|
3360 |
+
cnRpZ25hcm9vdGNhLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOIt
|
3361 |
+
OoldaDgvUSILSo3L6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxP
|
3362 |
+
TGRGHVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH60BGM+RFq
|
3363 |
+
7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncBlA2c5uk5jR+mUYyZDDl3
|
3364 |
+
4bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdio2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd
|
3365 |
+
8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS
|
3366 |
+
6Cvu5zHbugRqh5jnxV/vfaci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaY
|
3367 |
+
tlu3zM63Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayhjWZS
|
3368 |
+
aX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw3kAP+HwV96LOPNde
|
3369 |
+
E4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0=
|
3370 |
+
-----END CERTIFICATE-----
|
3371 |
+
|
3372 |
+
emSign Root CA - G1
|
3373 |
+
===================
|
3374 |
+
-----BEGIN CERTIFICATE-----
|
3375 |
+
MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYDVQQGEwJJTjET
|
3376 |
+
MBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRl
|
3377 |
+
ZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBHMTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgx
|
3378 |
+
ODMwMDBaMGcxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVk
|
3379 |
+
aHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIB
|
3380 |
+
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQzf2N4aLTN
|
3381 |
+
LnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO8oG0x5ZOrRkVUkr+PHB1
|
3382 |
+
cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aqd7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHW
|
3383 |
+
DV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhMtTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ
|
3384 |
+
6DqS0hdW5TUaQBw+jSztOd9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrH
|
3385 |
+
hQIDAQABo0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQDAgEG
|
3386 |
+
MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31xPaOfG1vR2vjTnGs2
|
3387 |
+
vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjMwiI/aTvFthUvozXGaCocV685743Q
|
3388 |
+
NcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6dGNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q
|
3389 |
+
+Mri/Tm3R7nrft8EI6/6nAYH6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeih
|
3390 |
+
U80Bv2noWgbyRQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx
|
3391 |
+
iN66zB+Afko=
|
3392 |
+
-----END CERTIFICATE-----
|
3393 |
+
|
3394 |
+
emSign ECC Root CA - G3
|
3395 |
+
=======================
|
3396 |
+
-----BEGIN CERTIFICATE-----
|
3397 |
+
MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQGEwJJTjETMBEG
|
3398 |
+
A1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEg
|
3399 |
+
MB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4
|
3400 |
+
MTgzMDAwWjBrMQswCQYDVQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11
|
3401 |
+
ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g
|
3402 |
+
RzMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0WXTsuwYc
|
3403 |
+
58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xySfvalY8L1X44uT6EYGQIr
|
3404 |
+
MgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuBzhccLikenEhjQjAOBgNVHQ8BAf8EBAMC
|
3405 |
+
AQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+D
|
3406 |
+
CBeQyh+KTOgNG3qxrdWBCUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7
|
3407 |
+
jHvrZQnD+JbNR6iC8hZVdyR+EhCVBCyj
|
3408 |
+
-----END CERTIFICATE-----
|
3409 |
+
|
3410 |
+
emSign Root CA - C1
|
3411 |
+
===================
|
3412 |
+
-----BEGIN CERTIFICATE-----
|
3413 |
+
MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkGA1UEBhMCVVMx
|
3414 |
+
EzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNp
|
3415 |
+
Z24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UE
|
3416 |
+
BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQD
|
3417 |
+
ExNlbVNpZ24gUm9vdCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+up
|
3418 |
+
ufGZBczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZHdPIWoU/
|
3419 |
+
Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH3DspVpNqs8FqOp099cGX
|
3420 |
+
OFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvHGPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4V
|
3421 |
+
I5b2P/AgNBbeCsbEBEV5f6f9vtKppa+cxSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleooms
|
3422 |
+
lMuoaJuvimUnzYnu3Yy1aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+
|
3423 |
+
XJGFehiqTbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQAD
|
3424 |
+
ggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87/kOXSTKZEhVb3xEp
|
3425 |
+
/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4kqNPEjE2NuLe/gDEo2APJ62gsIq1
|
3426 |
+
NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrGYQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9
|
3427 |
+
wC68AivTxEDkigcxHpvOJpkT+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQ
|
3428 |
+
BmIMMMAVSKeoWXzhriKi4gp6D/piq1JM4fHfyr6DDUI=
|
3429 |
+
-----END CERTIFICATE-----
|
3430 |
+
|
3431 |
+
emSign ECC Root CA - C3
|
3432 |
+
=======================
|
3433 |
+
-----BEGIN CERTIFICATE-----
|
3434 |
+
MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQGEwJVUzETMBEG
|
3435 |
+
A1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMxIDAeBgNVBAMTF2VtU2lnbiBF
|
3436 |
+
Q0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UE
|
3437 |
+
BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQD
|
3438 |
+
ExdlbVNpZ24gRUNDIFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd
|
3439 |
+
6bciMK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4OjavtisIGJAnB9
|
3440 |
+
SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0OBBYEFPtaSNCAIEDyqOkA
|
3441 |
+
B2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gA
|
3442 |
+
MGUCMQC02C8Cif22TGK6Q04ThHK1rt0c3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwU
|
3443 |
+
ZOR8loMRnLDRWmFLpg9J0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ==
|
3444 |
+
-----END CERTIFICATE-----
|
3445 |
+
|
3446 |
+
Hongkong Post Root CA 3
|
3447 |
+
=======================
|
3448 |
+
-----BEGIN CERTIFICATE-----
|
3449 |
+
MIIFzzCCA7egAwIBAgIUCBZfikyl7ADJk0DfxMauI7gcWqQwDQYJKoZIhvcNAQELBQAwbzELMAkG
|
3450 |
+
A1UEBhMCSEsxEjAQBgNVBAgTCUhvbmcgS29uZzESMBAGA1UEBxMJSG9uZyBLb25nMRYwFAYDVQQK
|
3451 |
+
Ew1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25na29uZyBQb3N0IFJvb3QgQ0EgMzAeFw0xNzA2
|
3452 |
+
MDMwMjI5NDZaFw00MjA2MDMwMjI5NDZaMG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtv
|
3453 |
+
bmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMX
|
3454 |
+
SG9uZ2tvbmcgUG9zdCBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz
|
3455 |
+
iNfqzg8gTr7m1gNt7ln8wlffKWihgw4+aMdoWJwcYEuJQwy51BWy7sFOdem1p+/l6TWZ5Mwc50tf
|
3456 |
+
jTMwIDNT2aa71T4Tjukfh0mtUC1Qyhi+AViiE3CWu4mIVoBc+L0sPOFMV4i707mV78vH9toxdCim
|
3457 |
+
5lSJ9UExyuUmGs2C4HDaOym71QP1mbpV9WTRYA6ziUm4ii8F0oRFKHyPaFASePwLtVPLwpgchKOe
|
3458 |
+
sL4jpNrcyCse2m5FHomY2vkALgbpDDtw1VAliJnLzXNg99X/NWfFobxeq81KuEXryGgeDQ0URhLj
|
3459 |
+
0mRiikKYvLTGCAj4/ahMZJx2Ab0vqWwzD9g/KLg8aQFChn5pwckGyuV6RmXpwtZQQS4/t+TtbNe/
|
3460 |
+
JgERohYpSms0BpDsE9K2+2p20jzt8NYt3eEV7KObLyzJPivkaTv/ciWxNoZbx39ri1UbSsUgYT2u
|
3461 |
+
y1DhCDq+sI9jQVMwCFk8mB13umOResoQUGC/8Ne8lYePl8X+l2oBlKN8W4UdKjk60FSh0Tlxnf0h
|
3462 |
+
+bV78OLgAo9uliQlLKAeLKjEiafv7ZkGL7YKTE/bosw3Gq9HhS2KX8Q0NEwA/RiTZxPRN+ZItIsG
|
3463 |
+
xVd7GYYKecsAyVKvQv83j+GjHno9UKtjBucVtT+2RTeUN7F+8kjDf8V1/peNRY8apxpyKBpADwID
|
3464 |
+
AQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQXnc0e
|
3465 |
+
i9Y5K3DTXNSguB+wAPzFYTAdBgNVHQ4EFgQUF53NHovWOStw01zUoLgfsAD8xWEwDQYJKoZIhvcN
|
3466 |
+
AQELBQADggIBAFbVe27mIgHSQpsY1Q7XZiNc4/6gx5LS6ZStS6LG7BJ8dNVI0lkUmcDrudHr9Egw
|
3467 |
+
W62nV3OZqdPlt9EuWSRY3GguLmLYauRwCy0gUCCkMpXRAJi70/33MvJJrsZ64Ee+bs7Lo3I6LWld
|
3468 |
+
y8joRTnU+kLBEUx3XZL7av9YROXrgZ6voJmtvqkBZss4HTzfQx/0TW60uhdG/H39h4F5ag0zD/ov
|
3469 |
+
+BS5gLNdTaqX4fnkGMX41TiMJjz98iji7lpJiCzfeT2OnpA8vUFKOt1b9pq0zj8lMH8yfaIDlNDc
|
3470 |
+
eqFS3m6TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYTUc79NoXQbTiNg8swOqn+knEwlqLJmOzj/2ZQw
|
3471 |
+
9nKEvmhVEA/GcywWaZMH/rFF7buiVWqw2rVKAiUnhde3t4ZEFolsgCs+l6mc1X5VTMbeRRAc6uk7
|
3472 |
+
nwNT7u56AQIWeNTowr5GdogTPyK7SBIdUgC0An4hGh6cJfTzPV4e0hz5sy229zdcxsshTrD3mUcY
|
3473 |
+
hcErulWuBurQB7Lcq9CClnXO0lD+mefPL5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB
|
3474 |
+
60PZ2Pierc+xYw5F9KBaLJstxabArahH9CdMOA0uG0k7UvToiIMrVCjU8jVStDKDYmlkDJGcn5fq
|
3475 |
+
dBb9HxEGmpv0
|
3476 |
+
-----END CERTIFICATE-----
|
lib/stripe-gateway/init.php
CHANGED
@@ -1,144 +1,151 @@
|
|
1 |
<?php
|
2 |
|
3 |
// Stripe singleton
|
4 |
-
require
|
5 |
|
6 |
// Utilities
|
7 |
-
require
|
8 |
-
require
|
9 |
-
require
|
10 |
-
require
|
11 |
-
require
|
12 |
-
require
|
13 |
-
require
|
14 |
-
require(dirname(__FILE__) . '/lib/Util/Util.php');
|
15 |
|
16 |
// HttpClient
|
17 |
-
require
|
18 |
-
require
|
19 |
|
20 |
-
//
|
21 |
-
require
|
22 |
-
require
|
23 |
-
require
|
24 |
-
require
|
25 |
-
require
|
26 |
-
require
|
27 |
-
require
|
28 |
-
require
|
29 |
-
require
|
30 |
-
require
|
|
|
|
|
|
|
|
|
31 |
|
32 |
-
// OAuth
|
33 |
-
require
|
34 |
-
require
|
35 |
-
require
|
36 |
-
require
|
37 |
-
require
|
38 |
-
require
|
39 |
-
require
|
|
|
|
|
40 |
|
41 |
// API operations
|
42 |
-
require
|
43 |
-
require
|
44 |
-
require
|
45 |
-
require
|
46 |
-
require
|
47 |
-
require
|
48 |
-
require
|
49 |
|
50 |
// Plumbing
|
51 |
-
require
|
52 |
-
require
|
53 |
-
require
|
54 |
-
require
|
55 |
-
require
|
56 |
-
require
|
57 |
|
58 |
// Stripe API Resources
|
59 |
-
require
|
60 |
-
require
|
61 |
-
require
|
62 |
-
require
|
63 |
-
require
|
64 |
-
require
|
65 |
-
require
|
66 |
-
require
|
67 |
-
require
|
68 |
-
require
|
69 |
-
require
|
70 |
-
require
|
71 |
-
require
|
72 |
-
require
|
73 |
-
require
|
74 |
-
require
|
75 |
-
require
|
76 |
-
require
|
77 |
-
require
|
78 |
-
require
|
79 |
-
require
|
80 |
-
require
|
81 |
-
require
|
82 |
-
require
|
83 |
-
require
|
84 |
-
require
|
85 |
-
require
|
86 |
-
require
|
87 |
-
require
|
88 |
-
require
|
89 |
-
require
|
90 |
-
require
|
91 |
-
require
|
92 |
-
require
|
93 |
-
require
|
94 |
-
require
|
95 |
-
require
|
96 |
-
require
|
97 |
-
require
|
98 |
-
require
|
99 |
-
require
|
100 |
-
require
|
101 |
-
require
|
102 |
-
require
|
103 |
-
require
|
104 |
-
require
|
105 |
-
require
|
106 |
-
require
|
107 |
-
require
|
108 |
-
require
|
109 |
-
require
|
110 |
-
require
|
111 |
-
require
|
112 |
-
require
|
113 |
-
require
|
114 |
-
require
|
115 |
-
require
|
116 |
-
require
|
117 |
-
require
|
118 |
-
require
|
119 |
-
require
|
120 |
-
require
|
121 |
-
require
|
122 |
-
require
|
123 |
-
require
|
124 |
-
require
|
125 |
-
require
|
126 |
-
require
|
127 |
-
require
|
128 |
-
require
|
129 |
-
require
|
130 |
-
require
|
131 |
-
require
|
132 |
-
require
|
133 |
-
require
|
134 |
-
require
|
135 |
-
require
|
136 |
-
require
|
|
|
|
|
137 |
|
138 |
// OAuth
|
139 |
-
require
|
|
|
140 |
|
141 |
// Webhooks
|
142 |
-
require
|
143 |
-
require
|
144 |
-
require(dirname(__FILE__) . '/lib/WebhookSignature.php');
|
1 |
<?php
|
2 |
|
3 |
// Stripe singleton
|
4 |
+
require __DIR__ . '/lib/Stripe.php';
|
5 |
|
6 |
// Utilities
|
7 |
+
require __DIR__ . '/lib/Util/CaseInsensitiveArray.php';
|
8 |
+
require __DIR__ . '/lib/Util/LoggerInterface.php';
|
9 |
+
require __DIR__ . '/lib/Util/DefaultLogger.php';
|
10 |
+
require __DIR__ . '/lib/Util/RandomGenerator.php';
|
11 |
+
require __DIR__ . '/lib/Util/RequestOptions.php';
|
12 |
+
require __DIR__ . '/lib/Util/Set.php';
|
13 |
+
require __DIR__ . '/lib/Util/Util.php';
|
|
|
14 |
|
15 |
// HttpClient
|
16 |
+
require __DIR__ . '/lib/HttpClient/ClientInterface.php';
|
17 |
+
require __DIR__ . '/lib/HttpClient/CurlClient.php';
|
18 |
|
19 |
+
// Exceptions
|
20 |
+
require __DIR__ . '/lib/Exception/ExceptionInterface.php';
|
21 |
+
require __DIR__ . '/lib/Exception/ApiErrorException.php';
|
22 |
+
require __DIR__ . '/lib/Exception/ApiConnectionException.php';
|
23 |
+
require __DIR__ . '/lib/Exception/AuthenticationException.php';
|
24 |
+
require __DIR__ . '/lib/Exception/BadMethodCallException.php';
|
25 |
+
require __DIR__ . '/lib/Exception/CardException.php';
|
26 |
+
require __DIR__ . '/lib/Exception/IdempotencyException.php';
|
27 |
+
require __DIR__ . '/lib/Exception/InvalidArgumentException.php';
|
28 |
+
require __DIR__ . '/lib/Exception/InvalidRequestException.php';
|
29 |
+
require __DIR__ . '/lib/Exception/PermissionException.php';
|
30 |
+
require __DIR__ . '/lib/Exception/RateLimitException.php';
|
31 |
+
require __DIR__ . '/lib/Exception/SignatureVerificationException.php';
|
32 |
+
require __DIR__ . '/lib/Exception/UnexpectedValueException.php';
|
33 |
+
require __DIR__ . '/lib/Exception/UnknownApiErrorException.php';
|
34 |
|
35 |
+
// OAuth exceptions
|
36 |
+
require __DIR__ . '/lib/Exception/OAuth/ExceptionInterface.php';
|
37 |
+
require __DIR__ . '/lib/Exception/OAuth/OAuthErrorException.php';
|
38 |
+
require __DIR__ . '/lib/Exception/OAuth/InvalidClientException.php';
|
39 |
+
require __DIR__ . '/lib/Exception/OAuth/InvalidGrantException.php';
|
40 |
+
require __DIR__ . '/lib/Exception/OAuth/InvalidRequestException.php';
|
41 |
+
require __DIR__ . '/lib/Exception/OAuth/InvalidScopeException.php';
|
42 |
+
require __DIR__ . '/lib/Exception/OAuth/UnknownOAuthErrorException.php';
|
43 |
+
require __DIR__ . '/lib/Exception/OAuth/UnsupportedGrantTypeException.php';
|
44 |
+
require __DIR__ . '/lib/Exception/OAuth/UnsupportedResponseTypeException.php';
|
45 |
|
46 |
// API operations
|
47 |
+
require __DIR__ . '/lib/ApiOperations/All.php';
|
48 |
+
require __DIR__ . '/lib/ApiOperations/Create.php';
|
49 |
+
require __DIR__ . '/lib/ApiOperations/Delete.php';
|
50 |
+
require __DIR__ . '/lib/ApiOperations/NestedResource.php';
|
51 |
+
require __DIR__ . '/lib/ApiOperations/Request.php';
|
52 |
+
require __DIR__ . '/lib/ApiOperations/Retrieve.php';
|
53 |
+
require __DIR__ . '/lib/ApiOperations/Update.php';
|
54 |
|
55 |
// Plumbing
|
56 |
+
require __DIR__ . '/lib/ApiResponse.php';
|
57 |
+
require __DIR__ . '/lib/RequestTelemetry.php';
|
58 |
+
require __DIR__ . '/lib/StripeObject.php';
|
59 |
+
require __DIR__ . '/lib/ApiRequestor.php';
|
60 |
+
require __DIR__ . '/lib/ApiResource.php';
|
61 |
+
require __DIR__ . '/lib/SingletonApiResource.php';
|
62 |
|
63 |
// Stripe API Resources
|
64 |
+
require __DIR__ . '/lib/Account.php';
|
65 |
+
require __DIR__ . '/lib/AccountLink.php';
|
66 |
+
require __DIR__ . '/lib/AlipayAccount.php';
|
67 |
+
require __DIR__ . '/lib/ApplePayDomain.php';
|
68 |
+
require __DIR__ . '/lib/ApplicationFee.php';
|
69 |
+
require __DIR__ . '/lib/ApplicationFeeRefund.php';
|
70 |
+
require __DIR__ . '/lib/Balance.php';
|
71 |
+
require __DIR__ . '/lib/BalanceTransaction.php';
|
72 |
+
require __DIR__ . '/lib/BankAccount.php';
|
73 |
+
require __DIR__ . '/lib/BitcoinReceiver.php';
|
74 |
+
require __DIR__ . '/lib/BitcoinTransaction.php';
|
75 |
+
require __DIR__ . '/lib/Capability.php';
|
76 |
+
require __DIR__ . '/lib/Card.php';
|
77 |
+
require __DIR__ . '/lib/Charge.php';
|
78 |
+
require __DIR__ . '/lib/Checkout/Session.php';
|
79 |
+
require __DIR__ . '/lib/Collection.php';
|
80 |
+
require __DIR__ . '/lib/CountrySpec.php';
|
81 |
+
require __DIR__ . '/lib/Coupon.php';
|
82 |
+
require __DIR__ . '/lib/CreditNote.php';
|
83 |
+
require __DIR__ . '/lib/CreditNoteLineItem.php';
|
84 |
+
require __DIR__ . '/lib/Customer.php';
|
85 |
+
require __DIR__ . '/lib/CustomerBalanceTransaction.php';
|
86 |
+
require __DIR__ . '/lib/Discount.php';
|
87 |
+
require __DIR__ . '/lib/Dispute.php';
|
88 |
+
require __DIR__ . '/lib/EphemeralKey.php';
|
89 |
+
require __DIR__ . '/lib/ErrorObject.php';
|
90 |
+
require __DIR__ . '/lib/Event.php';
|
91 |
+
require __DIR__ . '/lib/ExchangeRate.php';
|
92 |
+
require __DIR__ . '/lib/File.php';
|
93 |
+
require __DIR__ . '/lib/FileLink.php';
|
94 |
+
require __DIR__ . '/lib/Invoice.php';
|
95 |
+
require __DIR__ . '/lib/InvoiceItem.php';
|
96 |
+
require __DIR__ . '/lib/InvoiceLineItem.php';
|
97 |
+
require __DIR__ . '/lib/Issuing/Authorization.php';
|
98 |
+
require __DIR__ . '/lib/Issuing/Card.php';
|
99 |
+
require __DIR__ . '/lib/Issuing/CardDetails.php';
|
100 |
+
require __DIR__ . '/lib/Issuing/Cardholder.php';
|
101 |
+
require __DIR__ . '/lib/Issuing/Dispute.php';
|
102 |
+
require __DIR__ . '/lib/Issuing/Transaction.php';
|
103 |
+
require __DIR__ . '/lib/LoginLink.php';
|
104 |
+
require __DIR__ . '/lib/Mandate.php';
|
105 |
+
require __DIR__ . '/lib/Order.php';
|
106 |
+
require __DIR__ . '/lib/OrderItem.php';
|
107 |
+
require __DIR__ . '/lib/OrderReturn.php';
|
108 |
+
require __DIR__ . '/lib/PaymentIntent.php';
|
109 |
+
require __DIR__ . '/lib/PaymentMethod.php';
|
110 |
+
require __DIR__ . '/lib/Payout.php';
|
111 |
+
require __DIR__ . '/lib/Person.php';
|
112 |
+
require __DIR__ . '/lib/Plan.php';
|
113 |
+
require __DIR__ . '/lib/Product.php';
|
114 |
+
require __DIR__ . '/lib/Radar/EarlyFraudWarning.php';
|
115 |
+
require __DIR__ . '/lib/Radar/ValueList.php';
|
116 |
+
require __DIR__ . '/lib/Radar/ValueListItem.php';
|
117 |
+
require __DIR__ . '/lib/Recipient.php';
|
118 |
+
require __DIR__ . '/lib/RecipientTransfer.php';
|
119 |
+
require __DIR__ . '/lib/Refund.php';
|
120 |
+
require __DIR__ . '/lib/Reporting/ReportRun.php';
|
121 |
+
require __DIR__ . '/lib/Reporting/ReportType.php';
|
122 |
+
require __DIR__ . '/lib/Review.php';
|
123 |
+
require __DIR__ . '/lib/SetupIntent.php';
|
124 |
+
require __DIR__ . '/lib/Sigma/ScheduledQueryRun.php';
|
125 |
+
require __DIR__ . '/lib/SKU.php';
|
126 |
+
require __DIR__ . '/lib/Source.php';
|
127 |
+
require __DIR__ . '/lib/SourceTransaction.php';
|
128 |
+
require __DIR__ . '/lib/Subscription.php';
|
129 |
+
require __DIR__ . '/lib/SubscriptionItem.php';
|
130 |
+
require __DIR__ . '/lib/SubscriptionSchedule.php';
|
131 |
+
require __DIR__ . '/lib/TaxId.php';
|
132 |
+
require __DIR__ . '/lib/TaxRate.php';
|
133 |
+
require __DIR__ . '/lib/Terminal/ConnectionToken.php';
|
134 |
+
require __DIR__ . '/lib/Terminal/Location.php';
|
135 |
+
require __DIR__ . '/lib/Terminal/Reader.php';
|
136 |
+
require __DIR__ . '/lib/ThreeDSecure.php';
|
137 |
+
require __DIR__ . '/lib/Token.php';
|
138 |
+
require __DIR__ . '/lib/Topup.php';
|
139 |
+
require __DIR__ . '/lib/Transfer.php';
|
140 |
+
require __DIR__ . '/lib/TransferReversal.php';
|
141 |
+
require __DIR__ . '/lib/UsageRecord.php';
|
142 |
+
require __DIR__ . '/lib/UsageRecordSummary.php';
|
143 |
+
require __DIR__ . '/lib/WebhookEndpoint.php';
|
144 |
|
145 |
// OAuth
|
146 |
+
require __DIR__ . '/lib/OAuth.php';
|
147 |
+
require __DIR__ . '/lib/OAuthErrorObject.php';
|
148 |
|
149 |
// Webhooks
|
150 |
+
require __DIR__ . '/lib/Webhook.php';
|
151 |
+
require __DIR__ . '/lib/WebhookSignature.php';
|
|
lib/stripe-gateway/lib/Account.php
CHANGED
@@ -3,136 +3,166 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property string $business_type
|
12 |
-
* @property mixed $capabilities
|
13 |
-
* @property bool $charges_enabled
|
14 |
-
* @property mixed $company
|
15 |
-
* @property string $country
|
16 |
-
* @property int $created
|
17 |
-
* @property string $default_currency
|
18 |
-
* @property bool $details_submitted
|
19 |
-
* @property string $email
|
20 |
-
* @property Collection $external_accounts
|
21 |
-
* @property mixed $individual
|
22 |
-
* @property StripeObject $metadata
|
23 |
-
* @property bool $payouts_enabled
|
24 |
-
* @property mixed $requirements
|
25 |
-
* @property mixed $settings
|
26 |
-
* @property mixed $tos_acceptance
|
27 |
-
* @property string $type
|
28 |
*
|
29 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
*/
|
31 |
class Account extends ApiResource
|
32 |
{
|
33 |
-
const OBJECT_NAME =
|
34 |
|
35 |
use ApiOperations\All;
|
36 |
use ApiOperations\Create;
|
37 |
use ApiOperations\Delete;
|
38 |
use ApiOperations\NestedResource;
|
39 |
-
use ApiOperations\Retrieve {
|
40 |
-
retrieve as protected _retrieve;
|
41 |
-
}
|
42 |
use ApiOperations\Update;
|
43 |
|
44 |
-
|
45 |
-
|
46 |
-
* @link https://stripe.com/docs/api/accounts/object#account_object-business_type
|
47 |
-
*/
|
48 |
-
const BUSINESS_TYPE_COMPANY = 'company';
|
49 |
const BUSINESS_TYPE_INDIVIDUAL = 'individual';
|
|
|
50 |
|
51 |
-
|
52 |
-
|
53 |
-
* @link https://stripe.com/docs/api/accounts/object#account_object-capabilities
|
54 |
-
*/
|
55 |
-
const CAPABILITY_CARD_PAYMENTS = 'card_payments';
|
56 |
-
const CAPABILITY_LEGACY_PAYMENTS = 'legacy_payments';
|
57 |
const CAPABILITY_PLATFORM_PAYMENTS = 'platform_payments';
|
|
|
58 |
|
59 |
-
|
60 |
-
* Possible string representations of an account's capability status.
|
61 |
-
* @link https://stripe.com/docs/api/accounts/object#account_object-capabilities
|
62 |
-
*/
|
63 |
-
const CAPABILITY_STATUS_ACTIVE = 'active';
|
64 |
const CAPABILITY_STATUS_INACTIVE = 'inactive';
|
65 |
-
const CAPABILITY_STATUS_PENDING
|
66 |
|
67 |
-
|
68 |
-
|
69 |
-
* @link https://stripe.com/docs/api/accounts/object#account_object-type
|
70 |
-
*/
|
71 |
-
const TYPE_CUSTOM = 'custom';
|
72 |
-
const TYPE_EXPRESS = 'express';
|
73 |
const TYPE_STANDARD = 'standard';
|
74 |
|
|
|
|
|
|
|
|
|
75 |
public static function getSavedNestedResources()
|
76 |
{
|
77 |
static $savedNestedResources = null;
|
78 |
-
if (
|
79 |
$savedNestedResources = new Util\Set([
|
80 |
'external_account',
|
81 |
'bank_account',
|
82 |
]);
|
83 |
}
|
|
|
84 |
return $savedNestedResources;
|
85 |
}
|
86 |
|
87 |
-
const PATH_CAPABILITIES = '/capabilities';
|
88 |
-
const PATH_EXTERNAL_ACCOUNTS = '/external_accounts';
|
89 |
-
const PATH_LOGIN_LINKS = '/login_links';
|
90 |
-
const PATH_PERSONS = '/persons';
|
91 |
-
|
92 |
public function instanceUrl()
|
93 |
{
|
94 |
-
if ($this['id']
|
95 |
return '/v1/account';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
} else {
|
97 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
}
|
|
|
|
|
99 |
}
|
100 |
|
101 |
/**
|
102 |
-
* @param array|string
|
103 |
-
* options array containing an `id` key
|
104 |
-
* @param array|string
|
105 |
*
|
106 |
-
* @
|
|
|
|
|
107 |
*/
|
108 |
public static function retrieve($id = null, $opts = null)
|
109 |
{
|
110 |
-
if (!$opts && is_string($id) && substr($id, 0, 3)
|
111 |
$opts = $id;
|
112 |
$id = null;
|
113 |
}
|
|
|
114 |
return self::_retrieve($id, $opts);
|
115 |
}
|
116 |
|
117 |
/**
|
118 |
-
* @param array
|
119 |
-
* @param array|string
|
120 |
*
|
121 |
-
* @
|
122 |
-
*/
|
123 |
-
public function reject($params = null, $opts = null)
|
124 |
-
{
|
125 |
-
$url = $this->instanceUrl() . '/reject';
|
126 |
-
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
127 |
-
$this->refreshFrom($response, $opts);
|
128 |
-
return $this;
|
129 |
-
}
|
130 |
-
|
131 |
-
/**
|
132 |
-
* @param array|null $clientId
|
133 |
-
* @param array|string|null $opts
|
134 |
*
|
135 |
-
* @return StripeObject
|
136 |
*/
|
137 |
public function deauthorize($clientId = null, $opts = null)
|
138 |
{
|
@@ -140,48 +170,61 @@ class Account extends ApiResource
|
|
140 |
'client_id' => $clientId,
|
141 |
'stripe_user_id' => $this->id,
|
142 |
];
|
|
|
143 |
return OAuth::deauthorize($params, $opts);
|
144 |
}
|
145 |
|
146 |
-
/*
|
147 |
-
* Capabilities methods
|
148 |
-
* We can not add the capabilities() method today as the Account object already has a
|
149 |
-
* capabilities property which is a hash and not the sub-list of capabilities.
|
150 |
-
*/
|
151 |
-
|
152 |
-
|
153 |
/**
|
154 |
-
* @param
|
155 |
-
* @param string $
|
156 |
-
*
|
157 |
-
* @
|
158 |
*
|
159 |
-
* @return
|
160 |
*/
|
161 |
-
public
|
162 |
{
|
163 |
-
|
|
|
|
|
|
|
|
|
|
|
164 |
}
|
165 |
|
166 |
/**
|
167 |
-
* @param
|
168 |
-
* @param string $
|
169 |
-
* @param array|null $params
|
170 |
-
* @param array|string|null $opts
|
171 |
*
|
172 |
-
* @
|
|
|
|
|
173 |
*/
|
174 |
-
public
|
175 |
{
|
176 |
-
|
|
|
|
|
|
|
|
|
177 |
}
|
178 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
/**
|
180 |
-
* @param string $id
|
181 |
-
* @param array
|
182 |
-
* @param array|string
|
183 |
*
|
184 |
-
* @
|
|
|
|
|
185 |
*/
|
186 |
public static function allCapabilities($id, $params = null, $opts = null)
|
187 |
{
|
@@ -189,140 +232,165 @@ class Account extends ApiResource
|
|
189 |
}
|
190 |
|
191 |
/**
|
192 |
-
* @param string $id
|
193 |
-
* @param
|
194 |
-
* @param array
|
|
|
|
|
|
|
195 |
*
|
196 |
-
* @return
|
197 |
*/
|
198 |
-
public static function
|
199 |
{
|
200 |
-
return self::
|
201 |
}
|
202 |
|
203 |
/**
|
204 |
-
* @param string $id
|
205 |
-
* @param string $
|
206 |
-
* @param array
|
207 |
-
* @param array|string
|
|
|
|
|
208 |
*
|
209 |
-
* @return
|
210 |
*/
|
211 |
-
public static function
|
212 |
{
|
213 |
-
return self::
|
214 |
}
|
215 |
|
|
|
|
|
216 |
/**
|
217 |
-
* @param string $id
|
218 |
-
* @param
|
219 |
-
* @param array|
|
220 |
-
*
|
|
|
221 |
*
|
222 |
-
* @return BankAccount
|
223 |
*/
|
224 |
-
public static function
|
225 |
{
|
226 |
-
return self::
|
227 |
}
|
228 |
|
229 |
/**
|
230 |
-
* @param string $id
|
231 |
-
* @param
|
232 |
-
* @param array|
|
233 |
-
* @param array|string|null $opts
|
234 |
*
|
235 |
-
* @
|
|
|
|
|
236 |
*/
|
237 |
-
public static function
|
238 |
{
|
239 |
-
return self::
|
240 |
}
|
241 |
|
242 |
/**
|
243 |
-
* @param string $id
|
244 |
-
* @param
|
245 |
-
* @param array
|
|
|
246 |
*
|
247 |
-
* @
|
|
|
|
|
248 |
*/
|
249 |
-
public static function
|
250 |
{
|
251 |
-
return self::
|
252 |
}
|
253 |
|
254 |
/**
|
255 |
-
* @param string $id
|
256 |
-
* @param
|
257 |
-
* @param array
|
|
|
258 |
*
|
259 |
-
* @
|
|
|
|
|
260 |
*/
|
261 |
-
public static function
|
262 |
{
|
263 |
-
return self::
|
264 |
}
|
265 |
|
266 |
/**
|
267 |
-
* @param
|
268 |
-
* @param
|
|
|
|
|
|
|
|
|
269 |
*
|
270 |
-
* @return
|
271 |
*/
|
272 |
-
public function
|
273 |
{
|
274 |
-
$
|
275 |
-
list($response, $opts) = $this->_request('get', $url, $params, $options);
|
276 |
-
$obj = Util\Util::convertToStripeObject($response, $opts);
|
277 |
-
$obj->setLastResponse($response);
|
278 |
-
return $obj;
|
279 |
}
|
280 |
|
|
|
|
|
281 |
/**
|
282 |
-
* @param string $id
|
283 |
-
* @param array
|
284 |
-
* @param array|string
|
285 |
*
|
286 |
-
* @
|
|
|
|
|
287 |
*/
|
288 |
-
public static function
|
289 |
{
|
290 |
-
return self::_createNestedResource($id, static::
|
291 |
}
|
292 |
|
|
|
|
|
293 |
/**
|
294 |
-
* @param string $id
|
295 |
-
* @param
|
296 |
-
* @param array|
|
297 |
-
* @param array|string|null $opts
|
298 |
*
|
299 |
-
* @
|
|
|
|
|
300 |
*/
|
301 |
-
public static function
|
302 |
{
|
303 |
-
return self::
|
304 |
}
|
305 |
|
306 |
/**
|
307 |
-
* @param string $id
|
308 |
-
* @param
|
309 |
-
* @param array|
|
310 |
-
*
|
|
|
311 |
*
|
312 |
-
* @return Person
|
313 |
*/
|
314 |
-
public static function
|
315 |
{
|
316 |
-
return self::
|
317 |
}
|
318 |
|
319 |
/**
|
320 |
-
* @param string $id
|
321 |
-
* @param string $personId
|
322 |
-
* @param array
|
323 |
-
* @param array|string
|
|
|
|
|
324 |
*
|
325 |
-
* @return Person
|
326 |
*/
|
327 |
public static function deletePerson($id, $personId, $params = null, $opts = null)
|
328 |
{
|
@@ -330,63 +398,32 @@ class Account extends ApiResource
|
|
330 |
}
|
331 |
|
332 |
/**
|
333 |
-
* @param string $id
|
334 |
-
* @param
|
335 |
-
* @param array
|
|
|
336 |
*
|
337 |
-
* @
|
|
|
|
|
338 |
*/
|
339 |
-
public static function
|
340 |
-
{
|
341 |
-
return self::_allNestedResources($id, static::PATH_PERSONS, $params, $opts);
|
342 |
-
}
|
343 |
-
|
344 |
-
public function serializeParameters($force = false)
|
345 |
{
|
346 |
-
|
347 |
-
if (isset($this->_values['legal_entity'])) {
|
348 |
-
$entity = $this['legal_entity'];
|
349 |
-
if (isset($entity->_values['additional_owners'])) {
|
350 |
-
$owners = $entity['additional_owners'];
|
351 |
-
$entityUpdate = isset($update['legal_entity']) ? $update['legal_entity'] : [];
|
352 |
-
$entityUpdate['additional_owners'] = $this->serializeAdditionalOwners($entity, $owners);
|
353 |
-
$update['legal_entity'] = $entityUpdate;
|
354 |
-
}
|
355 |
-
}
|
356 |
-
if (isset($this->_values['individual'])) {
|
357 |
-
$individual = $this['individual'];
|
358 |
-
if (($individual instanceof Person) && !isset($update['individual'])) {
|
359 |
-
$update['individual'] = $individual->serializeParameters($force);
|
360 |
-
}
|
361 |
-
}
|
362 |
-
return $update;
|
363 |
}
|
364 |
|
365 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
{
|
367 |
-
|
368 |
-
$originalValue = $legalEntity->_originalValues['additional_owners'];
|
369 |
-
} else {
|
370 |
-
$originalValue = [];
|
371 |
-
}
|
372 |
-
if (($originalValue) && (count($originalValue) > count($additionalOwners))) {
|
373 |
-
throw new \InvalidArgumentException(
|
374 |
-
"You cannot delete an item from an array, you must instead set a new array"
|
375 |
-
);
|
376 |
-
}
|
377 |
-
|
378 |
-
$updateArr = [];
|
379 |
-
foreach ($additionalOwners as $i => $v) {
|
380 |
-
$update = ($v instanceof StripeObject) ? $v->serializeParameters() : $v;
|
381 |
-
|
382 |
-
if ($update !== []) {
|
383 |
-
if (!$originalValue ||
|
384 |
-
!array_key_exists($i, $originalValue) ||
|
385 |
-
($update != $legalEntity->serializeParamsValue($originalValue[$i], null, false, true))) {
|
386 |
-
$updateArr[$i] = $update;
|
387 |
-
}
|
388 |
-
}
|
389 |
-
}
|
390 |
-
return $updateArr;
|
391 |
}
|
392 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* This is an object representing a Stripe account. You can retrieve it to see
|
7 |
+
* properties on the account like its current e-mail address or if the account is
|
8 |
+
* enabled yet to make live charges.
|
9 |
*
|
10 |
+
* Some properties, marked below, are available only to platforms that want to <a
|
11 |
+
* href="https://stripe.com/docs/connect/accounts">create and manage Express or
|
12 |
+
* Custom accounts</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
*
|
14 |
+
* @property string $id Unique identifier for the object.
|
15 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
16 |
+
* @property null|\Stripe\StripeObject $business_profile Business information about the account.
|
17 |
+
* @property null|string $business_type The business type.
|
18 |
+
* @property \Stripe\StripeObject $capabilities
|
19 |
+
* @property bool $charges_enabled Whether the account can create live charges.
|
20 |
+
* @property \Stripe\StripeObject $company
|
21 |
+
* @property string $country The account's country.
|
22 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
23 |
+
* @property string $default_currency Three-letter ISO currency code representing the default currency for the account. This must be a currency that <a href="https://stripe.com/docs/payouts">Stripe supports in the account's country</a>.
|
24 |
+
* @property bool $details_submitted Whether account details have been submitted. Standard accounts cannot receive payouts before this is true.
|
25 |
+
* @property null|string $email The primary user's email address.
|
26 |
+
* @property \Stripe\Collection $external_accounts External accounts (bank accounts and debit cards) currently attached to this account
|
27 |
+
* @property \Stripe\Person $individual <p>This is an object representing a person associated with a Stripe account.</p><p>Related guide: <a href="https://stripe.com/docs/connect/identity-verification-api#person-information">Handling Identity Verification with the API</a>.</p>
|
28 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
29 |
+
* @property bool $payouts_enabled Whether Stripe can send payouts to this account.
|
30 |
+
* @property \Stripe\StripeObject $requirements
|
31 |
+
* @property null|\Stripe\StripeObject $settings Options for customizing how the account functions within Stripe.
|
32 |
+
* @property \Stripe\StripeObject $tos_acceptance
|
33 |
+
* @property string $type The Stripe account type. Can be <code>standard</code>, <code>express</code>, or <code>custom</code>.
|
34 |
*/
|
35 |
class Account extends ApiResource
|
36 |
{
|
37 |
+
const OBJECT_NAME = 'account';
|
38 |
|
39 |
use ApiOperations\All;
|
40 |
use ApiOperations\Create;
|
41 |
use ApiOperations\Delete;
|
42 |
use ApiOperations\NestedResource;
|
|
|
|
|
|
|
43 |
use ApiOperations\Update;
|
44 |
|
45 |
+
const BUSINESS_TYPE_COMPANY = 'company';
|
46 |
+
const BUSINESS_TYPE_GOVERNMENT_ENTITY = 'government_entity';
|
|
|
|
|
|
|
47 |
const BUSINESS_TYPE_INDIVIDUAL = 'individual';
|
48 |
+
const BUSINESS_TYPE_NON_PROFIT = 'non_profit';
|
49 |
|
50 |
+
const CAPABILITY_CARD_PAYMENTS = 'card_payments';
|
51 |
+
const CAPABILITY_LEGACY_PAYMENTS = 'legacy_payments';
|
|
|
|
|
|
|
|
|
52 |
const CAPABILITY_PLATFORM_PAYMENTS = 'platform_payments';
|
53 |
+
const CAPABILITY_TRANSFERS = 'transfers';
|
54 |
|
55 |
+
const CAPABILITY_STATUS_ACTIVE = 'active';
|
|
|
|
|
|
|
|
|
56 |
const CAPABILITY_STATUS_INACTIVE = 'inactive';
|
57 |
+
const CAPABILITY_STATUS_PENDING = 'pending';
|
58 |
|
59 |
+
const TYPE_CUSTOM = 'custom';
|
60 |
+
const TYPE_EXPRESS = 'express';
|
|
|
|
|
|
|
|
|
61 |
const TYPE_STANDARD = 'standard';
|
62 |
|
63 |
+
use ApiOperations\Retrieve {
|
64 |
+
retrieve as protected _retrieve;
|
65 |
+
}
|
66 |
+
|
67 |
public static function getSavedNestedResources()
|
68 |
{
|
69 |
static $savedNestedResources = null;
|
70 |
+
if (null === $savedNestedResources) {
|
71 |
$savedNestedResources = new Util\Set([
|
72 |
'external_account',
|
73 |
'bank_account',
|
74 |
]);
|
75 |
}
|
76 |
+
|
77 |
return $savedNestedResources;
|
78 |
}
|
79 |
|
|
|
|
|
|
|
|
|
|
|
80 |
public function instanceUrl()
|
81 |
{
|
82 |
+
if (null === $this['id']) {
|
83 |
return '/v1/account';
|
84 |
+
}
|
85 |
+
|
86 |
+
return parent::instanceUrl();
|
87 |
+
}
|
88 |
+
|
89 |
+
public function serializeParameters($force = false)
|
90 |
+
{
|
91 |
+
$update = parent::serializeParameters($force);
|
92 |
+
if (isset($this->_values['legal_entity'])) {
|
93 |
+
$entity = $this['legal_entity'];
|
94 |
+
if (isset($entity->_values['additional_owners'])) {
|
95 |
+
$owners = $entity['additional_owners'];
|
96 |
+
$entityUpdate = isset($update['legal_entity']) ? $update['legal_entity'] : [];
|
97 |
+
$entityUpdate['additional_owners'] = $this->serializeAdditionalOwners($entity, $owners);
|
98 |
+
$update['legal_entity'] = $entityUpdate;
|
99 |
+
}
|
100 |
+
}
|
101 |
+
if (isset($this->_values['individual'])) {
|
102 |
+
$individual = $this['individual'];
|
103 |
+
if (($individual instanceof Person) && !isset($update['individual'])) {
|
104 |
+
$update['individual'] = $individual->serializeParameters($force);
|
105 |
+
}
|
106 |
+
}
|
107 |
+
|
108 |
+
return $update;
|
109 |
+
}
|
110 |
+
|
111 |
+
private function serializeAdditionalOwners($legalEntity, $additionalOwners)
|
112 |
+
{
|
113 |
+
if (isset($legalEntity->_originalValues['additional_owners'])) {
|
114 |
+
$originalValue = $legalEntity->_originalValues['additional_owners'];
|
115 |
} else {
|
116 |
+
$originalValue = [];
|
117 |
+
}
|
118 |
+
if (($originalValue) && (\count($originalValue) > \count($additionalOwners))) {
|
119 |
+
throw new Exception\InvalidArgumentException(
|
120 |
+
'You cannot delete an item from an array, you must instead set a new array'
|
121 |
+
);
|
122 |
+
}
|
123 |
+
|
124 |
+
$updateArr = [];
|
125 |
+
foreach ($additionalOwners as $i => $v) {
|
126 |
+
$update = ($v instanceof StripeObject) ? $v->serializeParameters() : $v;
|
127 |
+
|
128 |
+
if ($update !== []) {
|
129 |
+
if (!$originalValue ||
|
130 |
+
!\array_key_exists($i, $originalValue) ||
|
131 |
+
($update !== $legalEntity->serializeParamsValue($originalValue[$i], null, false, true))) {
|
132 |
+
$updateArr[$i] = $update;
|
133 |
+
}
|
134 |
+
}
|
135 |
}
|
136 |
+
|
137 |
+
return $updateArr;
|
138 |
}
|
139 |
|
140 |
/**
|
141 |
+
* @param null|array|string $id the ID of the account to retrieve, or an
|
142 |
+
* options array containing an `id` key
|
143 |
+
* @param null|array|string $opts
|
144 |
*
|
145 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
146 |
+
*
|
147 |
+
* @return \Stripe\Account
|
148 |
*/
|
149 |
public static function retrieve($id = null, $opts = null)
|
150 |
{
|
151 |
+
if (!$opts && \is_string($id) && 'sk_' === \substr($id, 0, 3)) {
|
152 |
$opts = $id;
|
153 |
$id = null;
|
154 |
}
|
155 |
+
|
156 |
return self::_retrieve($id, $opts);
|
157 |
}
|
158 |
|
159 |
/**
|
160 |
+
* @param null|array $clientId
|
161 |
+
* @param null|array|string $opts
|
162 |
*
|
163 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
*
|
165 |
+
* @return \Stripe\StripeObject object containing the response from the API
|
166 |
*/
|
167 |
public function deauthorize($clientId = null, $opts = null)
|
168 |
{
|
170 |
'client_id' => $clientId,
|
171 |
'stripe_user_id' => $this->id,
|
172 |
];
|
173 |
+
|
174 |
return OAuth::deauthorize($params, $opts);
|
175 |
}
|
176 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
/**
|
178 |
+
* @param null|array $params
|
179 |
+
* @param null|array|string $opts
|
180 |
+
*
|
181 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
182 |
*
|
183 |
+
* @return \Stripe\Collection the list of persons
|
184 |
*/
|
185 |
+
public function persons($params = null, $opts = null)
|
186 |
{
|
187 |
+
$url = $this->instanceUrl() . '/persons';
|
188 |
+
list($response, $opts) = $this->_request('get', $url, $params, $opts);
|
189 |
+
$obj = Util\Util::convertToStripeObject($response, $opts);
|
190 |
+
$obj->setLastResponse($response);
|
191 |
+
|
192 |
+
return $obj;
|
193 |
}
|
194 |
|
195 |
/**
|
196 |
+
* @param null|array $params
|
197 |
+
* @param null|array|string $opts
|
|
|
|
|
198 |
*
|
199 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
200 |
+
*
|
201 |
+
* @return Account the rejected account
|
202 |
*/
|
203 |
+
public function reject($params = null, $opts = null)
|
204 |
{
|
205 |
+
$url = $this->instanceUrl() . '/reject';
|
206 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
207 |
+
$this->refreshFrom($response, $opts);
|
208 |
+
|
209 |
+
return $this;
|
210 |
}
|
211 |
|
212 |
+
/*
|
213 |
+
* Capabilities methods
|
214 |
+
* We can not add the capabilities() method today as the Account object already has a
|
215 |
+
* capabilities property which is a hash and not the sub-list of capabilities.
|
216 |
+
*/
|
217 |
+
|
218 |
+
const PATH_CAPABILITIES = '/capabilities';
|
219 |
+
|
220 |
/**
|
221 |
+
* @param string $id the ID of the account on which to retrieve the capabilities
|
222 |
+
* @param null|array $params
|
223 |
+
* @param null|array|string $opts
|
224 |
*
|
225 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
226 |
+
*
|
227 |
+
* @return \Stripe\Collection the list of capabilities
|
228 |
*/
|
229 |
public static function allCapabilities($id, $params = null, $opts = null)
|
230 |
{
|
232 |
}
|
233 |
|
234 |
/**
|
235 |
+
* @param string $id the ID of the account to which the capability belongs
|
236 |
+
* @param string $capabilityId the ID of the capability to retrieve
|
237 |
+
* @param null|array $params
|
238 |
+
* @param null|array|string $opts
|
239 |
+
*
|
240 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
241 |
*
|
242 |
+
* @return \Stripe\Capability
|
243 |
*/
|
244 |
+
public static function retrieveCapability($id, $capabilityId, $params = null, $opts = null)
|
245 |
{
|
246 |
+
return self::_retrieveNestedResource($id, static::PATH_CAPABILITIES, $capabilityId, $params, $opts);
|
247 |
}
|
248 |
|
249 |
/**
|
250 |
+
* @param string $id the ID of the account to which the capability belongs
|
251 |
+
* @param string $capabilityId the ID of the capability to update
|
252 |
+
* @param null|array $params
|
253 |
+
* @param null|array|string $opts
|
254 |
+
*
|
255 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
256 |
*
|
257 |
+
* @return \Stripe\Capability
|
258 |
*/
|
259 |
+
public static function updateCapability($id, $capabilityId, $params = null, $opts = null)
|
260 |
{
|
261 |
+
return self::_updateNestedResource($id, static::PATH_CAPABILITIES, $capabilityId, $params, $opts);
|
262 |
}
|
263 |
|
264 |
+
const PATH_EXTERNAL_ACCOUNTS = '/external_accounts';
|
265 |
+
|
266 |
/**
|
267 |
+
* @param string $id the ID of the account on which to retrieve the external accounts
|
268 |
+
* @param null|array $params
|
269 |
+
* @param null|array|string $opts
|
270 |
+
*
|
271 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
272 |
*
|
273 |
+
* @return \Stripe\Collection the list of external accounts (BankAccount or Card)
|
274 |
*/
|
275 |
+
public static function allExternalAccounts($id, $params = null, $opts = null)
|
276 |
{
|
277 |
+
return self::_allNestedResources($id, static::PATH_EXTERNAL_ACCOUNTS, $params, $opts);
|
278 |
}
|
279 |
|
280 |
/**
|
281 |
+
* @param string $id the ID of the account on which to create the external account
|
282 |
+
* @param null|array $params
|
283 |
+
* @param null|array|string $opts
|
|
|
284 |
*
|
285 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
286 |
+
*
|
287 |
+
* @return \Stripe\BankAccount|\Stripe\Card
|
288 |
*/
|
289 |
+
public static function createExternalAccount($id, $params = null, $opts = null)
|
290 |
{
|
291 |
+
return self::_createNestedResource($id, static::PATH_EXTERNAL_ACCOUNTS, $params, $opts);
|
292 |
}
|
293 |
|
294 |
/**
|
295 |
+
* @param string $id the ID of the account to which the external account belongs
|
296 |
+
* @param string $externalAccountId the ID of the external account to delete
|
297 |
+
* @param null|array $params
|
298 |
+
* @param null|array|string $opts
|
299 |
*
|
300 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
301 |
+
*
|
302 |
+
* @return \Stripe\BankAccount|\Stripe\Card
|
303 |
*/
|
304 |
+
public static function deleteExternalAccount($id, $externalAccountId, $params = null, $opts = null)
|
305 |
{
|
306 |
+
return self::_deleteNestedResource($id, static::PATH_EXTERNAL_ACCOUNTS, $externalAccountId, $params, $opts);
|
307 |
}
|
308 |
|
309 |
/**
|
310 |
+
* @param string $id the ID of the account to which the external account belongs
|
311 |
+
* @param string $externalAccountId the ID of the external account to retrieve
|
312 |
+
* @param null|array $params
|
313 |
+
* @param null|array|string $opts
|
314 |
*
|
315 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
316 |
+
*
|
317 |
+
* @return \Stripe\BankAccount|\Stripe\Card
|
318 |
*/
|
319 |
+
public static function retrieveExternalAccount($id, $externalAccountId, $params = null, $opts = null)
|
320 |
{
|
321 |
+
return self::_retrieveNestedResource($id, static::PATH_EXTERNAL_ACCOUNTS, $externalAccountId, $params, $opts);
|
322 |
}
|
323 |
|
324 |
/**
|
325 |
+
* @param string $id the ID of the account to which the external account belongs
|
326 |
+
* @param string $externalAccountId the ID of the external account to update
|
327 |
+
* @param null|array $params
|
328 |
+
* @param null|array|string $opts
|
329 |
+
*
|
330 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
331 |
*
|
332 |
+
* @return \Stripe\BankAccount|\Stripe\Card
|
333 |
*/
|
334 |
+
public static function updateExternalAccount($id, $externalAccountId, $params = null, $opts = null)
|
335 |
{
|
336 |
+
return self::_updateNestedResource($id, static::PATH_EXTERNAL_ACCOUNTS, $externalAccountId, $params, $opts);
|
|
|
|
|
|
|
|
|
337 |
}
|
338 |
|
339 |
+
const PATH_LOGIN_LINKS = '/login_links';
|
340 |
+
|
341 |
/**
|
342 |
+
* @param string $id the ID of the account on which to create the login link
|
343 |
+
* @param null|array $params
|
344 |
+
* @param null|array|string $opts
|
345 |
*
|
346 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
347 |
+
*
|
348 |
+
* @return \Stripe\LoginLink
|
349 |
*/
|
350 |
+
public static function createLoginLink($id, $params = null, $opts = null)
|
351 |
{
|
352 |
+
return self::_createNestedResource($id, static::PATH_LOGIN_LINKS, $params, $opts);
|
353 |
}
|
354 |
|
355 |
+
const PATH_PERSONS = '/persons';
|
356 |
+
|
357 |
/**
|
358 |
+
* @param string $id the ID of the account on which to retrieve the persons
|
359 |
+
* @param null|array $params
|
360 |
+
* @param null|array|string $opts
|
|
|
361 |
*
|
362 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
363 |
+
*
|
364 |
+
* @return \Stripe\Collection the list of persons
|
365 |
*/
|
366 |
+
public static function allPersons($id, $params = null, $opts = null)
|
367 |
{
|
368 |
+
return self::_allNestedResources($id, static::PATH_PERSONS, $params, $opts);
|
369 |
}
|
370 |
|
371 |
/**
|
372 |
+
* @param string $id the ID of the account on which to create the person
|
373 |
+
* @param null|array $params
|
374 |
+
* @param null|array|string $opts
|
375 |
+
*
|
376 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
377 |
*
|
378 |
+
* @return \Stripe\Person
|
379 |
*/
|
380 |
+
public static function createPerson($id, $params = null, $opts = null)
|
381 |
{
|
382 |
+
return self::_createNestedResource($id, static::PATH_PERSONS, $params, $opts);
|
383 |
}
|
384 |
|
385 |
/**
|
386 |
+
* @param string $id the ID of the account to which the person belongs
|
387 |
+
* @param string $personId the ID of the person to delete
|
388 |
+
* @param null|array $params
|
389 |
+
* @param null|array|string $opts
|
390 |
+
*
|
391 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
392 |
*
|
393 |
+
* @return \Stripe\Person
|
394 |
*/
|
395 |
public static function deletePerson($id, $personId, $params = null, $opts = null)
|
396 |
{
|
398 |
}
|
399 |
|
400 |
/**
|
401 |
+
* @param string $id the ID of the account to which the person belongs
|
402 |
+
* @param string $personId the ID of the person to retrieve
|
403 |
+
* @param null|array $params
|
404 |
+
* @param null|array|string $opts
|
405 |
*
|
406 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
407 |
+
*
|
408 |
+
* @return \Stripe\Person
|
409 |
*/
|
410 |
+
public static function retrievePerson($id, $personId, $params = null, $opts = null)
|
|
|
|
|
|
|
|
|
|
|
411 |
{
|
412 |
+
return self::_retrieveNestedResource($id, static::PATH_PERSONS, $personId, $params, $opts);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
413 |
}
|
414 |
|
415 |
+
/**
|
416 |
+
* @param string $id the ID of the account to which the person belongs
|
417 |
+
* @param string $personId the ID of the person to update
|
418 |
+
* @param null|array $params
|
419 |
+
* @param null|array|string $opts
|
420 |
+
*
|
421 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
422 |
+
*
|
423 |
+
* @return \Stripe\Person
|
424 |
+
*/
|
425 |
+
public static function updatePerson($id, $personId, $params = null, $opts = null)
|
426 |
{
|
427 |
+
return self::_updateNestedResource($id, static::PATH_PERSONS, $personId, $params, $opts);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
428 |
}
|
429 |
}
|
lib/stripe-gateway/lib/AccountLink.php
CHANGED
@@ -3,18 +3,22 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property string $url
|
12 |
*
|
13 |
-
* @
|
|
|
|
|
|
|
14 |
*/
|
15 |
class AccountLink extends ApiResource
|
16 |
{
|
17 |
-
const OBJECT_NAME =
|
18 |
|
19 |
use ApiOperations\Create;
|
20 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Account Links are the means by which a Connect platform grants a connected
|
7 |
+
* account permission to access Stripe-hosted applications, such as Connect
|
8 |
+
* Onboarding.
|
9 |
*
|
10 |
+
* Related guide: <a
|
11 |
+
* href="https://stripe.com/docs/connect/connect-onboarding">Connect
|
12 |
+
* Onboarding</a>.
|
|
|
13 |
*
|
14 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
15 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
16 |
+
* @property int $expires_at The timestamp at which this account link will expire.
|
17 |
+
* @property string $url The URL for the account link.
|
18 |
*/
|
19 |
class AccountLink extends ApiResource
|
20 |
{
|
21 |
+
const OBJECT_NAME = 'account_link';
|
22 |
|
23 |
use ApiOperations\Create;
|
24 |
}
|
lib/stripe-gateway/lib/AlipayAccount.php
CHANGED
@@ -3,16 +3,14 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
* Class AlipayAccount
|
7 |
-
*
|
8 |
-
* @package Stripe
|
9 |
*
|
10 |
* @deprecated Alipay accounts are deprecated. Please use the sources API instead.
|
11 |
-
* @
|
12 |
*/
|
13 |
class AlipayAccount extends ApiResource
|
14 |
{
|
15 |
-
const OBJECT_NAME =
|
16 |
|
17 |
use ApiOperations\Delete;
|
18 |
use ApiOperations\Update;
|
@@ -28,44 +26,50 @@ class AlipayAccount extends ApiResource
|
|
28 |
$parent = $this['customer'];
|
29 |
$path = 'sources';
|
30 |
} else {
|
31 |
-
$msg =
|
32 |
-
|
|
|
33 |
}
|
34 |
-
$parentExtn = urlencode(Util\Util::utf8($parent));
|
35 |
-
$extn = urlencode(Util\Util::utf8($this['id']));
|
36 |
-
|
|
|
37 |
}
|
38 |
|
39 |
/**
|
40 |
* @param array|string $_id
|
41 |
-
* @param array|string
|
42 |
*
|
43 |
-
* @throws \Stripe\
|
44 |
*
|
45 |
* @deprecated Alipay accounts are deprecated. Please use the sources API instead.
|
46 |
-
* @
|
47 |
*/
|
48 |
public static function retrieve($_id, $_opts = null)
|
49 |
{
|
50 |
-
$msg =
|
51 |
-
|
52 |
-
|
|
|
|
|
53 |
}
|
54 |
|
55 |
/**
|
56 |
* @param string $_id
|
57 |
-
* @param array
|
58 |
-
* @param array|string
|
59 |
*
|
60 |
-
* @throws \Stripe\
|
61 |
*
|
62 |
* @deprecated Alipay accounts are deprecated. Please use the sources API instead.
|
63 |
-
* @
|
64 |
*/
|
65 |
public static function update($_id, $_params = null, $_options = null)
|
66 |
{
|
67 |
-
$msg =
|
68 |
-
|
69 |
-
|
|
|
|
|
70 |
}
|
71 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Class AlipayAccount.
|
|
|
|
|
7 |
*
|
8 |
* @deprecated Alipay accounts are deprecated. Please use the sources API instead.
|
9 |
+
* @see https://stripe.com/docs/sources/alipay
|
10 |
*/
|
11 |
class AlipayAccount extends ApiResource
|
12 |
{
|
13 |
+
const OBJECT_NAME = 'alipay_account';
|
14 |
|
15 |
use ApiOperations\Delete;
|
16 |
use ApiOperations\Update;
|
26 |
$parent = $this['customer'];
|
27 |
$path = 'sources';
|
28 |
} else {
|
29 |
+
$msg = 'Alipay accounts cannot be accessed without a customer ID.';
|
30 |
+
|
31 |
+
throw new Exception\UnexpectedValueException($msg);
|
32 |
}
|
33 |
+
$parentExtn = \urlencode(Util\Util::utf8($parent));
|
34 |
+
$extn = \urlencode(Util\Util::utf8($this['id']));
|
35 |
+
|
36 |
+
return "{$base}/{$parentExtn}/{$path}/{$extn}";
|
37 |
}
|
38 |
|
39 |
/**
|
40 |
* @param array|string $_id
|
41 |
+
* @param null|array|string $_opts
|
42 |
*
|
43 |
+
* @throws \Stripe\Exception\BadMethodCallException
|
44 |
*
|
45 |
* @deprecated Alipay accounts are deprecated. Please use the sources API instead.
|
46 |
+
* @see https://stripe.com/docs/sources/alipay
|
47 |
*/
|
48 |
public static function retrieve($_id, $_opts = null)
|
49 |
{
|
50 |
+
$msg = 'Alipay accounts cannot be retrieved without a customer ID. ' .
|
51 |
+
'Retrieve an Alipay account using `Customer::retrieveSource(' .
|
52 |
+
"'customer_id', 'alipay_account_id')`.";
|
53 |
+
|
54 |
+
throw new Exception\BadMethodCallException($msg);
|
55 |
}
|
56 |
|
57 |
/**
|
58 |
* @param string $_id
|
59 |
+
* @param null|array $_params
|
60 |
+
* @param null|array|string $_options
|
61 |
*
|
62 |
+
* @throws \Stripe\Exception\BadMethodCallException
|
63 |
*
|
64 |
* @deprecated Alipay accounts are deprecated. Please use the sources API instead.
|
65 |
+
* @see https://stripe.com/docs/sources/alipay
|
66 |
*/
|
67 |
public static function update($_id, $_params = null, $_options = null)
|
68 |
{
|
69 |
+
$msg = 'Alipay accounts cannot be updated without a customer ID. ' .
|
70 |
+
'Update an Alipay account using `Customer::updateSource(' .
|
71 |
+
"'customer_id', 'alipay_account_id', \$updateParams)`.";
|
72 |
+
|
73 |
+
throw new Exception\BadMethodCallException($msg);
|
74 |
}
|
75 |
}
|
lib/stripe-gateway/lib/ApiOperations/All.php
CHANGED
@@ -10,8 +10,10 @@ namespace Stripe\ApiOperations;
|
|
10 |
trait All
|
11 |
{
|
12 |
/**
|
13 |
-
* @param array
|
14 |
-
* @param array|string
|
|
|
|
|
15 |
*
|
16 |
* @return \Stripe\Collection of ApiResources
|
17 |
*/
|
@@ -22,13 +24,14 @@ trait All
|
|
22 |
|
23 |
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
|
24 |
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
|
25 |
-
if (!
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
}
|
30 |
$obj->setLastResponse($response);
|
31 |
-
$obj->
|
|
|
32 |
return $obj;
|
33 |
}
|
34 |
}
|
10 |
trait All
|
11 |
{
|
12 |
/**
|
13 |
+
* @param null|array $params
|
14 |
+
* @param null|array|string $opts
|
15 |
+
*
|
16 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
17 |
*
|
18 |
* @return \Stripe\Collection of ApiResources
|
19 |
*/
|
24 |
|
25 |
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
|
26 |
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
|
27 |
+
if (!($obj instanceof \Stripe\Collection)) {
|
28 |
+
throw new \Stripe\Exception\UnexpectedValueException(
|
29 |
+
'Expected type ' . \Stripe\Collection::class . ', got "' . \get_class($obj) . '" instead.'
|
30 |
+
);
|
31 |
}
|
32 |
$obj->setLastResponse($response);
|
33 |
+
$obj->setFilters($params);
|
34 |
+
|
35 |
return $obj;
|
36 |
}
|
37 |
}
|
lib/stripe-gateway/lib/ApiOperations/Create.php
CHANGED
@@ -10,10 +10,12 @@ namespace Stripe\ApiOperations;
|
|
10 |
trait Create
|
11 |
{
|
12 |
/**
|
13 |
-
* @param array
|
14 |
-
* @param array|string
|
15 |
*
|
16 |
-
* @
|
|
|
|
|
17 |
*/
|
18 |
public static function create($params = null, $options = null)
|
19 |
{
|
@@ -23,6 +25,7 @@ trait Create
|
|
23 |
list($response, $opts) = static::_staticRequest('post', $url, $params, $options);
|
24 |
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
|
25 |
$obj->setLastResponse($response);
|
|
|
26 |
return $obj;
|
27 |
}
|
28 |
}
|
10 |
trait Create
|
11 |
{
|
12 |
/**
|
13 |
+
* @param null|array $params
|
14 |
+
* @param null|array|string $options
|
15 |
*
|
16 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
17 |
+
*
|
18 |
+
* @return static the created resource
|
19 |
*/
|
20 |
public static function create($params = null, $options = null)
|
21 |
{
|
25 |
list($response, $opts) = static::_staticRequest('post', $url, $params, $options);
|
26 |
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
|
27 |
$obj->setLastResponse($response);
|
28 |
+
|
29 |
return $obj;
|
30 |
}
|
31 |
}
|
lib/stripe-gateway/lib/ApiOperations/Delete.php
CHANGED
@@ -10,10 +10,12 @@ namespace Stripe\ApiOperations;
|
|
10 |
trait Delete
|
11 |
{
|
12 |
/**
|
13 |
-
* @param array
|
14 |
-
* @param array|string
|
15 |
*
|
16 |
-
* @
|
|
|
|
|
17 |
*/
|
18 |
public function delete($params = null, $opts = null)
|
19 |
{
|
@@ -22,6 +24,7 @@ trait Delete
|
|
22 |
$url = $this->instanceUrl();
|
23 |
list($response, $opts) = $this->_request('delete', $url, $params, $opts);
|
24 |
$this->refreshFrom($response, $opts);
|
|
|
25 |
return $this;
|
26 |
}
|
27 |
}
|
10 |
trait Delete
|
11 |
{
|
12 |
/**
|
13 |
+
* @param null|array $params
|
14 |
+
* @param null|array|string $opts
|
15 |
*
|
16 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
17 |
+
*
|
18 |
+
* @return static the deleted resource
|
19 |
*/
|
20 |
public function delete($params = null, $opts = null)
|
21 |
{
|
24 |
$url = $this->instanceUrl();
|
25 |
list($response, $opts) = $this->_request('delete', $url, $params, $opts);
|
26 |
$this->refreshFrom($response, $opts);
|
27 |
+
|
28 |
return $this;
|
29 |
}
|
30 |
}
|
lib/stripe-gateway/lib/ApiOperations/NestedResource.php
CHANGED
@@ -12,8 +12,8 @@ trait NestedResource
|
|
12 |
/**
|
13 |
* @param string $method
|
14 |
* @param string $url
|
15 |
-
* @param array
|
16 |
-
* @param array|string
|
17 |
*
|
18 |
* @return \Stripe\StripeObject
|
19 |
*/
|
@@ -24,95 +24,112 @@ trait NestedResource
|
|
24 |
list($response, $opts) = static::_staticRequest($method, $url, $params, $options);
|
25 |
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
|
26 |
$obj->setLastResponse($response);
|
|
|
27 |
return $obj;
|
28 |
}
|
29 |
|
30 |
/**
|
31 |
* @param string $id
|
32 |
* @param string $nestedPath
|
33 |
-
* @param string
|
34 |
*
|
35 |
* @return string
|
36 |
*/
|
37 |
protected static function _nestedResourceUrl($id, $nestedPath, $nestedId = null)
|
38 |
{
|
39 |
$url = static::resourceUrl($id) . $nestedPath;
|
40 |
-
if (
|
41 |
-
$url .= "
|
42 |
}
|
|
|
43 |
return $url;
|
44 |
}
|
45 |
|
46 |
/**
|
47 |
* @param string $id
|
48 |
* @param string $nestedPath
|
49 |
-
* @param array
|
50 |
-
* @param array|string
|
|
|
|
|
51 |
*
|
52 |
* @return \Stripe\StripeObject
|
53 |
*/
|
54 |
protected static function _createNestedResource($id, $nestedPath, $params = null, $options = null)
|
55 |
{
|
56 |
$url = static::_nestedResourceUrl($id, $nestedPath);
|
|
|
57 |
return self::_nestedResourceOperation('post', $url, $params, $options);
|
58 |
}
|
59 |
|
60 |
/**
|
61 |
* @param string $id
|
62 |
* @param string $nestedPath
|
63 |
-
* @param string
|
64 |
-
* @param array
|
65 |
-
* @param array|string
|
|
|
|
|
66 |
*
|
67 |
* @return \Stripe\StripeObject
|
68 |
*/
|
69 |
protected static function _retrieveNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
|
70 |
{
|
71 |
$url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
|
|
|
72 |
return self::_nestedResourceOperation('get', $url, $params, $options);
|
73 |
}
|
74 |
|
75 |
/**
|
76 |
* @param string $id
|
77 |
* @param string $nestedPath
|
78 |
-
* @param string
|
79 |
-
* @param array
|
80 |
-
* @param array|string
|
|
|
|
|
81 |
*
|
82 |
* @return \Stripe\StripeObject
|
83 |
*/
|
84 |
protected static function _updateNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
|
85 |
{
|
86 |
$url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
|
|
|
87 |
return self::_nestedResourceOperation('post', $url, $params, $options);
|
88 |
}
|
89 |
|
90 |
/**
|
91 |
* @param string $id
|
92 |
* @param string $nestedPath
|
93 |
-
* @param string
|
94 |
-
* @param array
|
95 |
-
* @param array|string
|
|
|
|
|
96 |
*
|
97 |
* @return \Stripe\StripeObject
|
98 |
*/
|
99 |
protected static function _deleteNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
|
100 |
{
|
101 |
$url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
|
|
|
102 |
return self::_nestedResourceOperation('delete', $url, $params, $options);
|
103 |
}
|
104 |
|
105 |
/**
|
106 |
* @param string $id
|
107 |
* @param string $nestedPath
|
108 |
-
* @param array
|
109 |
-
* @param array|string
|
|
|
|
|
110 |
*
|
111 |
* @return \Stripe\StripeObject
|
112 |
*/
|
113 |
protected static function _allNestedResources($id, $nestedPath, $params = null, $options = null)
|
114 |
{
|
115 |
$url = static::_nestedResourceUrl($id, $nestedPath);
|
|
|
116 |
return self::_nestedResourceOperation('get', $url, $params, $options);
|
117 |
}
|
118 |
}
|
12 |
/**
|
13 |
* @param string $method
|
14 |
* @param string $url
|
15 |
+
* @param null|array $params
|
16 |
+
* @param null|array|string $options
|
17 |
*
|
18 |
* @return \Stripe\StripeObject
|
19 |
*/
|
24 |
list($response, $opts) = static::_staticRequest($method, $url, $params, $options);
|
25 |
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
|
26 |
$obj->setLastResponse($response);
|
27 |
+
|
28 |
return $obj;
|
29 |
}
|
30 |
|
31 |
/**
|
32 |
* @param string $id
|
33 |
* @param string $nestedPath
|
34 |
+
* @param null|string $nestedId
|
35 |
*
|
36 |
* @return string
|
37 |
*/
|
38 |
protected static function _nestedResourceUrl($id, $nestedPath, $nestedId = null)
|
39 |
{
|
40 |
$url = static::resourceUrl($id) . $nestedPath;
|
41 |
+
if (null !== $nestedId) {
|
42 |
+
$url .= "/{$nestedId}";
|
43 |
}
|
44 |
+
|
45 |
return $url;
|
46 |
}
|
47 |
|
48 |
/**
|
49 |
* @param string $id
|
50 |
* @param string $nestedPath
|
51 |
+
* @param null|array $params
|
52 |
+
* @param null|array|string $options
|
53 |
+
*
|
54 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
55 |
*
|
56 |
* @return \Stripe\StripeObject
|
57 |
*/
|
58 |
protected static function _createNestedResource($id, $nestedPath, $params = null, $options = null)
|
59 |
{
|
60 |
$url = static::_nestedResourceUrl($id, $nestedPath);
|
61 |
+
|
62 |
return self::_nestedResourceOperation('post', $url, $params, $options);
|
63 |
}
|
64 |
|
65 |
/**
|
66 |
* @param string $id
|
67 |
* @param string $nestedPath
|
68 |
+
* @param null|string $nestedId
|
69 |
+
* @param null|array $params
|
70 |
+
* @param null|array|string $options
|
71 |
+
*
|
72 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
73 |
*
|
74 |
* @return \Stripe\StripeObject
|
75 |
*/
|
76 |
protected static function _retrieveNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
|
77 |
{
|
78 |
$url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
|
79 |
+
|
80 |
return self::_nestedResourceOperation('get', $url, $params, $options);
|
81 |
}
|
82 |
|
83 |
/**
|
84 |
* @param string $id
|
85 |
* @param string $nestedPath
|
86 |
+
* @param null|string $nestedId
|
87 |
+
* @param null|array $params
|
88 |
+
* @param null|array|string $options
|
89 |
+
*
|
90 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
91 |
*
|
92 |
* @return \Stripe\StripeObject
|
93 |
*/
|
94 |
protected static function _updateNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
|
95 |
{
|
96 |
$url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
|
97 |
+
|
98 |
return self::_nestedResourceOperation('post', $url, $params, $options);
|
99 |
}
|
100 |
|
101 |
/**
|
102 |
* @param string $id
|
103 |
* @param string $nestedPath
|
104 |
+
* @param null|string $nestedId
|
105 |
+
* @param null|array $params
|
106 |
+
* @param null|array|string $options
|
107 |
+
*
|
108 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
109 |
*
|
110 |
* @return \Stripe\StripeObject
|
111 |
*/
|
112 |
protected static function _deleteNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
|
113 |
{
|
114 |
$url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
|
115 |
+
|
116 |
return self::_nestedResourceOperation('delete', $url, $params, $options);
|
117 |
}
|
118 |
|
119 |
/**
|
120 |
* @param string $id
|
121 |
* @param string $nestedPath
|
122 |
+
* @param null|array $params
|
123 |
+
* @param null|array|string $options
|
124 |
+
*
|
125 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
126 |
*
|
127 |
* @return \Stripe\StripeObject
|
128 |
*/
|
129 |
protected static function _allNestedResources($id, $nestedPath, $params = null, $options = null)
|
130 |
{
|
131 |
$url = static::_nestedResourceUrl($id, $nestedPath);
|
132 |
+
|
133 |
return self::_nestedResourceOperation('get', $url, $params, $options);
|
134 |
}
|
135 |
}
|
lib/stripe-gateway/lib/ApiOperations/Request.php
CHANGED
@@ -10,18 +10,19 @@ namespace Stripe\ApiOperations;
|
|
10 |
trait Request
|
11 |
{
|
12 |
/**
|
13 |
-
* @param array|
|
14 |
*
|
15 |
-
* @throws \Stripe\
|
16 |
*/
|
17 |
protected static function _validateParams($params = null)
|
18 |
{
|
19 |
-
if ($params &&
|
20 |
-
$message =
|
21 |
-
.
|
22 |
. "would be: \"Stripe\\Charge::create(['amount' => 100, "
|
23 |
. "'currency' => 'usd', 'source' => 'tok_1234'])\")";
|
24 |
-
|
|
|
25 |
}
|
26 |
}
|
27 |
|
@@ -29,7 +30,9 @@ trait Request
|
|
29 |
* @param string $method HTTP method ('get', 'post', etc.)
|
30 |
* @param string $url URL for the request
|
31 |
* @param array $params list of parameters for the request
|
32 |
-
* @param array|string
|
|
|
|
|
33 |
*
|
34 |
* @return array tuple containing (the JSON response, $options)
|
35 |
*/
|
@@ -38,6 +41,7 @@ trait Request
|
|
38 |
$opts = $this->_opts->merge($options);
|
39 |
list($resp, $options) = static::_staticRequest($method, $url, $params, $opts);
|
40 |
$this->setLastResponse($resp);
|
|
|
41 |
return [$resp->json, $options];
|
42 |
}
|
43 |
|
@@ -45,7 +49,9 @@ trait Request
|
|
45 |
* @param string $method HTTP method ('get', 'post', etc.)
|
46 |
* @param string $url URL for the request
|
47 |
* @param array $params list of parameters for the request
|
48 |
-
* @param array|string
|
|
|
|
|
49 |
*
|
50 |
* @return array tuple containing (the JSON response, $options)
|
51 |
*/
|
@@ -56,6 +62,7 @@ trait Request
|
|
56 |
$requestor = new \Stripe\ApiRequestor($opts->apiKey, $baseUrl);
|
57 |
list($response, $opts->apiKey) = $requestor->request($method, $url, $params, $opts->headers);
|
58 |
$opts->discardNonPersistentHeaders();
|
|
|
59 |
return [$response, $opts];
|
60 |
}
|
61 |
}
|
10 |
trait Request
|
11 |
{
|
12 |
/**
|
13 |
+
* @param null|array|mixed $params The list of parameters to validate
|
14 |
*
|
15 |
+
* @throws \Stripe\Exception\InvalidArgumentException if $params exists and is not an array
|
16 |
*/
|
17 |
protected static function _validateParams($params = null)
|
18 |
{
|
19 |
+
if ($params && !\is_array($params)) {
|
20 |
+
$message = 'You must pass an array as the first argument to Stripe API '
|
21 |
+
. 'method calls. (HINT: an example call to create a charge '
|
22 |
. "would be: \"Stripe\\Charge::create(['amount' => 100, "
|
23 |
. "'currency' => 'usd', 'source' => 'tok_1234'])\")";
|
24 |
+
|
25 |
+
throw new \Stripe\Exception\InvalidArgumentException($message);
|
26 |
}
|
27 |
}
|
28 |
|
30 |
* @param string $method HTTP method ('get', 'post', etc.)
|
31 |
* @param string $url URL for the request
|
32 |
* @param array $params list of parameters for the request
|
33 |
+
* @param null|array|string $options
|
34 |
+
*
|
35 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
36 |
*
|
37 |
* @return array tuple containing (the JSON response, $options)
|
38 |
*/
|
41 |
$opts = $this->_opts->merge($options);
|
42 |
list($resp, $options) = static::_staticRequest($method, $url, $params, $opts);
|
43 |
$this->setLastResponse($resp);
|
44 |
+
|
45 |
return [$resp->json, $options];
|
46 |
}
|
47 |
|
49 |
* @param string $method HTTP method ('get', 'post', etc.)
|
50 |
* @param string $url URL for the request
|
51 |
* @param array $params list of parameters for the request
|
52 |
+
* @param null|array|string $options
|
53 |
+
*
|
54 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
55 |
*
|
56 |
* @return array tuple containing (the JSON response, $options)
|
57 |
*/
|
62 |
$requestor = new \Stripe\ApiRequestor($opts->apiKey, $baseUrl);
|
63 |
list($response, $opts->apiKey) = $requestor->request($method, $url, $params, $opts->headers);
|
64 |
$opts->discardNonPersistentHeaders();
|
65 |
+
|
66 |
return [$response, $opts];
|
67 |
}
|
68 |
}
|
lib/stripe-gateway/lib/ApiOperations/Retrieve.php
CHANGED
@@ -11,9 +11,11 @@ namespace Stripe\ApiOperations;
|
|
11 |
trait Retrieve
|
12 |
{
|
13 |
/**
|
14 |
-
* @param array|string $id
|
15 |
-
* or an options array containing an `id` key
|
16 |
-
* @param array|string
|
|
|
|
|
17 |
*
|
18 |
* @return static
|
19 |
*/
|
@@ -22,6 +24,7 @@ trait Retrieve
|
|
22 |
$opts = \Stripe\Util\RequestOptions::parse($opts);
|
23 |
$instance = new static($id, $opts);
|
24 |
$instance->refresh();
|
|
|
25 |
return $instance;
|
26 |
}
|
27 |
}
|
11 |
trait Retrieve
|
12 |
{
|
13 |
/**
|
14 |
+
* @param array|string $id the ID of the API resource to retrieve,
|
15 |
+
* or an options array containing an `id` key
|
16 |
+
* @param null|array|string $opts
|
17 |
+
*
|
18 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
19 |
*
|
20 |
* @return static
|
21 |
*/
|
24 |
$opts = \Stripe\Util\RequestOptions::parse($opts);
|
25 |
$instance = new static($id, $opts);
|
26 |
$instance->refresh();
|
27 |
+
|
28 |
return $instance;
|
29 |
}
|
30 |
}
|
lib/stripe-gateway/lib/ApiOperations/Update.php
CHANGED
@@ -11,11 +11,13 @@ namespace Stripe\ApiOperations;
|
|
11 |
trait Update
|
12 |
{
|
13 |
/**
|
14 |
-
* @param string $id
|
15 |
-
* @param array
|
16 |
-
* @param array|string
|
17 |
*
|
18 |
-
* @
|
|
|
|
|
19 |
*/
|
20 |
public static function update($id, $params = null, $opts = null)
|
21 |
{
|
@@ -25,22 +27,26 @@ trait Update
|
|
25 |
list($response, $opts) = static::_staticRequest('post', $url, $params, $opts);
|
26 |
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
|
27 |
$obj->setLastResponse($response);
|
|
|
28 |
return $obj;
|
29 |
}
|
30 |
|
31 |
/**
|
32 |
-
* @param array|string
|
33 |
*
|
34 |
-
* @
|
|
|
|
|
35 |
*/
|
36 |
public function save($opts = null)
|
37 |
{
|
38 |
$params = $this->serializeParameters();
|
39 |
-
if (count($params) > 0) {
|
40 |
$url = $this->instanceUrl();
|
41 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
42 |
$this->refreshFrom($response, $opts);
|
43 |
}
|
|
|
44 |
return $this;
|
45 |
}
|
46 |
}
|
11 |
trait Update
|
12 |
{
|
13 |
/**
|
14 |
+
* @param string $id the ID of the resource to update
|
15 |
+
* @param null|array $params
|
16 |
+
* @param null|array|string $opts
|
17 |
*
|
18 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
19 |
+
*
|
20 |
+
* @return static the updated resource
|
21 |
*/
|
22 |
public static function update($id, $params = null, $opts = null)
|
23 |
{
|
27 |
list($response, $opts) = static::_staticRequest('post', $url, $params, $opts);
|
28 |
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
|
29 |
$obj->setLastResponse($response);
|
30 |
+
|
31 |
return $obj;
|
32 |
}
|
33 |
|
34 |
/**
|
35 |
+
* @param null|array|string $opts
|
36 |
*
|
37 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
38 |
+
*
|
39 |
+
* @return static the saved resource
|
40 |
*/
|
41 |
public function save($opts = null)
|
42 |
{
|
43 |
$params = $this->serializeParameters();
|
44 |
+
if (\count($params) > 0) {
|
45 |
$url = $this->instanceUrl();
|
46 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
47 |
$this->refreshFrom($response, $opts);
|
48 |
}
|
49 |
+
|
50 |
return $this;
|
51 |
}
|
52 |
}
|
lib/stripe-gateway/lib/ApiRequestor.php
CHANGED
@@ -3,14 +3,12 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
* Class ApiRequestor
|
7 |
-
*
|
8 |
-
* @package Stripe
|
9 |
*/
|
10 |
class ApiRequestor
|
11 |
{
|
12 |
/**
|
13 |
-
* @var string
|
14 |
*/
|
15 |
private $_apiKey;
|
16 |
|
@@ -32,8 +30,8 @@ class ApiRequestor
|
|
32 |
/**
|
33 |
* ApiRequestor constructor.
|
34 |
*
|
35 |
-
* @param string
|
36 |
-
* @param string
|
37 |
*/
|
38 |
public function __construct($apiKey = null, $apiBase = null)
|
39 |
{
|
@@ -45,77 +43,71 @@ class ApiRequestor
|
|
45 |
}
|
46 |
|
47 |
/**
|
48 |
-
* Creates a telemetry json blob for use in 'X-Stripe-Client-Telemetry' headers
|
|
|
49 |
* @static
|
50 |
*
|
51 |
* @param RequestTelemetry $requestTelemetry
|
|
|
52 |
* @return string
|
53 |
*/
|
54 |
private static function _telemetryJson($requestTelemetry)
|
55 |
{
|
56 |
-
$payload =
|
57 |
-
'last_request_metrics' =>
|
58 |
'request_id' => $requestTelemetry->requestId,
|
59 |
'request_duration_ms' => $requestTelemetry->requestDuration,
|
60 |
-
|
|
|
61 |
|
62 |
-
$result = json_encode($payload);
|
63 |
-
if ($result
|
64 |
return $result;
|
65 |
-
} else {
|
66 |
-
Stripe::getLogger()->error("Serializing telemetry payload failed!");
|
67 |
-
return "{}";
|
68 |
}
|
|
|
|
|
|
|
69 |
}
|
70 |
|
71 |
/**
|
72 |
* @static
|
73 |
*
|
74 |
-
* @param ApiResource|bool|
|
75 |
*
|
76 |
-
* @return ApiResource|array|string
|
77 |
*/
|
78 |
private static function _encodeObjects($d)
|
79 |
{
|
80 |
if ($d instanceof ApiResource) {
|
81 |
return Util\Util::utf8($d->id);
|
82 |
-
}
|
|
|
83 |
return 'true';
|
84 |
-
}
|
|
|
85 |
return 'false';
|
86 |
-
}
|
|
|
87 |
$res = [];
|
88 |
foreach ($d as $k => $v) {
|
89 |
$res[$k] = self::_encodeObjects($v);
|
90 |
}
|
|
|
91 |
return $res;
|
92 |
-
} else {
|
93 |
-
return Util\Util::utf8($d);
|
94 |
}
|
|
|
|
|
95 |
}
|
96 |
|
97 |
/**
|
98 |
* @param string $method
|
99 |
* @param string $url
|
100 |
-
* @param array
|
101 |
-
* @param array
|
|
|
|
|
102 |
*
|
103 |
-
* @return array
|
104 |
-
* element is the API key used to make the request.
|
105 |
-
* @throws Error\Api
|
106 |
-
* @throws Error\Authentication
|
107 |
-
* @throws Error\Card
|
108 |
-
* @throws Error\InvalidRequest
|
109 |
-
* @throws Error\OAuth\InvalidClient
|
110 |
-
* @throws Error\OAuth\InvalidGrant
|
111 |
-
* @throws Error\OAuth\InvalidRequest
|
112 |
-
* @throws Error\OAuth\InvalidScope
|
113 |
-
* @throws Error\OAuth\UnsupportedGrantType
|
114 |
-
* @throws Error\OAuth\UnsupportedResponseType
|
115 |
-
* @throws Error\Permission
|
116 |
-
* @throws Error\RateLimit
|
117 |
-
* @throws Error\Idempotency
|
118 |
-
* @throws Error\ApiConnection
|
119 |
*/
|
120 |
public function request($method, $url, $params = null, $headers = null)
|
121 |
{
|
@@ -125,48 +117,32 @@ class ApiRequestor
|
|
125 |
$this->_requestRaw($method, $url, $params, $headers);
|
126 |
$json = $this->_interpretResponse($rbody, $rcode, $rheaders);
|
127 |
$resp = new ApiResponse($rbody, $rcode, $rheaders, $json);
|
|
|
128 |
return [$resp, $myApiKey];
|
129 |
}
|
130 |
|
131 |
/**
|
132 |
-
* @param string $rbody
|
133 |
* @param int $rcode
|
134 |
* @param array $rheaders
|
135 |
* @param array $resp
|
136 |
*
|
137 |
-
* @throws
|
138 |
-
* @throws
|
139 |
-
* permissions.
|
140 |
-
* @throws Error\Permission if the error is caused by insufficient
|
141 |
-
* permissions.
|
142 |
-
* @throws Error\Card if the error is the error code is 402 (payment
|
143 |
-
* required)
|
144 |
-
* @throws Error\InvalidRequest if the error is caused by the user.
|
145 |
-
* @throws Error\Idempotency if the error is caused by an idempotency key.
|
146 |
-
* @throws Error\OAuth\InvalidClient
|
147 |
-
* @throws Error\OAuth\InvalidGrant
|
148 |
-
* @throws Error\OAuth\InvalidRequest
|
149 |
-
* @throws Error\OAuth\InvalidScope
|
150 |
-
* @throws Error\OAuth\UnsupportedGrantType
|
151 |
-
* @throws Error\OAuth\UnsupportedResponseType
|
152 |
-
* @throws Error\Permission if the error is caused by insufficient
|
153 |
-
* permissions.
|
154 |
-
* @throws Error\RateLimit if the error is caused by too many requests
|
155 |
-
* hitting the API.
|
156 |
-
* @throws Error\Api otherwise.
|
157 |
*/
|
158 |
public function handleErrorResponse($rbody, $rcode, $rheaders, $resp)
|
159 |
{
|
160 |
-
if (
|
161 |
-
$msg = "Invalid response object from API: $rbody "
|
162 |
-
. "(HTTP response code was $rcode)";
|
163 |
-
|
|
|
164 |
}
|
165 |
|
166 |
$errorData = $resp['error'];
|
167 |
|
168 |
$error = null;
|
169 |
-
if (is_string($errorData)) {
|
170 |
$error = self::_specificOAuthError($rbody, $rcode, $rheaders, $resp, $errorData);
|
171 |
}
|
172 |
if (!$error) {
|
@@ -185,7 +161,7 @@ class ApiRequestor
|
|
185 |
* @param array $resp
|
186 |
* @param array $errorData
|
187 |
*
|
188 |
-
* @return
|
189 |
*/
|
190 |
private static function _specificAPIError($rbody, $rcode, $rheaders, $resp, $errorData)
|
191 |
{
|
@@ -193,44 +169,45 @@ class ApiRequestor
|
|
193 |
$param = isset($errorData['param']) ? $errorData['param'] : null;
|
194 |
$code = isset($errorData['code']) ? $errorData['code'] : null;
|
195 |
$type = isset($errorData['type']) ? $errorData['type'] : null;
|
|
|
196 |
|
197 |
switch ($rcode) {
|
198 |
case 400:
|
199 |
// 'rate_limit' code is deprecated, but left here for backwards compatibility
|
200 |
// for API versions earlier than 2015-09-08
|
201 |
-
if (
|
202 |
-
return
|
203 |
}
|
204 |
-
if (
|
205 |
-
return
|
206 |
}
|
207 |
|
208 |
// no break
|
209 |
case 404:
|
210 |
-
return
|
211 |
case 401:
|
212 |
-
return
|
213 |
case 402:
|
214 |
-
return
|
215 |
case 403:
|
216 |
-
return
|
217 |
case 429:
|
218 |
-
return
|
219 |
default:
|
220 |
-
return
|
221 |
}
|
222 |
}
|
223 |
|
224 |
/**
|
225 |
* @static
|
226 |
*
|
227 |
-
* @param string
|
228 |
* @param int $rcode
|
229 |
* @param array $rheaders
|
230 |
* @param array $resp
|
231 |
* @param string $errorCode
|
232 |
*
|
233 |
-
* @return
|
234 |
*/
|
235 |
private static function _specificOAuthError($rbody, $rcode, $rheaders, $resp, $errorCode)
|
236 |
{
|
@@ -238,20 +215,20 @@ class ApiRequestor
|
|
238 |
|
239 |
switch ($errorCode) {
|
240 |
case 'invalid_client':
|
241 |
-
return
|
242 |
case 'invalid_grant':
|
243 |
-
return
|
244 |
case 'invalid_request':
|
245 |
-
return
|
246 |
case 'invalid_scope':
|
247 |
-
return
|
248 |
case 'unsupported_grant_type':
|
249 |
-
return
|
250 |
case 'unsupported_response_type':
|
251 |
-
return
|
|
|
|
|
252 |
}
|
253 |
-
|
254 |
-
return null;
|
255 |
}
|
256 |
|
257 |
/**
|
@@ -263,18 +240,19 @@ class ApiRequestor
|
|
263 |
*/
|
264 |
private static function _formatAppInfo($appInfo)
|
265 |
{
|
266 |
-
if (
|
267 |
$string = $appInfo['name'];
|
268 |
-
if ($appInfo['version']
|
269 |
$string .= '/' . $appInfo['version'];
|
270 |
}
|
271 |
-
if ($appInfo['url']
|
272 |
$string .= ' (' . $appInfo['url'] . ')';
|
273 |
}
|
|
|
274 |
return $string;
|
275 |
-
} else {
|
276 |
-
return null;
|
277 |
}
|
|
|
|
|
278 |
}
|
279 |
|
280 |
/**
|
@@ -289,8 +267,9 @@ class ApiRequestor
|
|
289 |
{
|
290 |
$uaString = 'Stripe/v1 PhpBindings/' . Stripe::VERSION;
|
291 |
|
292 |
-
$langVersion =
|
293 |
-
$
|
|
|
294 |
|
295 |
$appInfo = Stripe::getAppInfo();
|
296 |
$ua = [
|
@@ -301,31 +280,30 @@ class ApiRequestor
|
|
301 |
'uname' => $uname,
|
302 |
];
|
303 |
if ($clientInfo) {
|
304 |
-
$ua = array_merge($clientInfo, $ua);
|
305 |
}
|
306 |
-
if (
|
307 |
$uaString .= ' ' . self::_formatAppInfo($appInfo);
|
308 |
$ua['application'] = $appInfo;
|
309 |
}
|
310 |
|
311 |
-
|
312 |
-
'X-Stripe-Client-User-Agent' => json_encode($ua),
|
313 |
'User-Agent' => $uaString,
|
314 |
'Authorization' => 'Bearer ' . $apiKey,
|
315 |
];
|
316 |
-
return $defaultHeaders;
|
317 |
}
|
318 |
|
319 |
/**
|
320 |
* @param string $method
|
321 |
* @param string $url
|
322 |
-
* @param array
|
323 |
-
* @param array
|
|
|
|
|
|
|
324 |
*
|
325 |
* @return array
|
326 |
-
* @throws Error\Api
|
327 |
-
* @throws Error\ApiConnection
|
328 |
-
* @throws Error\Authentication
|
329 |
*/
|
330 |
private function _requestRaw($method, $url, $params, $headers)
|
331 |
{
|
@@ -339,18 +317,19 @@ class ApiRequestor
|
|
339 |
. '"Stripe::setApiKey(<API-KEY>)". You can generate API keys from '
|
340 |
. 'the Stripe web interface. See https://stripe.com/api for '
|
341 |
. 'details, or email support@stripe.com if you have any questions.';
|
342 |
-
|
|
|
343 |
}
|
344 |
|
345 |
// Clients can supply arbitrary additional keys to be included in the
|
346 |
// X-Stripe-Client-User-Agent header via the optional getUserAgentInfo()
|
347 |
// method
|
348 |
$clientUAInfo = null;
|
349 |
-
if (method_exists($this->httpClient(), 'getUserAgentInfo')) {
|
350 |
$clientUAInfo = $this->httpClient()->getUserAgentInfo();
|
351 |
}
|
352 |
|
353 |
-
$absUrl = $this->_apiBase
|
354 |
$params = self::_encodeObjects($params);
|
355 |
$defaultHeaders = $this->_defaultHeaders($myApiKey, $clientUAInfo);
|
356 |
if (Stripe::$apiVersion) {
|
@@ -361,17 +340,16 @@ class ApiRequestor
|
|
361 |
$defaultHeaders['Stripe-Account'] = Stripe::$accountId;
|
362 |
}
|
363 |
|
364 |
-
if (Stripe::$enableTelemetry && self::$requestTelemetry
|
365 |
-
$defaultHeaders[
|
366 |
}
|
367 |
|
368 |
$hasFile = false;
|
369 |
-
$hasCurlFile = class_exists('\CURLFile', false);
|
370 |
foreach ($params as $k => $v) {
|
371 |
-
if (is_resource($v)) {
|
372 |
$hasFile = true;
|
373 |
-
$params[$k] = self::_processResourceParam($v
|
374 |
-
} elseif ($
|
375 |
$hasFile = true;
|
376 |
}
|
377 |
}
|
@@ -382,7 +360,7 @@ class ApiRequestor
|
|
382 |
$defaultHeaders['Content-Type'] = 'application/x-www-form-urlencoded';
|
383 |
}
|
384 |
|
385 |
-
$combinedHeaders = array_merge($defaultHeaders, $headers);
|
386 |
$rawHeaders = [];
|
387 |
|
388 |
foreach ($combinedHeaders as $header => $value) {
|
@@ -399,9 +377,9 @@ class ApiRequestor
|
|
399 |
$hasFile
|
400 |
);
|
401 |
|
402 |
-
if (
|
403 |
self::$requestTelemetry = new RequestTelemetry(
|
404 |
-
$rheaders['request-id'],
|
405 |
Util\Util::currentTimeMillis() - $requestStartMs
|
406 |
);
|
407 |
}
|
@@ -411,32 +389,28 @@ class ApiRequestor
|
|
411 |
|
412 |
/**
|
413 |
* @param resource $resource
|
414 |
-
*
|
|
|
415 |
*
|
416 |
* @return \CURLFile|string
|
417 |
-
* @throws Error\Api
|
418 |
*/
|
419 |
-
private function _processResourceParam($resource
|
420 |
{
|
421 |
-
if (get_resource_type($resource)
|
422 |
-
throw new
|
423 |
'Attempted to upload a resource that is not a stream'
|
424 |
);
|
425 |
}
|
426 |
|
427 |
-
$metaData = stream_get_meta_data($resource);
|
428 |
-
if ($metaData['wrapper_type']
|
429 |
-
throw new
|
430 |
'Only plainfile resource streams are supported'
|
431 |
);
|
432 |
}
|
433 |
|
434 |
-
|
435 |
-
|
436 |
-
return new \CURLFile($metaData['uri']);
|
437 |
-
} else {
|
438 |
-
return '@'.$metaData['uri'];
|
439 |
-
}
|
440 |
}
|
441 |
|
442 |
/**
|
@@ -444,34 +418,26 @@ class ApiRequestor
|
|
444 |
* @param int $rcode
|
445 |
* @param array $rheaders
|
446 |
*
|
447 |
-
* @
|
448 |
-
* @throws
|
449 |
-
*
|
450 |
-
* @
|
451 |
-
* @throws Error\InvalidRequest
|
452 |
-
* @throws Error\OAuth\InvalidClient
|
453 |
-
* @throws Error\OAuth\InvalidGrant
|
454 |
-
* @throws Error\OAuth\InvalidRequest
|
455 |
-
* @throws Error\OAuth\InvalidScope
|
456 |
-
* @throws Error\OAuth\UnsupportedGrantType
|
457 |
-
* @throws Error\OAuth\UnsupportedResponseType
|
458 |
-
* @throws Error\Permission
|
459 |
-
* @throws Error\RateLimit
|
460 |
-
* @throws Error\Idempotency
|
461 |
*/
|
462 |
private function _interpretResponse($rbody, $rcode, $rheaders)
|
463 |
{
|
464 |
-
$resp = json_decode($rbody, true);
|
465 |
-
$jsonError = json_last_error();
|
466 |
-
if (
|
467 |
-
$msg = "Invalid response body from API: $rbody "
|
468 |
-
. "(HTTP response code was $rcode, json_last_error() was $jsonError)";
|
469 |
-
|
|
|
470 |
}
|
471 |
|
472 |
if ($rcode < 200 || $rcode >= 300) {
|
473 |
$this->handleErrorResponse($rbody, $rcode, $rheaders, $resp);
|
474 |
}
|
|
|
475 |
return $resp;
|
476 |
}
|
477 |
|
@@ -503,6 +469,7 @@ class ApiRequestor
|
|
503 |
if (!self::$_httpClient) {
|
504 |
self::$_httpClient = HttpClient\CurlClient::instance();
|
505 |
}
|
|
|
506 |
return self::$_httpClient;
|
507 |
}
|
508 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Class ApiRequestor.
|
|
|
|
|
7 |
*/
|
8 |
class ApiRequestor
|
9 |
{
|
10 |
/**
|
11 |
+
* @var null|string
|
12 |
*/
|
13 |
private $_apiKey;
|
14 |
|
30 |
/**
|
31 |
* ApiRequestor constructor.
|
32 |
*
|
33 |
+
* @param null|string $apiKey
|
34 |
+
* @param null|string $apiBase
|
35 |
*/
|
36 |
public function __construct($apiKey = null, $apiBase = null)
|
37 |
{
|
43 |
}
|
44 |
|
45 |
/**
|
46 |
+
* Creates a telemetry json blob for use in 'X-Stripe-Client-Telemetry' headers.
|
47 |
+
*
|
48 |
* @static
|
49 |
*
|
50 |
* @param RequestTelemetry $requestTelemetry
|
51 |
+
*
|
52 |
* @return string
|
53 |
*/
|
54 |
private static function _telemetryJson($requestTelemetry)
|
55 |
{
|
56 |
+
$payload = [
|
57 |
+
'last_request_metrics' => [
|
58 |
'request_id' => $requestTelemetry->requestId,
|
59 |
'request_duration_ms' => $requestTelemetry->requestDuration,
|
60 |
+
],
|
61 |
+
];
|
62 |
|
63 |
+
$result = \json_encode($payload);
|
64 |
+
if (false !== $result) {
|
65 |
return $result;
|
|
|
|
|
|
|
66 |
}
|
67 |
+
Stripe::getLogger()->error('Serializing telemetry payload failed!');
|
68 |
+
|
69 |
+
return '{}';
|
70 |
}
|
71 |
|
72 |
/**
|
73 |
* @static
|
74 |
*
|
75 |
+
* @param ApiResource|array|bool|mixed $d
|
76 |
*
|
77 |
+
* @return ApiResource|array|mixed|string
|
78 |
*/
|
79 |
private static function _encodeObjects($d)
|
80 |
{
|
81 |
if ($d instanceof ApiResource) {
|
82 |
return Util\Util::utf8($d->id);
|
83 |
+
}
|
84 |
+
if (true === $d) {
|
85 |
return 'true';
|
86 |
+
}
|
87 |
+
if (false === $d) {
|
88 |
return 'false';
|
89 |
+
}
|
90 |
+
if (\is_array($d)) {
|
91 |
$res = [];
|
92 |
foreach ($d as $k => $v) {
|
93 |
$res[$k] = self::_encodeObjects($v);
|
94 |
}
|
95 |
+
|
96 |
return $res;
|
|
|
|
|
97 |
}
|
98 |
+
|
99 |
+
return Util\Util::utf8($d);
|
100 |
}
|
101 |
|
102 |
/**
|
103 |
* @param string $method
|
104 |
* @param string $url
|
105 |
+
* @param null|array $params
|
106 |
+
* @param null|array $headers
|
107 |
+
*
|
108 |
+
* @throws Exception\ApiErrorException
|
109 |
*
|
110 |
+
* @return array tuple containing (ApiReponse, API key)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
*/
|
112 |
public function request($method, $url, $params = null, $headers = null)
|
113 |
{
|
117 |
$this->_requestRaw($method, $url, $params, $headers);
|
118 |
$json = $this->_interpretResponse($rbody, $rcode, $rheaders);
|
119 |
$resp = new ApiResponse($rbody, $rcode, $rheaders, $json);
|
120 |
+
|
121 |
return [$resp, $myApiKey];
|
122 |
}
|
123 |
|
124 |
/**
|
125 |
+
* @param string $rbody a JSON string
|
126 |
* @param int $rcode
|
127 |
* @param array $rheaders
|
128 |
* @param array $resp
|
129 |
*
|
130 |
+
* @throws Exception\UnexpectedValueException
|
131 |
+
* @throws Exception\ApiErrorException
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
*/
|
133 |
public function handleErrorResponse($rbody, $rcode, $rheaders, $resp)
|
134 |
{
|
135 |
+
if (!\is_array($resp) || !isset($resp['error'])) {
|
136 |
+
$msg = "Invalid response object from API: {$rbody} "
|
137 |
+
. "(HTTP response code was {$rcode})";
|
138 |
+
|
139 |
+
throw new Exception\UnexpectedValueException($msg);
|
140 |
}
|
141 |
|
142 |
$errorData = $resp['error'];
|
143 |
|
144 |
$error = null;
|
145 |
+
if (\is_string($errorData)) {
|
146 |
$error = self::_specificOAuthError($rbody, $rcode, $rheaders, $resp, $errorData);
|
147 |
}
|
148 |
if (!$error) {
|
161 |
* @param array $resp
|
162 |
* @param array $errorData
|
163 |
*
|
164 |
+
* @return Exception\ApiErrorException
|
165 |
*/
|
166 |
private static function _specificAPIError($rbody, $rcode, $rheaders, $resp, $errorData)
|
167 |
{
|
169 |
$param = isset($errorData['param']) ? $errorData['param'] : null;
|
170 |
$code = isset($errorData['code']) ? $errorData['code'] : null;
|
171 |
$type = isset($errorData['type']) ? $errorData['type'] : null;
|
172 |
+
$declineCode = isset($errorData['decline_code']) ? $errorData['decline_code'] : null;
|
173 |
|
174 |
switch ($rcode) {
|
175 |
case 400:
|
176 |
// 'rate_limit' code is deprecated, but left here for backwards compatibility
|
177 |
// for API versions earlier than 2015-09-08
|
178 |
+
if ('rate_limit' === $code) {
|
179 |
+
return Exception\RateLimitException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code, $param);
|
180 |
}
|
181 |
+
if ('idempotency_error' === $type) {
|
182 |
+
return Exception\IdempotencyException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code);
|
183 |
}
|
184 |
|
185 |
// no break
|
186 |
case 404:
|
187 |
+
return Exception\InvalidRequestException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code, $param);
|
188 |
case 401:
|
189 |
+
return Exception\AuthenticationException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code);
|
190 |
case 402:
|
191 |
+
return Exception\CardException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code, $declineCode, $param);
|
192 |
case 403:
|
193 |
+
return Exception\PermissionException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code);
|
194 |
case 429:
|
195 |
+
return Exception\RateLimitException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code, $param);
|
196 |
default:
|
197 |
+
return Exception\UnknownApiErrorException::factory($msg, $rcode, $rbody, $resp, $rheaders, $code);
|
198 |
}
|
199 |
}
|
200 |
|
201 |
/**
|
202 |
* @static
|
203 |
*
|
204 |
+
* @param bool|string $rbody
|
205 |
* @param int $rcode
|
206 |
* @param array $rheaders
|
207 |
* @param array $resp
|
208 |
* @param string $errorCode
|
209 |
*
|
210 |
+
* @return Exception\OAuth\OAuthErrorException
|
211 |
*/
|
212 |
private static function _specificOAuthError($rbody, $rcode, $rheaders, $resp, $errorCode)
|
213 |
{
|
215 |
|
216 |
switch ($errorCode) {
|
217 |
case 'invalid_client':
|
218 |
+
return Exception\OAuth\InvalidClientException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode);
|
219 |
case 'invalid_grant':
|
220 |
+
return Exception\OAuth\InvalidGrantException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode);
|
221 |
case 'invalid_request':
|
222 |
+
return Exception\OAuth\InvalidRequestException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode);
|
223 |
case 'invalid_scope':
|
224 |
+
return Exception\OAuth\InvalidScopeException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode);
|
225 |
case 'unsupported_grant_type':
|
226 |
+
return Exception\OAuth\UnsupportedGrantTypeException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode);
|
227 |
case 'unsupported_response_type':
|
228 |
+
return Exception\OAuth\UnsupportedResponseTypeException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode);
|
229 |
+
default:
|
230 |
+
return Exception\OAuth\UnknownOAuthErrorException::factory($description, $rcode, $rbody, $resp, $rheaders, $errorCode);
|
231 |
}
|
|
|
|
|
232 |
}
|
233 |
|
234 |
/**
|
240 |
*/
|
241 |
private static function _formatAppInfo($appInfo)
|
242 |
{
|
243 |
+
if (null !== $appInfo) {
|
244 |
$string = $appInfo['name'];
|
245 |
+
if (null !== $appInfo['version']) {
|
246 |
$string .= '/' . $appInfo['version'];
|
247 |
}
|
248 |
+
if (null !== $appInfo['url']) {
|
249 |
$string .= ' (' . $appInfo['url'] . ')';
|
250 |
}
|
251 |
+
|
252 |
return $string;
|
|
|
|
|
253 |
}
|
254 |
+
|
255 |
+
return null;
|
256 |
}
|
257 |
|
258 |
/**
|
267 |
{
|
268 |
$uaString = 'Stripe/v1 PhpBindings/' . Stripe::VERSION;
|
269 |
|
270 |
+
$langVersion = \PHP_VERSION;
|
271 |
+
$uname_disabled = \in_array('php_uname', \explode(',', \ini_get('disable_functions')), true);
|
272 |
+
$uname = $uname_disabled ? '(disabled)' : \php_uname();
|
273 |
|
274 |
$appInfo = Stripe::getAppInfo();
|
275 |
$ua = [
|
280 |
'uname' => $uname,
|
281 |
];
|
282 |
if ($clientInfo) {
|
283 |
+
$ua = \array_merge($clientInfo, $ua);
|
284 |
}
|
285 |
+
if (null !== $appInfo) {
|
286 |
$uaString .= ' ' . self::_formatAppInfo($appInfo);
|
287 |
$ua['application'] = $appInfo;
|
288 |
}
|
289 |
|
290 |
+
return [
|
291 |
+
'X-Stripe-Client-User-Agent' => \json_encode($ua),
|
292 |
'User-Agent' => $uaString,
|
293 |
'Authorization' => 'Bearer ' . $apiKey,
|
294 |
];
|
|
|
295 |
}
|
296 |
|
297 |
/**
|
298 |
* @param string $method
|
299 |
* @param string $url
|
300 |
+
* @param array $params
|
301 |
+
* @param array $headers
|
302 |
+
*
|
303 |
+
* @throws Exception\AuthenticationException
|
304 |
+
* @throws Exception\ApiConnectionException
|
305 |
*
|
306 |
* @return array
|
|
|
|
|
|
|
307 |
*/
|
308 |
private function _requestRaw($method, $url, $params, $headers)
|
309 |
{
|
317 |
. '"Stripe::setApiKey(<API-KEY>)". You can generate API keys from '
|
318 |
. 'the Stripe web interface. See https://stripe.com/api for '
|
319 |
. 'details, or email support@stripe.com if you have any questions.';
|
320 |
+
|
321 |
+
throw new Exception\AuthenticationException($msg);
|
322 |
}
|
323 |
|
324 |
// Clients can supply arbitrary additional keys to be included in the
|
325 |
// X-Stripe-Client-User-Agent header via the optional getUserAgentInfo()
|
326 |
// method
|
327 |
$clientUAInfo = null;
|
328 |
+
if (\method_exists($this->httpClient(), 'getUserAgentInfo')) {
|
329 |
$clientUAInfo = $this->httpClient()->getUserAgentInfo();
|
330 |
}
|
331 |
|
332 |
+
$absUrl = $this->_apiBase . $url;
|
333 |
$params = self::_encodeObjects($params);
|
334 |
$defaultHeaders = $this->_defaultHeaders($myApiKey, $clientUAInfo);
|
335 |
if (Stripe::$apiVersion) {
|
340 |
$defaultHeaders['Stripe-Account'] = Stripe::$accountId;
|
341 |
}
|
342 |
|
343 |
+
if (Stripe::$enableTelemetry && null !== self::$requestTelemetry) {
|
344 |
+
$defaultHeaders['X-Stripe-Client-Telemetry'] = self::_telemetryJson(self::$requestTelemetry);
|
345 |
}
|
346 |
|
347 |
$hasFile = false;
|
|
|
348 |
foreach ($params as $k => $v) {
|
349 |
+
if (\is_resource($v)) {
|
350 |
$hasFile = true;
|
351 |
+
$params[$k] = self::_processResourceParam($v);
|
352 |
+
} elseif ($v instanceof \CURLFile) {
|
353 |
$hasFile = true;
|
354 |
}
|
355 |
}
|
360 |
$defaultHeaders['Content-Type'] = 'application/x-www-form-urlencoded';
|
361 |
}
|
362 |
|
363 |
+
$combinedHeaders = \array_merge($defaultHeaders, $headers);
|
364 |
$rawHeaders = [];
|
365 |
|
366 |
foreach ($combinedHeaders as $header => $value) {
|
377 |
$hasFile
|
378 |
);
|
379 |
|
380 |
+
if (isset($rheaders['request-id'], $rheaders['request-id'][0])) {
|
381 |
self::$requestTelemetry = new RequestTelemetry(
|
382 |
+
$rheaders['request-id'][0],
|
383 |
Util\Util::currentTimeMillis() - $requestStartMs
|
384 |
);
|
385 |
}
|
389 |
|
390 |
/**
|
391 |
* @param resource $resource
|
392 |
+
*
|
393 |
+
* @throws Exception\InvalidArgumentException
|
394 |
*
|
395 |
* @return \CURLFile|string
|
|
|
396 |
*/
|
397 |
+
private function _processResourceParam($resource)
|
398 |
{
|
399 |
+
if ('stream' !== \get_resource_type($resource)) {
|
400 |
+
throw new Exception\InvalidArgumentException(
|
401 |
'Attempted to upload a resource that is not a stream'
|
402 |
);
|
403 |
}
|
404 |
|
405 |
+
$metaData = \stream_get_meta_data($resource);
|
406 |
+
if ('plainfile' !== $metaData['wrapper_type']) {
|
407 |
+
throw new Exception\InvalidArgumentException(
|
408 |
'Only plainfile resource streams are supported'
|
409 |
);
|
410 |
}
|
411 |
|
412 |
+
// We don't have the filename or mimetype, but the API doesn't care
|
413 |
+
return new \CURLFile($metaData['uri']);
|
|
|
|
|
|
|
|
|
414 |
}
|
415 |
|
416 |
/**
|
418 |
* @param int $rcode
|
419 |
* @param array $rheaders
|
420 |
*
|
421 |
+
* @throws Exception\UnexpectedValueException
|
422 |
+
* @throws Exception\ApiErrorException
|
423 |
+
*
|
424 |
+
* @return array
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
425 |
*/
|
426 |
private function _interpretResponse($rbody, $rcode, $rheaders)
|
427 |
{
|
428 |
+
$resp = \json_decode($rbody, true);
|
429 |
+
$jsonError = \json_last_error();
|
430 |
+
if (null === $resp && \JSON_ERROR_NONE !== $jsonError) {
|
431 |
+
$msg = "Invalid response body from API: {$rbody} "
|
432 |
+
. "(HTTP response code was {$rcode}, json_last_error() was {$jsonError})";
|
433 |
+
|
434 |
+
throw new Exception\UnexpectedValueException($msg, $rcode);
|
435 |
}
|
436 |
|
437 |
if ($rcode < 200 || $rcode >= 300) {
|
438 |
$this->handleErrorResponse($rbody, $rcode, $rheaders, $resp);
|
439 |
}
|
440 |
+
|
441 |
return $resp;
|
442 |
}
|
443 |
|
469 |
if (!self::$_httpClient) {
|
470 |
self::$_httpClient = HttpClient\CurlClient::instance();
|
471 |
}
|
472 |
+
|
473 |
return self::$_httpClient;
|
474 |
}
|
475 |
}
|
lib/stripe-gateway/lib/ApiResource.php
CHANGED
@@ -3,9 +3,7 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
* Class ApiResource
|
7 |
-
*
|
8 |
-
* @package Stripe
|
9 |
*/
|
10 |
abstract class ApiResource extends StripeObject
|
11 |
{
|
@@ -21,14 +19,15 @@ abstract class ApiResource extends StripeObject
|
|
21 |
public static function getSavedNestedResources()
|
22 |
{
|
23 |
static $savedNestedResources = null;
|
24 |
-
if (
|
25 |
$savedNestedResources = new Util\Set();
|
26 |
}
|
|
|
27 |
return $savedNestedResources;
|
28 |
}
|
29 |
|
30 |
/**
|
31 |
-
* @var
|
32 |
* resource to be encoded and sent up along with an update of its parent
|
33 |
* resource. This is usually not desirable because resources are updated
|
34 |
* individually on their own endpoints, but there are certain cases,
|
@@ -39,16 +38,17 @@ abstract class ApiResource extends StripeObject
|
|
39 |
public function __set($k, $v)
|
40 |
{
|
41 |
parent::__set($k, $v);
|
42 |
-
$v = $this
|
43 |
if ((static::getSavedNestedResources()->includes($k)) &&
|
44 |
($v instanceof ApiResource)) {
|
45 |
$v->saveWithParent = true;
|
46 |
}
|
47 |
-
return $v;
|
48 |
}
|
49 |
|
50 |
/**
|
51 |
-
* @
|
|
|
|
|
52 |
*/
|
53 |
public function refresh()
|
54 |
{
|
@@ -63,11 +63,12 @@ abstract class ApiResource extends StripeObject
|
|
63 |
);
|
64 |
$this->setLastResponse($response);
|
65 |
$this->refreshFrom($response->json, $this->_opts);
|
|
|
66 |
return $this;
|
67 |
}
|
68 |
|
69 |
/**
|
70 |
-
* @return string
|
71 |
*/
|
72 |
public static function baseUrl()
|
73 |
{
|
@@ -75,35 +76,42 @@ abstract class ApiResource extends StripeObject
|
|
75 |
}
|
76 |
|
77 |
/**
|
78 |
-
* @return string
|
79 |
*/
|
80 |
public static function classUrl()
|
81 |
{
|
82 |
// Replace dots with slashes for namespaced resources, e.g. if the object's name is
|
83 |
// "foo.bar", then its URL will be "/v1/foo/bars".
|
84 |
-
$base = str_replace('.', '/', static::OBJECT_NAME);
|
85 |
-
|
|
|
86 |
}
|
87 |
|
88 |
/**
|
89 |
-
* @
|
|
|
|
|
|
|
|
|
90 |
*/
|
91 |
public static function resourceUrl($id)
|
92 |
{
|
93 |
-
if (
|
94 |
-
$class =
|
95 |
-
$message =
|
96 |
-
. "$class instance has invalid ID: $id";
|
97 |
-
|
|
|
98 |
}
|
99 |
$id = Util\Util::utf8($id);
|
100 |
$base = static::classUrl();
|
101 |
-
$extn = urlencode($id);
|
102 |
-
|
|
|
103 |
}
|
104 |
|
105 |
/**
|
106 |
-
* @return string
|
107 |
*/
|
108 |
public function instanceUrl()
|
109 |
{
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Class ApiResource.
|
|
|
|
|
7 |
*/
|
8 |
abstract class ApiResource extends StripeObject
|
9 |
{
|
19 |
public static function getSavedNestedResources()
|
20 |
{
|
21 |
static $savedNestedResources = null;
|
22 |
+
if (null === $savedNestedResources) {
|
23 |
$savedNestedResources = new Util\Set();
|
24 |
}
|
25 |
+
|
26 |
return $savedNestedResources;
|
27 |
}
|
28 |
|
29 |
/**
|
30 |
+
* @var bool A flag that can be set a behavior that will cause this
|
31 |
* resource to be encoded and sent up along with an update of its parent
|
32 |
* resource. This is usually not desirable because resources are updated
|
33 |
* individually on their own endpoints, but there are certain cases,
|
38 |
public function __set($k, $v)
|
39 |
{
|
40 |
parent::__set($k, $v);
|
41 |
+
$v = $this->{$k};
|
42 |
if ((static::getSavedNestedResources()->includes($k)) &&
|
43 |
($v instanceof ApiResource)) {
|
44 |
$v->saveWithParent = true;
|
45 |
}
|
|
|
46 |
}
|
47 |
|
48 |
/**
|
49 |
+
* @throws Exception\ApiErrorException
|
50 |
+
*
|
51 |
+
* @return ApiResource the refreshed resource
|
52 |
*/
|
53 |
public function refresh()
|
54 |
{
|
63 |
);
|
64 |
$this->setLastResponse($response);
|
65 |
$this->refreshFrom($response->json, $this->_opts);
|
66 |
+
|
67 |
return $this;
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
+
* @return string the base URL for the given class
|
72 |
*/
|
73 |
public static function baseUrl()
|
74 |
{
|
76 |
}
|
77 |
|
78 |
/**
|
79 |
+
* @return string the endpoint URL for the given class
|
80 |
*/
|
81 |
public static function classUrl()
|
82 |
{
|
83 |
// Replace dots with slashes for namespaced resources, e.g. if the object's name is
|
84 |
// "foo.bar", then its URL will be "/v1/foo/bars".
|
85 |
+
$base = \str_replace('.', '/', static::OBJECT_NAME);
|
86 |
+
|
87 |
+
return "/v1/{$base}s";
|
88 |
}
|
89 |
|
90 |
/**
|
91 |
+
* @param null|string $id the ID of the resource
|
92 |
+
*
|
93 |
+
* @throws Exception\UnexpectedValueException if $id is null
|
94 |
+
*
|
95 |
+
* @return string the instance endpoint URL for the given class
|
96 |
*/
|
97 |
public static function resourceUrl($id)
|
98 |
{
|
99 |
+
if (null === $id) {
|
100 |
+
$class = static::class;
|
101 |
+
$message = 'Could not determine which URL to request: '
|
102 |
+
. "{$class} instance has invalid ID: {$id}";
|
103 |
+
|
104 |
+
throw new Exception\UnexpectedValueException($message);
|
105 |
}
|
106 |
$id = Util\Util::utf8($id);
|
107 |
$base = static::classUrl();
|
108 |
+
$extn = \urlencode($id);
|
109 |
+
|
110 |
+
return "{$base}/{$extn}";
|
111 |
}
|
112 |
|
113 |
/**
|
114 |
+
* @return string the full API URL for this API resource
|
115 |
*/
|
116 |
public function instanceUrl()
|
117 |
{
|
lib/stripe-gateway/lib/ApiResponse.php
CHANGED
@@ -5,24 +5,35 @@ namespace Stripe;
|
|
5 |
use Stripe\Util\CaseInsensitiveArray;
|
6 |
|
7 |
/**
|
8 |
-
* Class ApiResponse
|
9 |
-
*
|
10 |
-
* @package Stripe
|
11 |
*/
|
12 |
class ApiResponse
|
13 |
{
|
|
|
|
|
|
|
14 |
public $headers;
|
|
|
|
|
|
|
|
|
15 |
public $body;
|
|
|
|
|
|
|
|
|
16 |
public $json;
|
|
|
|
|
|
|
|
|
17 |
public $code;
|
18 |
|
19 |
/**
|
20 |
* @param string $body
|
21 |
-
* @param
|
22 |
-
* @param array|CaseInsensitiveArray
|
23 |
-
* @param array
|
24 |
-
*
|
25 |
-
* @return obj An APIResponse
|
26 |
*/
|
27 |
public function __construct($body, $code, $headers, $json)
|
28 |
{
|
5 |
use Stripe\Util\CaseInsensitiveArray;
|
6 |
|
7 |
/**
|
8 |
+
* Class ApiResponse.
|
|
|
|
|
9 |
*/
|
10 |
class ApiResponse
|
11 |
{
|
12 |
+
/**
|
13 |
+
* @var null|array|CaseInsensitiveArray
|
14 |
+
*/
|
15 |
public $headers;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* @var string
|
19 |
+
*/
|
20 |
public $body;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* @var null|array
|
24 |
+
*/
|
25 |
public $json;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @var int
|
29 |
+
*/
|
30 |
public $code;
|
31 |
|
32 |
/**
|
33 |
* @param string $body
|
34 |
+
* @param int $code
|
35 |
+
* @param null|array|CaseInsensitiveArray $headers
|
36 |
+
* @param null|array $json
|
|
|
|
|
37 |
*/
|
38 |
public function __construct($body, $code, $headers, $json)
|
39 |
{
|
lib/stripe-gateway/lib/ApplePayDomain.php
CHANGED
@@ -3,13 +3,15 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
7 |
-
*
|
8 |
-
* @
|
|
|
|
|
9 |
*/
|
10 |
class ApplePayDomain extends ApiResource
|
11 |
{
|
12 |
-
const OBJECT_NAME =
|
13 |
|
14 |
use ApiOperations\All;
|
15 |
use ApiOperations\Create;
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* @property string $id Unique identifier for the object.
|
7 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
8 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
9 |
+
* @property string $domain_name
|
10 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
11 |
*/
|
12 |
class ApplePayDomain extends ApiResource
|
13 |
{
|
14 |
+
const OBJECT_NAME = 'apple_pay_domain';
|
15 |
|
16 |
use ApiOperations\All;
|
17 |
use ApiOperations\Create;
|
lib/stripe-gateway/lib/ApplicationFee.php
CHANGED
@@ -3,28 +3,24 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
7 |
-
*
|
8 |
-
* @property string $
|
9 |
-
* @property
|
10 |
-
* @property
|
11 |
-
* @property
|
12 |
-
* @property
|
13 |
-
* @property string $application
|
14 |
-
* @property
|
15 |
-
* @property string $
|
16 |
-
* @property
|
17 |
-
* @property string $
|
18 |
-
* @property bool $
|
19 |
-
* @property
|
20 |
-
* @property bool $refunded
|
21 |
-
* @property Collection $refunds
|
22 |
-
*
|
23 |
-
* @package Stripe
|
24 |
*/
|
25 |
class ApplicationFee extends ApiResource
|
26 |
{
|
27 |
-
const OBJECT_NAME =
|
28 |
|
29 |
use ApiOperations\All;
|
30 |
use ApiOperations\NestedResource;
|
@@ -33,24 +29,27 @@ class ApplicationFee extends ApiResource
|
|
33 |
const PATH_REFUNDS = '/refunds';
|
34 |
|
35 |
/**
|
36 |
-
* @param
|
37 |
-
* @param array
|
|
|
38 |
*
|
39 |
-
* @
|
|
|
|
|
40 |
*/
|
41 |
-
public function
|
42 |
{
|
43 |
-
|
44 |
-
$this->refresh();
|
45 |
-
return $this;
|
46 |
}
|
47 |
|
48 |
/**
|
49 |
-
* @param string
|
50 |
-
* @param array
|
51 |
-
* @param array|string
|
|
|
|
|
52 |
*
|
53 |
-
* @return ApplicationFeeRefund
|
54 |
*/
|
55 |
public static function createRefund($id, $params = null, $opts = null)
|
56 |
{
|
@@ -58,12 +57,14 @@ class ApplicationFee extends ApiResource
|
|
58 |
}
|
59 |
|
60 |
/**
|
61 |
-
* @param string
|
62 |
-
* @param
|
63 |
-
* @param array
|
64 |
-
* @param array|string
|
65 |
*
|
66 |
-
* @
|
|
|
|
|
67 |
*/
|
68 |
public static function retrieveRefund($id, $refundId, $params = null, $opts = null)
|
69 |
{
|
@@ -71,27 +72,17 @@ class ApplicationFee extends ApiResource
|
|
71 |
}
|
72 |
|
73 |
/**
|
74 |
-
* @param string
|
75 |
-
* @param
|
76 |
-
* @param array
|
77 |
-
* @param array|string
|
|
|
|
|
78 |
*
|
79 |
-
* @return ApplicationFeeRefund
|
80 |
*/
|
81 |
public static function updateRefund($id, $refundId, $params = null, $opts = null)
|
82 |
{
|
83 |
return self::_updateNestedResource($id, static::PATH_REFUNDS, $refundId, $params, $opts);
|
84 |
}
|
85 |
-
|
86 |
-
/**
|
87 |
-
* @param string|null $id The ID of the application fee on which to retrieve the refunds.
|
88 |
-
* @param array|null $params
|
89 |
-
* @param array|string|null $opts
|
90 |
-
*
|
91 |
-
* @return Collection The list of refunds.
|
92 |
-
*/
|
93 |
-
public static function allRefunds($id, $params = null, $opts = null)
|
94 |
-
{
|
95 |
-
return self::_allNestedResources($id, static::PATH_REFUNDS, $params, $opts);
|
96 |
-
}
|
97 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* @property string $id Unique identifier for the object.
|
7 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
8 |
+
* @property string|\Stripe\Account $account ID of the Stripe account this fee was taken from.
|
9 |
+
* @property int $amount Amount earned, in %s.
|
10 |
+
* @property int $amount_refunded Amount in %s refunded (can be less than the amount attribute on the fee if a partial refund was issued)
|
11 |
+
* @property string|\Stripe\StripeObject $application ID of the Connect application that earned the fee.
|
12 |
+
* @property null|string|\Stripe\BalanceTransaction $balance_transaction Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds).
|
13 |
+
* @property string|\Stripe\Charge $charge ID of the charge that the application fee was taken from.
|
14 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
15 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
16 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
17 |
+
* @property null|string|\Stripe\Charge $originating_transaction ID of the corresponding charge on the platform account, if this fee was the result of a charge using the <code>destination</code> parameter.
|
18 |
+
* @property bool $refunded Whether the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false.
|
19 |
+
* @property \Stripe\Collection $refunds A list of refunds that have been applied to the fee.
|
|
|
|
|
|
|
|
|
20 |
*/
|
21 |
class ApplicationFee extends ApiResource
|
22 |
{
|
23 |
+
const OBJECT_NAME = 'application_fee';
|
24 |
|
25 |
use ApiOperations\All;
|
26 |
use ApiOperations\NestedResource;
|
29 |
const PATH_REFUNDS = '/refunds';
|
30 |
|
31 |
/**
|
32 |
+
* @param string $id the ID of the application fee on which to retrieve the fee refunds
|
33 |
+
* @param null|array $params
|
34 |
+
* @param null|array|string $opts
|
35 |
*
|
36 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
37 |
+
*
|
38 |
+
* @return \Stripe\Collection the list of fee refunds
|
39 |
*/
|
40 |
+
public static function allRefunds($id, $params = null, $opts = null)
|
41 |
{
|
42 |
+
return self::_allNestedResources($id, static::PATH_REFUNDS, $params, $opts);
|
|
|
|
|
43 |
}
|
44 |
|
45 |
/**
|
46 |
+
* @param string $id the ID of the application fee on which to create the fee refund
|
47 |
+
* @param null|array $params
|
48 |
+
* @param null|array|string $opts
|
49 |
+
*
|
50 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
51 |
*
|
52 |
+
* @return \Stripe\ApplicationFeeRefund
|
53 |
*/
|
54 |
public static function createRefund($id, $params = null, $opts = null)
|
55 |
{
|
57 |
}
|
58 |
|
59 |
/**
|
60 |
+
* @param string $id the ID of the application fee to which the fee refund belongs
|
61 |
+
* @param string $refundId the ID of the fee refund to retrieve
|
62 |
+
* @param null|array $params
|
63 |
+
* @param null|array|string $opts
|
64 |
*
|
65 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
66 |
+
*
|
67 |
+
* @return \Stripe\ApplicationFeeRefund
|
68 |
*/
|
69 |
public static function retrieveRefund($id, $refundId, $params = null, $opts = null)
|
70 |
{
|
72 |
}
|
73 |
|
74 |
/**
|
75 |
+
* @param string $id the ID of the application fee to which the fee refund belongs
|
76 |
+
* @param string $refundId the ID of the fee refund to update
|
77 |
+
* @param null|array $params
|
78 |
+
* @param null|array|string $opts
|
79 |
+
*
|
80 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
81 |
*
|
82 |
+
* @return \Stripe\ApplicationFeeRefund
|
83 |
*/
|
84 |
public static function updateRefund($id, $refundId, $params = null, $opts = null)
|
85 |
{
|
86 |
return self::_updateNestedResource($id, static::PATH_REFUNDS, $refundId, $params, $opts);
|
87 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
}
|
lib/stripe-gateway/lib/ApplicationFeeRefund.php
CHANGED
@@ -3,38 +3,42 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property string $balance_transaction
|
12 |
-
* @property int $created
|
13 |
-
* @property string $currency
|
14 |
-
* @property string $fee
|
15 |
-
* @property StripeObject $metadata
|
16 |
*
|
17 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
*/
|
19 |
class ApplicationFeeRefund extends ApiResource
|
20 |
{
|
21 |
-
const OBJECT_NAME =
|
22 |
|
23 |
use ApiOperations\Update {
|
24 |
save as protected _save;
|
25 |
}
|
26 |
|
27 |
/**
|
28 |
-
* @return string
|
29 |
*/
|
30 |
public function instanceUrl()
|
31 |
{
|
32 |
$id = $this['id'];
|
33 |
$fee = $this['fee'];
|
34 |
if (!$id) {
|
35 |
-
throw new
|
36 |
-
|
37 |
-
"class instance has invalid ID: $id",
|
38 |
null
|
39 |
);
|
40 |
}
|
@@ -42,15 +46,16 @@ class ApplicationFeeRefund extends ApiResource
|
|
42 |
$fee = Util\Util::utf8($fee);
|
43 |
|
44 |
$base = ApplicationFee::classUrl();
|
45 |
-
$feeExtn = urlencode($fee);
|
46 |
-
$extn = urlencode($id);
|
47 |
-
|
|
|
48 |
}
|
49 |
|
50 |
/**
|
51 |
-
* @param array|string
|
52 |
*
|
53 |
-
* @return ApplicationFeeRefund
|
54 |
*/
|
55 |
public function save($opts = null)
|
56 |
{
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* <code>Application Fee Refund</code> objects allow you to refund an application
|
7 |
+
* fee that has previously been created but not yet refunded. Funds will be
|
8 |
+
* refunded to the Stripe account from which the fee was originally collected.
|
9 |
*
|
10 |
+
* Related guide: <a
|
11 |
+
* href="https://stripe.com/docs/connect/destination-charges#refunding-app-fee">Refunding
|
12 |
+
* Application Fees</a>.
|
|
|
|
|
|
|
|
|
|
|
13 |
*
|
14 |
+
* @property string $id Unique identifier for the object.
|
15 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
16 |
+
* @property int $amount Amount, in %s.
|
17 |
+
* @property null|string|\Stripe\BalanceTransaction $balance_transaction Balance transaction that describes the impact on your account balance.
|
18 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
19 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
20 |
+
* @property string|\Stripe\ApplicationFee $fee ID of the application fee that was refunded.
|
21 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
22 |
*/
|
23 |
class ApplicationFeeRefund extends ApiResource
|
24 |
{
|
25 |
+
const OBJECT_NAME = 'fee_refund';
|
26 |
|
27 |
use ApiOperations\Update {
|
28 |
save as protected _save;
|
29 |
}
|
30 |
|
31 |
/**
|
32 |
+
* @return string the API URL for this Stripe refund
|
33 |
*/
|
34 |
public function instanceUrl()
|
35 |
{
|
36 |
$id = $this['id'];
|
37 |
$fee = $this['fee'];
|
38 |
if (!$id) {
|
39 |
+
throw new Exception\UnexpectedValueException(
|
40 |
+
'Could not determine which URL to request: ' .
|
41 |
+
"class instance has invalid ID: {$id}",
|
42 |
null
|
43 |
);
|
44 |
}
|
46 |
$fee = Util\Util::utf8($fee);
|
47 |
|
48 |
$base = ApplicationFee::classUrl();
|
49 |
+
$feeExtn = \urlencode($fee);
|
50 |
+
$extn = \urlencode($id);
|
51 |
+
|
52 |
+
return "{$base}/{$feeExtn}/refunds/{$extn}";
|
53 |
}
|
54 |
|
55 |
/**
|
56 |
+
* @param null|array|string $opts
|
57 |
*
|
58 |
+
* @return ApplicationFeeRefund the saved refund
|
59 |
*/
|
60 |
public function save($opts = null)
|
61 |
{
|
lib/stripe-gateway/lib/Balance.php
CHANGED
@@ -3,24 +3,36 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property bool $livemode
|
12 |
-
* @property array $pending
|
13 |
*
|
14 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
*/
|
16 |
class Balance extends SingletonApiResource
|
17 |
{
|
18 |
-
const OBJECT_NAME =
|
19 |
|
20 |
/**
|
21 |
-
* @param array|string
|
|
|
|
|
22 |
*
|
23 |
-
* @return Balance
|
24 |
*/
|
25 |
public static function retrieve($opts = null)
|
26 |
{
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* This is an object representing your Stripe balance. You can retrieve it to see
|
7 |
+
* the balance currently on your Stripe account.
|
8 |
*
|
9 |
+
* You can also retrieve the balance history, which contains a list of <a
|
10 |
+
* href="https://stripe.com/docs/reporting/balance-transaction-types">transactions</a>
|
11 |
+
* that contributed to the balance (charges, payouts, and so forth).
|
|
|
|
|
12 |
*
|
13 |
+
* The available and pending amounts for each currency are broken down further by
|
14 |
+
* payment source types.
|
15 |
+
*
|
16 |
+
* Related guide: <a
|
17 |
+
* href="https://stripe.com/docs/connect/account-balances">Understanding Connect
|
18 |
+
* Account Balances</a>.
|
19 |
+
*
|
20 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
21 |
+
* @property \Stripe\StripeObject[] $available Funds that are available to be transferred or paid out, whether automatically by Stripe or explicitly via the <a href="https://stripe.com/docs/api#transfers">Transfers API</a> or <a href="https://stripe.com/docs/api#payouts">Payouts API</a>. The available balance for each currency and payment type can be found in the <code>source_types</code> property.
|
22 |
+
* @property \Stripe\StripeObject[] $connect_reserved Funds held due to negative balances on connected Custom accounts. The connect reserve balance for each currency and payment type can be found in the <code>source_types</code> property.
|
23 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
24 |
+
* @property \Stripe\StripeObject[] $pending Funds that are not yet available in the balance, due to the 7-day rolling pay cycle. The pending balance for each currency, and for each payment type, can be found in the <code>source_types</code> property.
|
25 |
*/
|
26 |
class Balance extends SingletonApiResource
|
27 |
{
|
28 |
+
const OBJECT_NAME = 'balance';
|
29 |
|
30 |
/**
|
31 |
+
* @param null|array|string $opts
|
32 |
+
*
|
33 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
34 |
*
|
35 |
+
* @return \Stripe\Balance
|
36 |
*/
|
37 |
public static function retrieve($opts = null)
|
38 |
{
|
lib/stripe-gateway/lib/BalanceTransaction.php
CHANGED
@@ -3,63 +3,64 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property int $available_on
|
12 |
-
* @property int $created
|
13 |
-
* @property string $currency
|
14 |
-
* @property string $description
|
15 |
-
* @property float $exchange_rate
|
16 |
-
* @property int $fee
|
17 |
-
* @property mixed $fee_details
|
18 |
-
* @property int $net
|
19 |
-
* @property string $source
|
20 |
-
* @property string $status
|
21 |
-
* @property string $type
|
22 |
*
|
23 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
*/
|
25 |
class BalanceTransaction extends ApiResource
|
26 |
{
|
27 |
-
const OBJECT_NAME =
|
28 |
|
29 |
use ApiOperations\All;
|
30 |
use ApiOperations\Retrieve;
|
31 |
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
const
|
37 |
-
const
|
38 |
-
const
|
39 |
-
const
|
40 |
-
const TYPE_APPLICATION_FEE_REFUND = 'application_fee_refund';
|
41 |
-
const TYPE_CHARGE = 'charge';
|
42 |
-
const TYPE_CONNECT_COLLECTION_TRANSFER = 'connect_collection_transfer';
|
43 |
-
const TYPE_ISSUING_AUTHORIZATION_HOLD = 'issuing_authorization_hold';
|
44 |
const TYPE_ISSUING_AUTHORIZATION_RELEASE = 'issuing_authorization_release';
|
45 |
-
const TYPE_ISSUING_TRANSACTION
|
46 |
-
const TYPE_PAYMENT
|
47 |
-
const TYPE_PAYMENT_FAILURE_REFUND
|
48 |
-
const TYPE_PAYMENT_REFUND
|
49 |
-
const TYPE_PAYOUT
|
50 |
-
const TYPE_PAYOUT_CANCEL
|
51 |
-
const TYPE_PAYOUT_FAILURE
|
52 |
-
const TYPE_REFUND
|
53 |
-
const TYPE_REFUND_FAILURE
|
54 |
-
const TYPE_RESERVE_TRANSACTION
|
55 |
-
const TYPE_RESERVED_FUNDS
|
56 |
-
const TYPE_STRIPE_FEE
|
57 |
-
const TYPE_STRIPE_FX_FEE
|
58 |
-
const TYPE_TAX_FEE
|
59 |
-
const TYPE_TOPUP
|
60 |
-
const TYPE_TOPUP_REVERSAL
|
61 |
-
const TYPE_TRANSFER
|
62 |
-
const TYPE_TRANSFER_CANCEL
|
63 |
-
const TYPE_TRANSFER_FAILURE
|
64 |
-
const TYPE_TRANSFER_REFUND
|
65 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Balance transactions represent funds moving through your Stripe account. They're
|
7 |
+
* created for every type of transaction that comes into or flows out of your
|
8 |
+
* Stripe account balance.
|
9 |
*
|
10 |
+
* Related guide: <a
|
11 |
+
* href="https://stripe.com/docs/reports/balance-transaction-types">Balance
|
12 |
+
* Transaction Types</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
*
|
14 |
+
* @property string $id Unique identifier for the object.
|
15 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
16 |
+
* @property int $amount Gross amount of the transaction, in %s.
|
17 |
+
* @property int $available_on The date the transaction's net funds will become available in the Stripe balance.
|
18 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
19 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
20 |
+
* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users.
|
21 |
+
* @property null|float $exchange_rate The exchange rate used, if applicable, for this transaction. Specifically, if money was converted from currency A to currency B, then the <code>amount</code> in currency A, times <code>exchange_rate</code>, would be the <code>amount</code> in currency B. For example, suppose you charged a customer 10.00 EUR. Then the PaymentIntent's <code>amount</code> would be <code>1000</code> and <code>currency</code> would be <code>eur</code>. Suppose this was converted into 12.34 USD in your Stripe account. Then the BalanceTransaction's <code>amount</code> would be <code>1234</code>, <code>currency</code> would be <code>usd</code>, and <code>exchange_rate</code> would be <code>1.234</code>.
|
22 |
+
* @property int $fee Fees (in %s) paid for this transaction.
|
23 |
+
* @property \Stripe\StripeObject[] $fee_details Detailed breakdown of fees (in %s) paid for this transaction.
|
24 |
+
* @property int $net Net amount of the transaction, in %s.
|
25 |
+
* @property string $reporting_category <a href="https://stripe.com/docs/reports/reporting-categories">Learn more</a> about how reporting categories can help you understand balance transactions from an accounting perspective.
|
26 |
+
* @property null|string|\Stripe\StripeObject $source The Stripe object to which this transaction is related.
|
27 |
+
* @property string $status If the transaction's net funds are available in the Stripe balance yet. Either <code>available</code> or <code>pending</code>.
|
28 |
+
* @property string $type Transaction type: <code>adjustment</code>, <code>advance</code>, <code>advance_funding</code>, <code>application_fee</code>, <code>application_fee_refund</code>, <code>charge</code>, <code>connect_collection_transfer</code>, <code>issuing_authorization_hold</code>, <code>issuing_authorization_release</code>, <code>issuing_transaction</code>, <code>payment</code>, <code>payment_failure_refund</code>, <code>payment_refund</code>, <code>payout</code>, <code>payout_cancel</code>, <code>payout_failure</code>, <code>refund</code>, <code>refund_failure</code>, <code>reserve_transaction</code>, <code>reserved_funds</code>, <code>stripe_fee</code>, <code>stripe_fx_fee</code>, <code>tax_fee</code>, <code>topup</code>, <code>topup_reversal</code>, <code>transfer</code>, <code>transfer_cancel</code>, <code>transfer_failure</code>, or <code>transfer_refund</code>. <a href="https://stripe.com/docs/reports/balance-transaction-types">Learn more</a> about balance transaction types and what they represent. If you are looking to classify transactions for accounting purposes, you might want to consider <code>reporting_category</code> instead.
|
29 |
*/
|
30 |
class BalanceTransaction extends ApiResource
|
31 |
{
|
32 |
+
const OBJECT_NAME = 'balance_transaction';
|
33 |
|
34 |
use ApiOperations\All;
|
35 |
use ApiOperations\Retrieve;
|
36 |
|
37 |
+
const TYPE_ADJUSTMENT = 'adjustment';
|
38 |
+
const TYPE_ADVANCE = 'advance';
|
39 |
+
const TYPE_ADVANCE_FUNDING = 'advance_funding';
|
40 |
+
const TYPE_APPLICATION_FEE = 'application_fee';
|
41 |
+
const TYPE_APPLICATION_FEE_REFUND = 'application_fee_refund';
|
42 |
+
const TYPE_CHARGE = 'charge';
|
43 |
+
const TYPE_CONNECT_COLLECTION_TRANSFER = 'connect_collection_transfer';
|
44 |
+
const TYPE_ISSUING_AUTHORIZATION_HOLD = 'issuing_authorization_hold';
|
|
|
|
|
|
|
|
|
45 |
const TYPE_ISSUING_AUTHORIZATION_RELEASE = 'issuing_authorization_release';
|
46 |
+
const TYPE_ISSUING_TRANSACTION = 'issuing_transaction';
|
47 |
+
const TYPE_PAYMENT = 'payment';
|
48 |
+
const TYPE_PAYMENT_FAILURE_REFUND = 'payment_failure_refund';
|
49 |
+
const TYPE_PAYMENT_REFUND = 'payment_refund';
|
50 |
+
const TYPE_PAYOUT = 'payout';
|
51 |
+
const TYPE_PAYOUT_CANCEL = 'payout_cancel';
|
52 |
+
const TYPE_PAYOUT_FAILURE = 'payout_failure';
|
53 |
+
const TYPE_REFUND = 'refund';
|
54 |
+
const TYPE_REFUND_FAILURE = 'refund_failure';
|
55 |
+
const TYPE_RESERVE_TRANSACTION = 'reserve_transaction';
|
56 |
+
const TYPE_RESERVED_FUNDS = 'reserved_funds';
|
57 |
+
const TYPE_STRIPE_FEE = 'stripe_fee';
|
58 |
+
const TYPE_STRIPE_FX_FEE = 'stripe_fx_fee';
|
59 |
+
const TYPE_TAX_FEE = 'tax_fee';
|
60 |
+
const TYPE_TOPUP = 'topup';
|
61 |
+
const TYPE_TOPUP_REVERSAL = 'topup_reversal';
|
62 |
+
const TYPE_TRANSFER = 'transfer';
|
63 |
+
const TYPE_TRANSFER_CANCEL = 'transfer_cancel';
|
64 |
+
const TYPE_TRANSFER_FAILURE = 'transfer_failure';
|
65 |
+
const TYPE_TRANSFER_REFUND = 'transfer_refund';
|
66 |
}
|
lib/stripe-gateway/lib/BankAccount.php
CHANGED
@@ -3,42 +3,52 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
*
|
12 |
-
*
|
13 |
-
*
|
14 |
-
* @property string $country
|
15 |
-
* @property string $currency
|
16 |
-
* @property string $customer
|
17 |
-
* @property bool $default_for_currency
|
18 |
-
* @property string $fingerprint
|
19 |
-
* @property string $last4
|
20 |
-
* @property StripeObject $metadata
|
21 |
-
* @property string $routing_number
|
22 |
-
* @property string $status
|
23 |
*
|
24 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
*/
|
26 |
class BankAccount extends ApiResource
|
27 |
{
|
28 |
-
const OBJECT_NAME =
|
29 |
|
30 |
use ApiOperations\Delete;
|
31 |
use ApiOperations\Update;
|
32 |
|
33 |
/**
|
34 |
* Possible string representations of the bank verification status.
|
35 |
-
*
|
|
|
36 |
*/
|
37 |
-
const STATUS_NEW
|
38 |
-
const STATUS_VALIDATED
|
39 |
-
const STATUS_VERIFIED
|
40 |
const STATUS_VERIFICATION_FAILED = 'verification_failed';
|
41 |
-
const STATUS_ERRORED
|
42 |
|
43 |
/**
|
44 |
* @return string The instance URL for this resource. It needs to be special
|
@@ -55,54 +65,65 @@ class BankAccount extends ApiResource
|
|
55 |
$parent = $this['account'];
|
56 |
$path = 'external_accounts';
|
57 |
} else {
|
58 |
-
$msg =
|
59 |
-
|
|
|
60 |
}
|
61 |
-
$parentExtn = urlencode(Util\Util::utf8($parent));
|
62 |
-
$extn = urlencode(Util\Util::utf8($this['id']));
|
63 |
-
|
|
|
64 |
}
|
65 |
|
66 |
/**
|
67 |
* @param array|string $_id
|
68 |
-
* @param array|string
|
69 |
*
|
70 |
-
* @throws \Stripe\
|
71 |
*/
|
72 |
public static function retrieve($_id, $_opts = null)
|
73 |
{
|
74 |
-
$msg =
|
75 |
-
|
76 |
-
"
|
77 |
-
|
|
|
|
|
|
|
78 |
}
|
79 |
|
80 |
/**
|
81 |
* @param string $_id
|
82 |
-
* @param array
|
83 |
-
* @param array|string
|
84 |
*
|
85 |
-
* @throws \Stripe\
|
86 |
*/
|
87 |
public static function update($_id, $_params = null, $_options = null)
|
88 |
{
|
89 |
-
$msg =
|
90 |
-
|
91 |
-
"
|
92 |
-
|
|
|
|
|
|
|
93 |
}
|
94 |
|
95 |
/**
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
|
|
|
|
102 |
{
|
103 |
$url = $this->instanceUrl() . '/verify';
|
104 |
-
list($response, $opts) = $this->_request('post', $url, $params, $
|
105 |
$this->refreshFrom($response, $opts);
|
|
|
106 |
return $this;
|
107 |
}
|
108 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* These bank accounts are payment methods on <code>Customer</code> objects.
|
7 |
*
|
8 |
+
* On the other hand <a
|
9 |
+
* href="https://stripe.com/docs/api#external_accounts">External Accounts</a> are
|
10 |
+
* transfer destinations on <code>Account</code> objects for <a
|
11 |
+
* href="https://stripe.com/docs/connect/custom-accounts">Custom accounts</a>. They
|
12 |
+
* can be bank accounts or debit cards as well, and are documented in the links
|
13 |
+
* above.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
*
|
15 |
+
* Related guide: <a
|
16 |
+
* href="https://stripe.com/docs/payments/ach-bank-transfers">Processing ACH &
|
17 |
+
* Bank Transfers</a>.
|
18 |
+
*
|
19 |
+
* @property string $id Unique identifier for the object.
|
20 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
21 |
+
* @property null|string|\Stripe\Account $account The ID of the account that the bank account is associated with.
|
22 |
+
* @property null|string $account_holder_name The name of the person or business that owns the bank account.
|
23 |
+
* @property null|string $account_holder_type The type of entity that holds the account. This can be either <code>individual</code> or <code>company</code>.
|
24 |
+
* @property null|string $bank_name Name of the bank associated with the routing number (e.g., <code>WELLS FARGO</code>).
|
25 |
+
* @property string $country Two-letter ISO code representing the country the bank account is located in.
|
26 |
+
* @property string $currency Three-letter <a href="https://stripe.com/docs/payouts">ISO code for the currency</a> paid out to the bank account.
|
27 |
+
* @property null|string|\Stripe\Customer $customer The ID of the customer that the bank account is associated with.
|
28 |
+
* @property null|bool $default_for_currency Whether this bank account is the default external account for its currency.
|
29 |
+
* @property null|string $fingerprint Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
|
30 |
+
* @property string $last4 The last four digits of the bank account number.
|
31 |
+
* @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
32 |
+
* @property null|string $routing_number The routing transit number for the bank account.
|
33 |
+
* @property string $status <p>For bank accounts, possible values are <code>new</code>, <code>validated</code>, <code>verified</code>, <code>verification_failed</code>, or <code>errored</code>. A bank account that hasn't had any activity or validation performed is <code>new</code>. If Stripe can determine that the bank account exists, its status will be <code>validated</code>. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be <code>verified</code>. If the verification failed for any reason, such as microdeposit failure, the status will be <code>verification_failed</code>. If a transfer sent to this bank account fails, we'll set the status to <code>errored</code> and will not continue to send transfers until the bank details are updated.</p><p>For external accounts, possible values are <code>new</code> and <code>errored</code>. Validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply. If a transfer fails, the status is set to <code>errored</code> and transfers are stopped until account details are updated.</p>
|
34 |
*/
|
35 |
class BankAccount extends ApiResource
|
36 |
{
|
37 |
+
const OBJECT_NAME = 'bank_account';
|
38 |
|
39 |
use ApiOperations\Delete;
|
40 |
use ApiOperations\Update;
|
41 |
|
42 |
/**
|
43 |
* Possible string representations of the bank verification status.
|
44 |
+
*
|
45 |
+
* @see https://stripe.com/docs/api/external_account_bank_accounts/object#account_bank_account_object-status
|
46 |
*/
|
47 |
+
const STATUS_NEW = 'new';
|
48 |
+
const STATUS_VALIDATED = 'validated';
|
49 |
+
const STATUS_VERIFIED = 'verified';
|
50 |
const STATUS_VERIFICATION_FAILED = 'verification_failed';
|
51 |
+
const STATUS_ERRORED = 'errored';
|
52 |
|
53 |
/**
|
54 |
* @return string The instance URL for this resource. It needs to be special
|
65 |
$parent = $this['account'];
|
66 |
$path = 'external_accounts';
|
67 |
} else {
|
68 |
+
$msg = 'Bank accounts cannot be accessed without a customer ID or account ID.';
|
69 |
+
|
70 |
+
throw new Exception\UnexpectedValueException($msg, null);
|
71 |
}
|
72 |
+
$parentExtn = \urlencode(Util\Util::utf8($parent));
|
73 |
+
$extn = \urlencode(Util\Util::utf8($this['id']));
|
74 |
+
|
75 |
+
return "{$base}/{$parentExtn}/{$path}/{$extn}";
|
76 |
}
|
77 |
|
78 |
/**
|
79 |
* @param array|string $_id
|
80 |
+
* @param null|array|string $_opts
|
81 |
*
|
82 |
+
* @throws \Stripe\Exception\BadMethodCallException
|
83 |
*/
|
84 |
public static function retrieve($_id, $_opts = null)
|
85 |
{
|
86 |
+
$msg = 'Bank accounts cannot be retrieved without a customer ID or ' .
|
87 |
+
'an account ID. Retrieve a bank account using ' .
|
88 |
+
"`Customer::retrieveSource('customer_id', " .
|
89 |
+
"'bank_account_id')` or `Account::retrieveExternalAccount(" .
|
90 |
+
"'account_id', 'bank_account_id')`.";
|
91 |
+
|
92 |
+
throw new Exception\BadMethodCallException($msg);
|
93 |
}
|
94 |
|
95 |
/**
|
96 |
* @param string $_id
|
97 |
+
* @param null|array $_params
|
98 |
+
* @param null|array|string $_options
|
99 |
*
|
100 |
+
* @throws \Stripe\Exception\BadMethodCallException
|
101 |
*/
|
102 |
public static function update($_id, $_params = null, $_options = null)
|
103 |
{
|
104 |
+
$msg = 'Bank accounts cannot be updated without a customer ID or an ' .
|
105 |
+
'account ID. Update a bank account using ' .
|
106 |
+
"`Customer::updateSource('customer_id', 'bank_account_id', " .
|
107 |
+
'$updateParams)` or `Account::updateExternalAccount(' .
|
108 |
+
"'account_id', 'bank_account_id', \$updateParams)`.";
|
109 |
+
|
110 |
+
throw new Exception\BadMethodCallException($msg);
|
111 |
}
|
112 |
|
113 |
/**
|
114 |
+
* @param null|array $params
|
115 |
+
* @param null|array|string $opts
|
116 |
+
*
|
117 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
118 |
+
*
|
119 |
+
* @return BankAccount the verified bank account
|
120 |
+
*/
|
121 |
+
public function verify($params = null, $opts = null)
|
122 |
{
|
123 |
$url = $this->instanceUrl() . '/verify';
|
124 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
125 |
$this->refreshFrom($response, $opts);
|
126 |
+
|
127 |
return $this;
|
128 |
}
|
129 |
}
|
lib/stripe-gateway/lib/BitcoinReceiver.php
CHANGED
@@ -3,16 +3,35 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
* Class BitcoinReceiver
|
7 |
-
*
|
8 |
-
* @package Stripe
|
9 |
-
*
|
10 |
* @deprecated Bitcoin receivers are deprecated. Please use the sources API instead.
|
11 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
*/
|
13 |
class BitcoinReceiver extends ApiResource
|
14 |
{
|
15 |
-
const OBJECT_NAME =
|
16 |
|
17 |
use ApiOperations\All;
|
18 |
use ApiOperations\Retrieve;
|
@@ -23,7 +42,7 @@ class BitcoinReceiver extends ApiResource
|
|
23 |
*/
|
24 |
public static function classUrl()
|
25 |
{
|
26 |
-
return
|
27 |
}
|
28 |
|
29 |
/**
|
@@ -36,13 +55,15 @@ class BitcoinReceiver extends ApiResource
|
|
36 |
$base = Customer::classUrl();
|
37 |
$parent = $this['customer'];
|
38 |
$path = 'sources';
|
39 |
-
$parentExtn = urlencode(Util\Util::utf8($parent));
|
40 |
-
$extn = urlencode(Util\Util::utf8($this['id']));
|
41 |
-
|
42 |
-
|
43 |
-
$base = BitcoinReceiver::classUrl();
|
44 |
-
$extn = urlencode(Util\Util::utf8($this['id']));
|
45 |
-
return "$base/$extn";
|
46 |
}
|
|
|
|
|
|
|
|
|
|
|
47 |
}
|
48 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
|
|
|
|
|
|
|
|
6 |
* @deprecated Bitcoin receivers are deprecated. Please use the sources API instead.
|
7 |
+
* @see https://stripe.com/docs/sources/bitcoin
|
8 |
+
*
|
9 |
+
* @property string $id Unique identifier for the object.
|
10 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
11 |
+
* @property bool $active True when this bitcoin receiver has received a non-zero amount of bitcoin.
|
12 |
+
* @property int $amount The amount of <code>currency</code> that you are collecting as payment.
|
13 |
+
* @property int $amount_received The amount of <code>currency</code> to which <code>bitcoin_amount_received</code> has been converted.
|
14 |
+
* @property int $bitcoin_amount The amount of bitcoin that the customer should send to fill the receiver. The <code>bitcoin_amount</code> is denominated in Satoshi: there are 10^8 Satoshi in one bitcoin.
|
15 |
+
* @property int $bitcoin_amount_received The amount of bitcoin that has been sent by the customer to this receiver.
|
16 |
+
* @property string $bitcoin_uri This URI can be displayed to the customer as a clickable link (to activate their bitcoin client) or as a QR code (for mobile wallets).
|
17 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
18 |
+
* @property string $currency Three-letter <a href="https://stripe.com/docs/currencies">ISO code for the currency</a> to which the bitcoin will be converted.
|
19 |
+
* @property null|string $customer The customer ID of the bitcoin receiver.
|
20 |
+
* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users.
|
21 |
+
* @property null|string $email The customer's email address, set by the API call that creates the receiver.
|
22 |
+
* @property bool $filled This flag is initially false and updates to true when the customer sends the <code>bitcoin_amount</code> to this receiver.
|
23 |
+
* @property string $inbound_address A bitcoin address that is specific to this receiver. The customer can send bitcoin to this address to fill the receiver.
|
24 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
25 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
26 |
+
* @property null|string $payment The ID of the payment created from the receiver, if any. Hidden when viewing the receiver with a publishable key.
|
27 |
+
* @property null|string $refund_address The refund address of this bitcoin receiver.
|
28 |
+
* @property \Stripe\Collection $transactions A list with one entry for each time that the customer sent bitcoin to the receiver. Hidden when viewing the receiver with a publishable key.
|
29 |
+
* @property bool $uncaptured_funds This receiver contains uncaptured funds that can be used for a payment or refunded.
|
30 |
+
* @property null|bool $used_for_payment Indicate if this source is used for payment.
|
31 |
*/
|
32 |
class BitcoinReceiver extends ApiResource
|
33 |
{
|
34 |
+
const OBJECT_NAME = 'bitcoin_receiver';
|
35 |
|
36 |
use ApiOperations\All;
|
37 |
use ApiOperations\Retrieve;
|
42 |
*/
|
43 |
public static function classUrl()
|
44 |
{
|
45 |
+
return '/v1/bitcoin/receivers';
|
46 |
}
|
47 |
|
48 |
/**
|
55 |
$base = Customer::classUrl();
|
56 |
$parent = $this['customer'];
|
57 |
$path = 'sources';
|
58 |
+
$parentExtn = \urlencode(Util\Util::utf8($parent));
|
59 |
+
$extn = \urlencode(Util\Util::utf8($this['id']));
|
60 |
+
|
61 |
+
return "{$base}/{$parentExtn}/{$path}/{$extn}";
|
|
|
|
|
|
|
62 |
}
|
63 |
+
|
64 |
+
$base = BitcoinReceiver::classUrl();
|
65 |
+
$extn = \urlencode(Util\Util::utf8($this['id']));
|
66 |
+
|
67 |
+
return "{$base}/{$extn}";
|
68 |
}
|
69 |
}
|
lib/stripe-gateway/lib/BitcoinTransaction.php
CHANGED
@@ -3,11 +3,15 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
7 |
-
*
|
8 |
-
* @
|
|
|
|
|
|
|
|
|
9 |
*/
|
10 |
class BitcoinTransaction extends ApiResource
|
11 |
{
|
12 |
-
const OBJECT_NAME =
|
13 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* @property string $id Unique identifier for the object.
|
7 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
8 |
+
* @property int $amount The amount of <code>currency</code> that the transaction was converted to in real-time.
|
9 |
+
* @property int $bitcoin_amount The amount of bitcoin contained in the transaction.
|
10 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
11 |
+
* @property string $currency Three-letter <a href="https://stripe.com/docs/currencies">ISO code for the currency</a> to which this transaction was converted.
|
12 |
+
* @property string $receiver The receiver to which this transaction was sent.
|
13 |
*/
|
14 |
class BitcoinTransaction extends ApiResource
|
15 |
{
|
16 |
+
const OBJECT_NAME = 'bitcoin_transaction';
|
17 |
}
|
lib/stripe-gateway/lib/Capability.php
CHANGED
@@ -3,44 +3,42 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
7 |
*
|
8 |
-
*
|
|
|
|
|
9 |
*
|
10 |
-
* @property string $id
|
11 |
-
* @property string $object
|
12 |
-
* @property string $account
|
13 |
-
* @property bool $requested
|
14 |
-
* @property int $requested_at
|
15 |
-
* @property
|
16 |
-
* @property string $status
|
17 |
*/
|
18 |
class Capability extends ApiResource
|
19 |
{
|
20 |
-
const OBJECT_NAME =
|
21 |
|
22 |
use ApiOperations\Update;
|
23 |
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
*/
|
28 |
-
const STATUS_ACTIVE = 'active';
|
29 |
-
const STATUS_INACTIVE = 'inactive';
|
30 |
-
const STATUS_PENDING = 'pending';
|
31 |
const STATUS_UNREQUESTED = 'unrequested';
|
32 |
|
33 |
/**
|
34 |
-
* @return string
|
35 |
*/
|
36 |
public function instanceUrl()
|
37 |
{
|
38 |
$id = $this['id'];
|
39 |
$account = $this['account'];
|
40 |
if (!$id) {
|
41 |
-
throw new
|
42 |
-
|
43 |
-
"class instance has invalid ID: $id",
|
44 |
null
|
45 |
);
|
46 |
}
|
@@ -48,35 +46,40 @@ class Capability extends ApiResource
|
|
48 |
$account = Util\Util::utf8($account);
|
49 |
|
50 |
$base = Account::classUrl();
|
51 |
-
$accountExtn = urlencode($account);
|
52 |
-
$extn = urlencode($id);
|
53 |
-
|
|
|
54 |
}
|
55 |
|
56 |
/**
|
57 |
* @param array|string $_id
|
58 |
-
* @param array|string
|
59 |
*
|
60 |
-
* @throws \Stripe\
|
61 |
*/
|
62 |
public static function retrieve($_id, $_opts = null)
|
63 |
{
|
64 |
-
$msg =
|
65 |
-
|
66 |
-
|
|
|
|
|
67 |
}
|
68 |
|
69 |
/**
|
70 |
* @param string $_id
|
71 |
-
* @param array
|
72 |
-
* @param array|string
|
73 |
*
|
74 |
-
* @throws \Stripe\
|
75 |
*/
|
76 |
public static function update($_id, $_params = null, $_options = null)
|
77 |
{
|
78 |
-
$msg =
|
79 |
-
|
80 |
-
|
|
|
|
|
81 |
}
|
82 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* This is an object representing a capability for a Stripe account.
|
7 |
*
|
8 |
+
* Related guide: <a
|
9 |
+
* href="https://stripe.com/docs/connect/capabilities-overview">Capabilities
|
10 |
+
* Overview</a>.
|
11 |
*
|
12 |
+
* @property string $id The identifier for the capability.
|
13 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
14 |
+
* @property string|\Stripe\Account $account The account for which the capability enables functionality.
|
15 |
+
* @property bool $requested Whether the capability has been requested.
|
16 |
+
* @property null|int $requested_at Time at which the capability was requested. Measured in seconds since the Unix epoch.
|
17 |
+
* @property \Stripe\StripeObject $requirements
|
18 |
+
* @property string $status The status of the capability. Can be <code>active</code>, <code>inactive</code>, <code>pending</code>, or <code>unrequested</code>.
|
19 |
*/
|
20 |
class Capability extends ApiResource
|
21 |
{
|
22 |
+
const OBJECT_NAME = 'capability';
|
23 |
|
24 |
use ApiOperations\Update;
|
25 |
|
26 |
+
const STATUS_ACTIVE = 'active';
|
27 |
+
const STATUS_INACTIVE = 'inactive';
|
28 |
+
const STATUS_PENDING = 'pending';
|
|
|
|
|
|
|
|
|
29 |
const STATUS_UNREQUESTED = 'unrequested';
|
30 |
|
31 |
/**
|
32 |
+
* @return string the API URL for this Stripe account reversal
|
33 |
*/
|
34 |
public function instanceUrl()
|
35 |
{
|
36 |
$id = $this['id'];
|
37 |
$account = $this['account'];
|
38 |
if (!$id) {
|
39 |
+
throw new Exception\UnexpectedValueException(
|
40 |
+
'Could not determine which URL to request: ' .
|
41 |
+
"class instance has invalid ID: {$id}",
|
42 |
null
|
43 |
);
|
44 |
}
|
46 |
$account = Util\Util::utf8($account);
|
47 |
|
48 |
$base = Account::classUrl();
|
49 |
+
$accountExtn = \urlencode($account);
|
50 |
+
$extn = \urlencode($id);
|
51 |
+
|
52 |
+
return "{$base}/{$accountExtn}/capabilities/{$extn}";
|
53 |
}
|
54 |
|
55 |
/**
|
56 |
* @param array|string $_id
|
57 |
+
* @param null|array|string $_opts
|
58 |
*
|
59 |
+
* @throws \Stripe\Exception\BadMethodCallException
|
60 |
*/
|
61 |
public static function retrieve($_id, $_opts = null)
|
62 |
{
|
63 |
+
$msg = 'Capabilities cannot be retrieved without an account ID. ' .
|
64 |
+
'Retrieve a capability using `Account::retrieveCapability(' .
|
65 |
+
"'account_id', 'capability_id')`.";
|
66 |
+
|
67 |
+
throw new Exception\BadMethodCallException($msg);
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
* @param string $_id
|
72 |
+
* @param null|array $_params
|
73 |
+
* @param null|array|string $_options
|
74 |
*
|
75 |
+
* @throws \Stripe\Exception\BadMethodCallException
|
76 |
*/
|
77 |
public static function update($_id, $_params = null, $_options = null)
|
78 |
{
|
79 |
+
$msg = 'Capabilities cannot be updated without an account ID. ' .
|
80 |
+
'Update a capability using `Account::updateCapability(' .
|
81 |
+
"'account_id', 'capability_id', \$updateParams)`.";
|
82 |
+
|
83 |
+
throw new Exception\BadMethodCallException($msg);
|
84 |
}
|
85 |
}
|
lib/stripe-gateway/lib/Card.php
CHANGED
@@ -3,69 +3,75 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
* @property string $account
|
11 |
-
* @property string $address_city
|
12 |
-
* @property string $address_country
|
13 |
-
* @property string $address_line1
|
14 |
-
* @property string $address_line1_check
|
15 |
-
* @property string $address_line2
|
16 |
-
* @property string $address_state
|
17 |
-
* @property string $address_zip
|
18 |
-
* @property string $address_zip_check
|
19 |
-
* @property string[] $available_payout_methods
|
20 |
-
* @property string $brand
|
21 |
-
* @property string $country
|
22 |
-
* @property string $currency
|
23 |
-
* @property string $customer
|
24 |
-
* @property string $cvc_check
|
25 |
-
* @property bool $default_for_currency
|
26 |
-
* @property string $dynamic_last4
|
27 |
-
* @property int $exp_month
|
28 |
-
* @property int $exp_year
|
29 |
-
* @property string $fingerprint
|
30 |
-
* @property string $funding
|
31 |
-
* @property string $last4
|
32 |
-
* @property StripeObject $metadata
|
33 |
-
* @property string $name
|
34 |
-
* @property string $recipient
|
35 |
-
* @property string $tokenization_method
|
36 |
*
|
37 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
*/
|
39 |
class Card extends ApiResource
|
40 |
{
|
41 |
-
const OBJECT_NAME =
|
42 |
|
43 |
use ApiOperations\Delete;
|
44 |
use ApiOperations\Update;
|
45 |
|
46 |
/**
|
47 |
* Possible string representations of the CVC check status.
|
48 |
-
*
|
|
|
49 |
*/
|
50 |
-
const CVC_CHECK_FAIL
|
51 |
-
const CVC_CHECK_PASS
|
52 |
const CVC_CHECK_UNAVAILABLE = 'unavailable';
|
53 |
-
const CVC_CHECK_UNCHECKED
|
54 |
|
55 |
/**
|
56 |
* Possible string representations of the funding of the card.
|
57 |
-
*
|
|
|
58 |
*/
|
59 |
-
const FUNDING_CREDIT
|
60 |
-
const FUNDING_DEBIT
|
61 |
const FUNDING_PREPAID = 'prepaid';
|
62 |
const FUNDING_UNKNOWN = 'unknown';
|
63 |
|
64 |
/**
|
65 |
* Possible string representations of the tokenization method when using Apple Pay or Google Pay.
|
66 |
-
*
|
|
|
67 |
*/
|
68 |
-
const TOKENIZATION_METHOD_APPLE_PAY
|
69 |
const TOKENIZATION_METHOD_GOOGLE_PAY = 'google_pay';
|
70 |
|
71 |
/**
|
@@ -88,42 +94,47 @@ class Card extends ApiResource
|
|
88 |
$parent = $this['recipient'];
|
89 |
$path = 'cards';
|
90 |
} else {
|
91 |
-
$msg =
|
92 |
-
|
|
|
93 |
}
|
94 |
-
$parentExtn = urlencode(Util\Util::utf8($parent));
|
95 |
-
$extn = urlencode(Util\Util::utf8($this['id']));
|
96 |
-
|
|
|
97 |
}
|
98 |
|
99 |
/**
|
100 |
* @param array|string $_id
|
101 |
-
* @param array|string
|
102 |
*
|
103 |
-
* @throws \Stripe\
|
104 |
*/
|
105 |
public static function retrieve($_id, $_opts = null)
|
106 |
{
|
107 |
-
$msg =
|
108 |
-
|
109 |
-
"
|
110 |
-
"
|
111 |
-
|
|
|
112 |
}
|
113 |
|
114 |
/**
|
115 |
* @param string $_id
|
116 |
-
* @param array
|
117 |
-
* @param array|string
|
118 |
*
|
119 |
-
* @throws \Stripe\
|
120 |
*/
|
121 |
public static function update($_id, $_params = null, $_options = null)
|
122 |
{
|
123 |
-
$msg =
|
124 |
-
|
125 |
-
"
|
126 |
-
|
127 |
-
|
|
|
|
|
128 |
}
|
129 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* You can store multiple cards on a customer in order to charge the customer
|
7 |
+
* later. You can also store multiple debit cards on a recipient in order to
|
8 |
+
* transfer to those cards later.
|
9 |
*
|
10 |
+
* Related guide: <a href="https://stripe.com/docs/sources/cards">Card Payments
|
11 |
+
* with Sources</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
*
|
13 |
+
* @property string $id Unique identifier for the object.
|
14 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
15 |
+
* @property null|string|\Stripe\Account $account The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead.
|
16 |
+
* @property null|string $address_city City/District/Suburb/Town/Village.
|
17 |
+
* @property null|string $address_country Billing address country, if provided when creating card.
|
18 |
+
* @property null|string $address_line1 Address line 1 (Street address/PO Box/Company name).
|
19 |
+
* @property null|string $address_line1_check If <code>address_line1</code> was provided, results of the check: <code>pass</code>, <code>fail</code>, <code>unavailable</code>, or <code>unchecked</code>.
|
20 |
+
* @property null|string $address_line2 Address line 2 (Apartment/Suite/Unit/Building).
|
21 |
+
* @property null|string $address_state State/County/Province/Region.
|
22 |
+
* @property null|string $address_zip ZIP or postal code.
|
23 |
+
* @property null|string $address_zip_check If <code>address_zip</code> was provided, results of the check: <code>pass</code>, <code>fail</code>, <code>unavailable</code>, or <code>unchecked</code>.
|
24 |
+
* @property null|string[] $available_payout_methods A set of available payout methods for this card. Will be either <code>["standard"]</code> or <code>["standard", "instant"]</code>. Only values from this set should be passed as the <code>method</code> when creating a transfer.
|
25 |
+
* @property string $brand Card brand. Can be <code>American Express</code>, <code>Diners Club</code>, <code>Discover</code>, <code>JCB</code>, <code>MasterCard</code>, <code>UnionPay</code>, <code>Visa</code>, or <code>Unknown</code>.
|
26 |
+
* @property null|string $country Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
|
27 |
+
* @property null|string $currency
|
28 |
+
* @property null|string|\Stripe\Customer $customer The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead.
|
29 |
+
* @property null|string $cvc_check If a CVC was provided, results of the check: <code>pass</code>, <code>fail</code>, <code>unavailable</code>, or <code>unchecked</code>.
|
30 |
+
* @property null|bool $default_for_currency Whether this card is the default external account for its currency.
|
31 |
+
* @property null|string $dynamic_last4 (For tokenized numbers only.) The last four digits of the device account number.
|
32 |
+
* @property int $exp_month Two-digit number representing the card's expiration month.
|
33 |
+
* @property int $exp_year Four-digit number representing the card's expiration year.
|
34 |
+
* @property null|string $fingerprint Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number,for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
|
35 |
+
* @property string $funding Card funding type. Can be <code>credit</code>, <code>debit</code>, <code>prepaid</code>, or <code>unknown</code>.
|
36 |
+
* @property string $last4 The last four digits of the card.
|
37 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
38 |
+
* @property null|string $name Cardholder name.
|
39 |
+
* @property null|string|\Stripe\Recipient $recipient The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.
|
40 |
+
* @property null|string $tokenization_method If the card number is tokenized, this is the method that was used. Can be <code>amex_express_checkout</code>, <code>android_pay</code> (includes Google Pay), <code>apple_pay</code>, <code>masterpass</code>, <code>visa_checkout</code>, or null.
|
41 |
*/
|
42 |
class Card extends ApiResource
|
43 |
{
|
44 |
+
const OBJECT_NAME = 'card';
|
45 |
|
46 |
use ApiOperations\Delete;
|
47 |
use ApiOperations\Update;
|
48 |
|
49 |
/**
|
50 |
* Possible string representations of the CVC check status.
|
51 |
+
*
|
52 |
+
* @see https://stripe.com/docs/api/cards/object#card_object-cvc_check
|
53 |
*/
|
54 |
+
const CVC_CHECK_FAIL = 'fail';
|
55 |
+
const CVC_CHECK_PASS = 'pass';
|
56 |
const CVC_CHECK_UNAVAILABLE = 'unavailable';
|
57 |
+
const CVC_CHECK_UNCHECKED = 'unchecked';
|
58 |
|
59 |
/**
|
60 |
* Possible string representations of the funding of the card.
|
61 |
+
*
|
62 |
+
* @see https://stripe.com/docs/api/cards/object#card_object-funding
|
63 |
*/
|
64 |
+
const FUNDING_CREDIT = 'credit';
|
65 |
+
const FUNDING_DEBIT = 'debit';
|
66 |
const FUNDING_PREPAID = 'prepaid';
|
67 |
const FUNDING_UNKNOWN = 'unknown';
|
68 |
|
69 |
/**
|
70 |
* Possible string representations of the tokenization method when using Apple Pay or Google Pay.
|
71 |
+
*
|
72 |
+
* @see https://stripe.com/docs/api/cards/object#card_object-tokenization_method
|
73 |
*/
|
74 |
+
const TOKENIZATION_METHOD_APPLE_PAY = 'apple_pay';
|
75 |
const TOKENIZATION_METHOD_GOOGLE_PAY = 'google_pay';
|
76 |
|
77 |
/**
|
94 |
$parent = $this['recipient'];
|
95 |
$path = 'cards';
|
96 |
} else {
|
97 |
+
$msg = 'Cards cannot be accessed without a customer ID, account ID or recipient ID.';
|
98 |
+
|
99 |
+
throw new Exception\UnexpectedValueException($msg);
|
100 |
}
|
101 |
+
$parentExtn = \urlencode(Util\Util::utf8($parent));
|
102 |
+
$extn = \urlencode(Util\Util::utf8($this['id']));
|
103 |
+
|
104 |
+
return "{$base}/{$parentExtn}/{$path}/{$extn}";
|
105 |
}
|
106 |
|
107 |
/**
|
108 |
* @param array|string $_id
|
109 |
+
* @param null|array|string $_opts
|
110 |
*
|
111 |
+
* @throws \Stripe\Exception\BadMethodCallException
|
112 |
*/
|
113 |
public static function retrieve($_id, $_opts = null)
|
114 |
{
|
115 |
+
$msg = 'Cards cannot be retrieved without a customer ID or an ' .
|
116 |
+
'account ID. Retrieve a card using ' .
|
117 |
+
"`Customer::retrieveSource('customer_id', 'card_id')` or " .
|
118 |
+
"`Account::retrieveExternalAccount('account_id', 'card_id')`.";
|
119 |
+
|
120 |
+
throw new Exception\BadMethodCallException($msg);
|
121 |
}
|
122 |
|
123 |
/**
|
124 |
* @param string $_id
|
125 |
+
* @param null|array $_params
|
126 |
+
* @param null|array|string $_options
|
127 |
*
|
128 |
+
* @throws \Stripe\Exception\BadMethodCallException
|
129 |
*/
|
130 |
public static function update($_id, $_params = null, $_options = null)
|
131 |
{
|
132 |
+
$msg = 'Cards cannot be updated without a customer ID or an ' .
|
133 |
+
'account ID. Update a card using ' .
|
134 |
+
"`Customer::updateSource('customer_id', 'card_id', " .
|
135 |
+
'$updateParams)` or `Account::updateExternalAccount(' .
|
136 |
+
"'account_id', 'card_id', \$updateParams)`.";
|
137 |
+
|
138 |
+
throw new Exception\BadMethodCallException($msg);
|
139 |
}
|
140 |
}
|
lib/stripe-gateway/lib/Charge.php
CHANGED
@@ -3,204 +3,141 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property int $amount_refunded
|
12 |
-
* @property string $application
|
13 |
-
* @property string $application_fee
|
14 |
-
* @property int $application_fee_amount
|
15 |
-
* @property string $balance_transaction
|
16 |
-
* @property mixed $billing_details
|
17 |
-
* @property bool $captured
|
18 |
-
* @property int $created
|
19 |
-
* @property string $currency
|
20 |
-
* @property string $customer
|
21 |
-
* @property string $description
|
22 |
-
* @property string $destination
|
23 |
-
* @property string $dispute
|
24 |
-
* @property string $failure_code
|
25 |
-
* @property string $failure_message
|
26 |
-
* @property mixed $fraud_details
|
27 |
-
* @property string $invoice
|
28 |
-
* @property bool $livemode
|
29 |
-
* @property StripeObject $metadata
|
30 |
-
* @property string $on_behalf_of
|
31 |
-
* @property string $order
|
32 |
-
* @property mixed $outcome
|
33 |
-
* @property bool $paid
|
34 |
-
* @property string $payment_intent
|
35 |
-
* @property string $payment_method
|
36 |
-
* @property mixed $payment_method_details
|
37 |
-
* @property string $receipt_email
|
38 |
-
* @property string $receipt_number
|
39 |
-
* @property string $receipt_url
|
40 |
-
* @property bool $refunded
|
41 |
-
* @property Collection $refunds
|
42 |
-
* @property string $review
|
43 |
-
* @property mixed $shipping
|
44 |
-
* @property mixed $source
|
45 |
-
* @property string $source_transfer
|
46 |
-
* @property string $statement_descriptor
|
47 |
-
* @property string $status
|
48 |
-
* @property string $transfer
|
49 |
-
* @property mixed $transfer_data
|
50 |
-
* @property string $transfer_group
|
51 |
*
|
52 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
*/
|
54 |
class Charge extends ApiResource
|
55 |
{
|
56 |
-
const OBJECT_NAME =
|
57 |
|
58 |
use ApiOperations\All;
|
59 |
use ApiOperations\Create;
|
60 |
use ApiOperations\Retrieve;
|
61 |
use ApiOperations\Update;
|
62 |
|
63 |
-
|
64 |
-
|
65 |
-
* These strings are applicable to the decline_code property of the \Stripe\Error\Card exception.
|
66 |
-
* @link https://stripe.com/docs/declines/codes
|
67 |
-
*/
|
68 |
-
const DECLINED_APPROVE_WITH_ID = 'approve_with_id';
|
69 |
-
const DECLINED_CALL_ISSUER = 'call_issuer';
|
70 |
-
const DECLINED_CARD_NOT_SUPPORTED = 'card_not_supported';
|
71 |
-
const DECLINED_CARD_VELOCITY_EXCEEDED = 'card_velocity_exceeded';
|
72 |
-
const DECLINED_CURRENCY_NOT_SUPPORTED = 'currency_not_supported';
|
73 |
-
const DECLINED_DO_NOT_HONOR = 'do_not_honor';
|
74 |
-
const DECLINED_DO_NOT_TRY_AGAIN = 'do_not_try_again';
|
75 |
-
const DECLINED_DUPLICATED_TRANSACTION = 'duplicate_transaction';
|
76 |
-
const DECLINED_EXPIRED_CARD = 'expired_card';
|
77 |
-
const DECLINED_FRAUDULENT = 'fraudulent';
|
78 |
-
const DECLINED_GENERIC_DECLINE = 'generic_decline';
|
79 |
-
const DECLINED_INCORRECT_NUMBER = 'incorrect_number';
|
80 |
-
const DECLINED_INCORRECT_CVC = 'incorrect_cvc';
|
81 |
-
const DECLINED_INCORRECT_PIN = 'incorrect_pin';
|
82 |
-
const DECLINED_INCORRECT_ZIP = 'incorrect_zip';
|
83 |
-
const DECLINED_INSUFFICIENT_FUNDS = 'insufficient_funds';
|
84 |
-
const DECLINED_INVALID_ACCOUNT = 'invalid_account';
|
85 |
-
const DECLINED_INVALID_AMOUNT = 'invalid_amount';
|
86 |
-
const DECLINED_INVALID_CVC = 'invalid_cvc';
|
87 |
-
const DECLINED_INVALID_EXPIRY_YEAR = 'invalid_expiry_year';
|
88 |
-
const DECLINED_INVALID_NUMBER = 'invalid_number';
|
89 |
-
const DECLINED_INVALID_PIN = 'invalid_pin';
|
90 |
-
const DECLINED_ISSUER_NOT_AVAILABLE = 'issuer_not_available';
|
91 |
-
const DECLINED_LOST_CARD = 'lost_card';
|
92 |
-
const DECLINED_MERCHANT_BLACKLIST = 'merchant_blacklist';
|
93 |
-
const DECLINED_NEW_ACCOUNT_INFORMATION_AVAILABLE = 'new_account_information_available';
|
94 |
-
const DECLINED_NO_ACTION_TAKEN = 'no_action_taken';
|
95 |
-
const DECLINED_NOT_PERMITTED = 'not_permitted';
|
96 |
-
const DECLINED_PICKUP_CARD = 'pickup_card';
|
97 |
-
const DECLINED_PIN_TRY_EXCEEDED = 'pin_try_exceeded';
|
98 |
-
const DECLINED_PROCESSING_ERROR = 'processing_error';
|
99 |
-
const DECLINED_REENTER_TRANSACTION = 'reenter_transaction';
|
100 |
-
const DECLINED_RESTRICTED_CARD = 'restricted_card';
|
101 |
-
const DECLINED_REVOCATION_OF_ALL_AUTHORIZATIONS = 'revocation_of_all_authorizations';
|
102 |
-
const DECLINED_REVOCATION_OF_AUTHORIZATION = 'revocation_of_authorization';
|
103 |
-
const DECLINED_SECURITY_VIOLATION = 'security_violation';
|
104 |
-
const DECLINED_SERVICE_NOT_ALLOWED = 'service_not_allowed';
|
105 |
-
const DECLINED_STOLEN_CARD = 'stolen_card';
|
106 |
-
const DECLINED_STOP_PAYMENT_ORDER = 'stop_payment_order';
|
107 |
-
const DECLINED_TESTMODE_DECLINE = 'testmode_decline';
|
108 |
-
const DECLINED_TRANSACTION_NOT_ALLOWED = 'transaction_not_allowed';
|
109 |
-
const DECLINED_TRY_AGAIN_LATER = 'try_again_later';
|
110 |
-
const DECLINED_WITHDRAWAL_COUNT_LIMIT_EXCEEDED = 'withdrawal_count_limit_exceeded';
|
111 |
-
|
112 |
-
/**
|
113 |
-
* Possible string representations of the status of the charge.
|
114 |
-
* @link https://stripe.com/docs/api/charges/object#charge_object-status
|
115 |
-
*/
|
116 |
-
const STATUS_FAILED = 'failed';
|
117 |
-
const STATUS_PENDING = 'pending';
|
118 |
const STATUS_SUCCEEDED = 'succeeded';
|
119 |
|
120 |
/**
|
121 |
-
*
|
122 |
-
*
|
123 |
-
*
|
124 |
-
* @return Charge The refunded charge.
|
125 |
-
*/
|
126 |
-
public function refund($params = null, $options = null)
|
127 |
-
{
|
128 |
-
$url = $this->instanceUrl() . '/refund';
|
129 |
-
list($response, $opts) = $this->_request('post', $url, $params, $options);
|
130 |
-
$this->refreshFrom($response, $opts);
|
131 |
-
return $this;
|
132 |
-
}
|
133 |
-
|
134 |
-
/**
|
135 |
-
* @param array|null $params
|
136 |
-
* @param array|string|null $options
|
137 |
-
*
|
138 |
-
* @return Charge The captured charge.
|
139 |
-
*/
|
140 |
-
public function capture($params = null, $options = null)
|
141 |
-
{
|
142 |
-
$url = $this->instanceUrl() . '/capture';
|
143 |
-
list($response, $opts) = $this->_request('post', $url, $params, $options);
|
144 |
-
$this->refreshFrom($response, $opts);
|
145 |
-
return $this;
|
146 |
-
}
|
147 |
-
|
148 |
-
/**
|
149 |
-
* @param array|null $params
|
150 |
-
* @param array|string|null $options
|
151 |
-
*
|
152 |
-
* @deprecated Use the `save` method on the Dispute object
|
153 |
*
|
154 |
-
* @
|
155 |
*/
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
|
164 |
/**
|
165 |
-
* @param array
|
|
|
166 |
*
|
167 |
-
* @
|
168 |
*
|
169 |
-
* @return Charge
|
170 |
*/
|
171 |
-
public function
|
172 |
{
|
173 |
-
$url = $this->instanceUrl() . '/
|
174 |
-
list($response, $opts) = $this->_request('post', $url, null, $options);
|
175 |
-
$this->refreshFrom($response, $opts);
|
176 |
-
return $this;
|
177 |
-
}
|
178 |
-
|
179 |
-
/**
|
180 |
-
* @param array|string|null $opts
|
181 |
-
*
|
182 |
-
* @return Charge The updated charge.
|
183 |
-
*/
|
184 |
-
public function markAsFraudulent($opts = null)
|
185 |
-
{
|
186 |
-
$params = ['fraud_details' => ['user_report' => 'fraudulent']];
|
187 |
-
$url = $this->instanceUrl();
|
188 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
189 |
$this->refreshFrom($response, $opts);
|
190 |
-
return $this;
|
191 |
-
}
|
192 |
|
193 |
-
/**
|
194 |
-
* @param array|string|null $opts
|
195 |
-
*
|
196 |
-
* @return Charge The updated charge.
|
197 |
-
*/
|
198 |
-
public function markAsSafe($opts = null)
|
199 |
-
{
|
200 |
-
$params = ['fraud_details' => ['user_report' => 'safe']];
|
201 |
-
$url = $this->instanceUrl();
|
202 |
-
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
203 |
-
$this->refreshFrom($response, $opts);
|
204 |
return $this;
|
205 |
}
|
206 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* To charge a credit or a debit card, you create a <code>Charge</code> object. You
|
7 |
+
* can retrieve and refund individual charges as well as list all charges. Charges
|
8 |
+
* are identified by a unique, random ID.
|
9 |
*
|
10 |
+
* Related guide: <a
|
11 |
+
* href="https://stripe.com/docs/payments/accept-a-payment-charges">Accept a
|
12 |
+
* payment with the Charges API</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
*
|
14 |
+
* @property string $id Unique identifier for the object.
|
15 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
16 |
+
* @property int $amount Amount intended to be collected by this payment. A positive integer representing how much to charge in the <a href="https://stripe.com/docs/currencies#zero-decimal">smallest currency unit</a> (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or <a href="https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts">equivalent in charge currency</a>. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
|
17 |
+
* @property int $amount_refunded Amount in %s refunded (can be less than the amount attribute on the charge if a partial refund was issued).
|
18 |
+
* @property null|string|\Stripe\StripeObject $application ID of the Connect application that created the charge.
|
19 |
+
* @property null|string|\Stripe\ApplicationFee $application_fee The application fee (if any) for the charge. <a href="https://stripe.com/docs/connect/direct-charges#collecting-fees">See the Connect documentation</a> for details.
|
20 |
+
* @property null|int $application_fee_amount The amount of the application fee (if any) for the charge. <a href="https://stripe.com/docs/connect/direct-charges#collecting-fees">See the Connect documentation</a> for details.
|
21 |
+
* @property null|string|\Stripe\BalanceTransaction $balance_transaction ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes).
|
22 |
+
* @property \Stripe\StripeObject $billing_details
|
23 |
+
* @property null|string $calculated_statement_descriptor The full statement descriptor that is passed to card networks, and that is displayed on your customers' credit card and bank statements. Allows you to see what the statement descriptor looks like after the static and dynamic portions are combined.
|
24 |
+
* @property bool $captured If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured.
|
25 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
26 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
27 |
+
* @property null|string|\Stripe\Customer $customer ID of the customer this charge is for if one exists.
|
28 |
+
* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users.
|
29 |
+
* @property null|string|\Stripe\Account $destination ID of an existing, connected Stripe account to transfer funds to if <code>transfer_data</code> was specified in the charge request.
|
30 |
+
* @property null|string|\Stripe\Dispute $dispute Details about the dispute if the charge has been disputed.
|
31 |
+
* @property bool $disputed Whether the charge has been disputed.
|
32 |
+
* @property null|string $failure_code Error code explaining reason for charge failure if available (see <a href="https://stripe.com/docs/api#errors">the errors section</a> for a list of codes).
|
33 |
+
* @property null|string $failure_message Message to user further explaining reason for charge failure if available.
|
34 |
+
* @property null|\Stripe\StripeObject $fraud_details Information on fraud assessments for the charge.
|
35 |
+
* @property null|string|\Stripe\Invoice $invoice ID of the invoice this charge is for if one exists.
|
36 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
37 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
38 |
+
* @property null|string|\Stripe\Account $on_behalf_of The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the <a href="https://stripe.com/docs/connect/charges-transfers">Connect documentation</a> for details.
|
39 |
+
* @property null|string|\Stripe\Order $order ID of the order this charge is for if one exists.
|
40 |
+
* @property null|\Stripe\StripeObject $outcome Details about whether the payment was accepted, and why. See <a href="https://stripe.com/docs/declines">understanding declines</a> for details.
|
41 |
+
* @property bool $paid <code>true</code> if the charge succeeded, or was successfully authorized for later capture.
|
42 |
+
* @property null|string|\Stripe\PaymentIntent $payment_intent ID of the PaymentIntent associated with this charge, if one exists.
|
43 |
+
* @property null|string $payment_method ID of the payment method used in this charge.
|
44 |
+
* @property null|\Stripe\StripeObject $payment_method_details Details about the payment method at the time of the transaction.
|
45 |
+
* @property null|string $receipt_email This is the email address that the receipt for this charge was sent to.
|
46 |
+
* @property null|string $receipt_number This is the transaction number that appears on email receipts sent for this charge. This attribute will be <code>null</code> until a receipt has been sent.
|
47 |
+
* @property null|string $receipt_url This is the URL to view the receipt for this charge. The receipt is kept up-to-date to the latest state of the charge, including any refunds. If the charge is for an Invoice, the receipt will be stylized as an Invoice receipt.
|
48 |
+
* @property bool $refunded Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false.
|
49 |
+
* @property \Stripe\Collection $refunds A list of refunds that have been applied to the charge.
|
50 |
+
* @property null|string|\Stripe\Review $review ID of the review associated with this charge if one exists.
|
51 |
+
* @property null|\Stripe\StripeObject $shipping Shipping information for the charge.
|
52 |
+
* @property null|\Stripe\StripeObject $source This is a legacy field that will be removed in the future. It contains the Source, Card, or BankAccount object used for the charge. For details about the payment method used for this charge, refer to <code>payment_method</code> or <code>payment_method_details</code> instead.
|
53 |
+
* @property null|string|\Stripe\Transfer $source_transfer The transfer ID which created this charge. Only present if the charge came from another Stripe account. <a href="https://stripe.com/docs/connect/destination-charges">See the Connect documentation</a> for details.
|
54 |
+
* @property null|string $statement_descriptor For card charges, use <code>statement_descriptor_suffix</code> instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters.
|
55 |
+
* @property null|string $statement_descriptor_suffix Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
|
56 |
+
* @property string $status The status of the payment is either <code>succeeded</code>, <code>pending</code>, or <code>failed</code>.
|
57 |
+
* @property string|\Stripe\Transfer $transfer ID of the transfer to the <code>destination</code> account (only applicable if the charge was created using the <code>destination</code> parameter).
|
58 |
+
* @property null|\Stripe\StripeObject $transfer_data An optional dictionary including the account to automatically transfer to as part of a destination charge. <a href="https://stripe.com/docs/connect/destination-charges">See the Connect documentation</a> for details.
|
59 |
+
* @property null|string $transfer_group A string that identifies this transaction as part of a group. See the <a href="https://stripe.com/docs/connect/charges-transfers#transfer-options">Connect documentation</a> for details.
|
60 |
*/
|
61 |
class Charge extends ApiResource
|
62 |
{
|
63 |
+
const OBJECT_NAME = 'charge';
|
64 |
|
65 |
use ApiOperations\All;
|
66 |
use ApiOperations\Create;
|
67 |
use ApiOperations\Retrieve;
|
68 |
use ApiOperations\Update;
|
69 |
|
70 |
+
const STATUS_FAILED = 'failed';
|
71 |
+
const STATUS_PENDING = 'pending';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
const STATUS_SUCCEEDED = 'succeeded';
|
73 |
|
74 |
/**
|
75 |
+
* Possible string representations of decline codes.
|
76 |
+
* These strings are applicable to the decline_code property of the \Stripe\Exception\CardException exception.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
*
|
78 |
+
* @see https://stripe.com/docs/declines/codes
|
79 |
*/
|
80 |
+
const DECLINED_AUTHENTICATION_REQUIRED = 'authentication_required';
|
81 |
+
const DECLINED_APPROVE_WITH_ID = 'approve_with_id';
|
82 |
+
const DECLINED_CALL_ISSUER = 'call_issuer';
|
83 |
+
const DECLINED_CARD_NOT_SUPPORTED = 'card_not_supported';
|
84 |
+
const DECLINED_CARD_VELOCITY_EXCEEDED = 'card_velocity_exceeded';
|
85 |
+
const DECLINED_CURRENCY_NOT_SUPPORTED = 'currency_not_supported';
|
86 |
+
const DECLINED_DO_NOT_HONOR = 'do_not_honor';
|
87 |
+
const DECLINED_DO_NOT_TRY_AGAIN = 'do_not_try_again';
|
88 |
+
const DECLINED_DUPLICATED_TRANSACTION = 'duplicate_transaction';
|
89 |
+
const DECLINED_EXPIRED_CARD = 'expired_card';
|
90 |
+
const DECLINED_FRAUDULENT = 'fraudulent';
|
91 |
+
const DECLINED_GENERIC_DECLINE = 'generic_decline';
|
92 |
+
const DECLINED_INCORRECT_NUMBER = 'incorrect_number';
|
93 |
+
const DECLINED_INCORRECT_CVC = 'incorrect_cvc';
|
94 |
+
const DECLINED_INCORRECT_PIN = 'incorrect_pin';
|
95 |
+
const DECLINED_INCORRECT_ZIP = 'incorrect_zip';
|
96 |
+
const DECLINED_INSUFFICIENT_FUNDS = 'insufficient_funds';
|
97 |
+
const DECLINED_INVALID_ACCOUNT = 'invalid_account';
|
98 |
+
const DECLINED_INVALID_AMOUNT = 'invalid_amount';
|
99 |
+
const DECLINED_INVALID_CVC = 'invalid_cvc';
|
100 |
+
const DECLINED_INVALID_EXPIRY_YEAR = 'invalid_expiry_year';
|
101 |
+
const DECLINED_INVALID_NUMBER = 'invalid_number';
|
102 |
+
const DECLINED_INVALID_PIN = 'invalid_pin';
|
103 |
+
const DECLINED_ISSUER_NOT_AVAILABLE = 'issuer_not_available';
|
104 |
+
const DECLINED_LOST_CARD = 'lost_card';
|
105 |
+
const DECLINED_MERCHANT_BLACKLIST = 'merchant_blacklist';
|
106 |
+
const DECLINED_NEW_ACCOUNT_INFORMATION_AVAILABLE = 'new_account_information_available';
|
107 |
+
const DECLINED_NO_ACTION_TAKEN = 'no_action_taken';
|
108 |
+
const DECLINED_NOT_PERMITTED = 'not_permitted';
|
109 |
+
const DECLINED_OFFLINE_PIN_REQUIRED = 'offline_pin_required';
|
110 |
+
const DECLINED_ONLINE_OR_OFFLINE_PIN_REQUIRED = 'online_or_offline_pin_required';
|
111 |
+
const DECLINED_PICKUP_CARD = 'pickup_card';
|
112 |
+
const DECLINED_PIN_TRY_EXCEEDED = 'pin_try_exceeded';
|
113 |
+
const DECLINED_PROCESSING_ERROR = 'processing_error';
|
114 |
+
const DECLINED_REENTER_TRANSACTION = 'reenter_transaction';
|
115 |
+
const DECLINED_RESTRICTED_CARD = 'restricted_card';
|
116 |
+
const DECLINED_REVOCATION_OF_ALL_AUTHORIZATIONS = 'revocation_of_all_authorizations';
|
117 |
+
const DECLINED_REVOCATION_OF_AUTHORIZATION = 'revocation_of_authorization';
|
118 |
+
const DECLINED_SECURITY_VIOLATION = 'security_violation';
|
119 |
+
const DECLINED_SERVICE_NOT_ALLOWED = 'service_not_allowed';
|
120 |
+
const DECLINED_STOLEN_CARD = 'stolen_card';
|
121 |
+
const DECLINED_STOP_PAYMENT_ORDER = 'stop_payment_order';
|
122 |
+
const DECLINED_TESTMODE_DECLINE = 'testmode_decline';
|
123 |
+
const DECLINED_TRANSACTION_NOT_ALLOWED = 'transaction_not_allowed';
|
124 |
+
const DECLINED_TRY_AGAIN_LATER = 'try_again_later';
|
125 |
+
const DECLINED_WITHDRAWAL_COUNT_LIMIT_EXCEEDED = 'withdrawal_count_limit_exceeded';
|
126 |
|
127 |
/**
|
128 |
+
* @param null|array $params
|
129 |
+
* @param null|array|string $opts
|
130 |
*
|
131 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
132 |
*
|
133 |
+
* @return Charge the captured charge
|
134 |
*/
|
135 |
+
public function capture($params = null, $opts = null)
|
136 |
{
|
137 |
+
$url = $this->instanceUrl() . '/capture';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
139 |
$this->refreshFrom($response, $opts);
|
|
|
|
|
140 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
return $this;
|
142 |
}
|
143 |
}
|
lib/stripe-gateway/lib/Checkout/Session.php
CHANGED
@@ -3,37 +3,54 @@
|
|
3 |
namespace Stripe\Checkout;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
*
|
12 |
-
*
|
13 |
-
* @property string $customer_email
|
14 |
-
* @property mixed $display_items
|
15 |
-
* @property bool $livemode
|
16 |
-
* @property string $payment_intent
|
17 |
-
* @property string[] $payment_method_types
|
18 |
-
* @property string $submit_type
|
19 |
-
* @property string $subscription
|
20 |
-
* @property string $success_url
|
21 |
*
|
22 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
*/
|
24 |
class Session extends \Stripe\ApiResource
|
25 |
{
|
26 |
-
const OBJECT_NAME =
|
27 |
|
|
|
28 |
use \Stripe\ApiOperations\Create;
|
29 |
use \Stripe\ApiOperations\Retrieve;
|
30 |
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
const SUBMIT_TYPE_AUTO = 'auto';
|
36 |
-
const SUBMIT_TYPE_BOOK = 'book';
|
37 |
-
const SUBMIT_TYPE_DONATE = 'donate';
|
38 |
-
const SUBMIT_TYPE_PAY = 'pay';
|
39 |
}
|
3 |
namespace Stripe\Checkout;
|
4 |
|
5 |
/**
|
6 |
+
* A Checkout Session represents your customer's session as they pay for one-time
|
7 |
+
* purchases or subscriptions through <a
|
8 |
+
* href="https://stripe.com/docs/payments/checkout">Checkout</a>. We recommend
|
9 |
+
* creating a new Session each time your customer attempts to pay.
|
10 |
*
|
11 |
+
* Once payment is successful, the Checkout Session will contain a reference to the
|
12 |
+
* <a href="https://stripe.com/docs/api/customers">Customer</a>, and either the
|
13 |
+
* successful <a
|
14 |
+
* href="https://stripe.com/docs/api/payment_intents">PaymentIntent</a> or an
|
15 |
+
* active <a href="https://stripe.com/docs/api/subscriptions">Subscription</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
*
|
17 |
+
* You can create a Checkout Session on your server and pass its ID to the client
|
18 |
+
* to begin Checkout.
|
19 |
+
*
|
20 |
+
* Related guide: <a href="https://stripe.com/docs/payments/checkout/api">Checkout
|
21 |
+
* Server Quickstart</a>.
|
22 |
+
*
|
23 |
+
* @property string $id Unique identifier for the object. Used to pass to <code>redirectToCheckout</code> in Stripe.js.
|
24 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
25 |
+
* @property null|string $billing_address_collection The value (<code>auto</code> or <code>required</code>) for whether Checkout collected the customer's billing address.
|
26 |
+
* @property string $cancel_url The URL the customer will be directed to if they decide to cancel payment and return to your website.
|
27 |
+
* @property null|string $client_reference_id A unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or similar, and can be used to reconcile the session with your internal systems.
|
28 |
+
* @property null|string|\Stripe\Customer $customer The ID of the customer for this session. For Checkout Sessions in <code>payment</code> or <code>subscription</code> mode, Checkout will create a new customer object based on information provided during the session unless an existing customer was provided when the session was created.
|
29 |
+
* @property null|string $customer_email If provided, this value will be used when the Customer object is created. If not provided, customers will be asked to enter their email address. Use this parameter to prefill customer data if you already have an email on file. To access information about the customer once a session is complete, use the <code>customer</code> field.
|
30 |
+
* @property null|\Stripe\StripeObject[] $display_items The line items, plans, or SKUs purchased by the customer.
|
31 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
32 |
+
* @property null|string $locale The IETF language tag of the locale Checkout is displayed in. If blank or <code>auto</code>, the browser's locale is used.
|
33 |
+
* @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
34 |
+
* @property null|string $mode The mode of the Checkout Session, one of <code>payment</code>, <code>setup</code>, or <code>subscription</code>.
|
35 |
+
* @property null|string|\Stripe\PaymentIntent $payment_intent The ID of the PaymentIntent for Checkout Sessions in <code>payment</code> mode.
|
36 |
+
* @property string[] $payment_method_types A list of the types of payment methods (e.g. card) this Checkout Session is allowed to accept.
|
37 |
+
* @property null|string|\Stripe\SetupIntent $setup_intent The ID of the SetupIntent for Checkout Sessions in <code>setup</code> mode.
|
38 |
+
* @property null|\Stripe\StripeObject $shipping Shipping information for this Checkout Session.
|
39 |
+
* @property null|\Stripe\StripeObject $shipping_address_collection When set, provides configuration for Checkout to collect a shipping address from a customer.
|
40 |
+
* @property null|string $submit_type Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button. <code>submit_type</code> can only be specified on Checkout Sessions in <code>payment</code> mode, but not Checkout Sessions in <code>subscription</code> or <code>setup</code> mode.
|
41 |
+
* @property null|string|\Stripe\Subscription $subscription The ID of the subscription for Checkout Sessions in <code>subscription</code> mode.
|
42 |
+
* @property string $success_url The URL the customer will be directed to after the payment or subscription creation is successful.
|
43 |
*/
|
44 |
class Session extends \Stripe\ApiResource
|
45 |
{
|
46 |
+
const OBJECT_NAME = 'checkout.session';
|
47 |
|
48 |
+
use \Stripe\ApiOperations\All;
|
49 |
use \Stripe\ApiOperations\Create;
|
50 |
use \Stripe\ApiOperations\Retrieve;
|
51 |
|
52 |
+
const SUBMIT_TYPE_AUTO = 'auto';
|
53 |
+
const SUBMIT_TYPE_BOOK = 'book';
|
54 |
+
const SUBMIT_TYPE_DONATE = 'donate';
|
55 |
+
const SUBMIT_TYPE_PAY = 'pay';
|
|
|
|
|
|
|
|
|
56 |
}
|
lib/stripe-gateway/lib/Collection.php
CHANGED
@@ -3,73 +3,118 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
* Class Collection
|
7 |
*
|
8 |
* @property string $object
|
9 |
* @property string $url
|
10 |
* @property bool $has_more
|
11 |
-
* @property
|
12 |
-
*
|
13 |
-
* @package Stripe
|
14 |
*/
|
15 |
-
class Collection extends StripeObject implements \IteratorAggregate
|
16 |
{
|
17 |
-
const OBJECT_NAME =
|
18 |
|
19 |
use ApiOperations\Request;
|
20 |
|
21 |
-
|
|
|
22 |
|
23 |
/**
|
24 |
-
* @return string
|
25 |
*/
|
26 |
public static function baseUrl()
|
27 |
{
|
28 |
return Stripe::$apiBase;
|
29 |
}
|
30 |
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
{
|
33 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
}
|
35 |
|
36 |
public function all($params = null, $opts = null)
|
37 |
{
|
|
|
38 |
list($url, $params) = $this->extractPathAndUpdateParams($params);
|
39 |
|
40 |
list($response, $opts) = $this->_request('get', $url, $params, $opts);
|
41 |
-
$
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
}
|
44 |
|
45 |
public function create($params = null, $opts = null)
|
46 |
{
|
|
|
47 |
list($url, $params) = $this->extractPathAndUpdateParams($params);
|
48 |
|
49 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
50 |
-
|
51 |
return Util\Util::convertToStripeObject($response, $opts);
|
52 |
}
|
53 |
|
54 |
public function retrieve($id, $params = null, $opts = null)
|
55 |
{
|
|
|
56 |
list($url, $params) = $this->extractPathAndUpdateParams($params);
|
57 |
|
58 |
$id = Util\Util::utf8($id);
|
59 |
-
$extn = urlencode($id);
|
60 |
list($response, $opts) = $this->_request(
|
61 |
'get',
|
62 |
-
"$url
|
63 |
$params,
|
64 |
$opts
|
65 |
);
|
66 |
-
|
67 |
return Util\Util::convertToStripeObject($response, $opts);
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
-
* @return
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
*/
|
74 |
public function getIterator()
|
75 |
{
|
@@ -77,29 +122,138 @@ class Collection extends StripeObject implements \IteratorAggregate
|
|
77 |
}
|
78 |
|
79 |
/**
|
80 |
-
* @return
|
81 |
-
* across
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
* encountered, the next page will be fetched automatically for
|
83 |
* continued iteration.
|
84 |
*/
|
85 |
public function autoPagingIterator()
|
86 |
{
|
87 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
}
|
89 |
|
90 |
private function extractPathAndUpdateParams($params)
|
91 |
{
|
92 |
-
$url = parse_url($this->url);
|
93 |
if (!isset($url['path'])) {
|
94 |
-
throw new
|
95 |
}
|
96 |
|
97 |
if (isset($url['query'])) {
|
98 |
// If the URL contains a query param, parse it out into $params so they
|
99 |
// don't interact weirdly with each other.
|
100 |
$query = [];
|
101 |
-
parse_str($url['query'], $query);
|
102 |
-
$params = array_merge($params ?: [], $query);
|
103 |
}
|
104 |
|
105 |
return [$url['path'], $params];
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Class Collection.
|
7 |
*
|
8 |
* @property string $object
|
9 |
* @property string $url
|
10 |
* @property bool $has_more
|
11 |
+
* @property \Stripe\StripeObject[] $data
|
|
|
|
|
12 |
*/
|
13 |
+
class Collection extends StripeObject implements \Countable, \IteratorAggregate
|
14 |
{
|
15 |
+
const OBJECT_NAME = 'list';
|
16 |
|
17 |
use ApiOperations\Request;
|
18 |
|
19 |
+
/** @var array */
|
20 |
+
protected $filters = [];
|
21 |
|
22 |
/**
|
23 |
+
* @return string the base URL for the given class
|
24 |
*/
|
25 |
public static function baseUrl()
|
26 |
{
|
27 |
return Stripe::$apiBase;
|
28 |
}
|
29 |
|
30 |
+
/**
|
31 |
+
* Returns the filters.
|
32 |
+
*
|
33 |
+
* @return array the filters
|
34 |
+
*/
|
35 |
+
public function getFilters()
|
36 |
+
{
|
37 |
+
return $this->filters;
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Sets the filters, removing paging options.
|
42 |
+
*
|
43 |
+
* @param array $filters the filters
|
44 |
+
*/
|
45 |
+
public function setFilters($filters)
|
46 |
+
{
|
47 |
+
$this->filters = $filters;
|
48 |
+
}
|
49 |
+
|
50 |
+
public function offsetGet($k)
|
51 |
{
|
52 |
+
if (\is_string($k)) {
|
53 |
+
return parent::offsetGet($k);
|
54 |
+
}
|
55 |
+
$msg = "You tried to access the {$k} index, but Collection " .
|
56 |
+
'types only support string keys. (HINT: List calls ' .
|
57 |
+
'return an object with a `data` (which is the data ' .
|
58 |
+
"array). You likely want to call ->data[{$k}])";
|
59 |
+
|
60 |
+
throw new Exception\InvalidArgumentException($msg);
|
61 |
}
|
62 |
|
63 |
public function all($params = null, $opts = null)
|
64 |
{
|
65 |
+
self::_validateParams($params);
|
66 |
list($url, $params) = $this->extractPathAndUpdateParams($params);
|
67 |
|
68 |
list($response, $opts) = $this->_request('get', $url, $params, $opts);
|
69 |
+
$obj = Util\Util::convertToStripeObject($response, $opts);
|
70 |
+
if (!($obj instanceof \Stripe\Collection)) {
|
71 |
+
throw new \Stripe\Exception\UnexpectedValueException(
|
72 |
+
'Expected type ' . \Stripe\Collection::class . ', got "' . \get_class($obj) . '" instead.'
|
73 |
+
);
|
74 |
+
}
|
75 |
+
$obj->setFilters($params);
|
76 |
+
|
77 |
+
return $obj;
|
78 |
}
|
79 |
|
80 |
public function create($params = null, $opts = null)
|
81 |
{
|
82 |
+
self::_validateParams($params);
|
83 |
list($url, $params) = $this->extractPathAndUpdateParams($params);
|
84 |
|
85 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
86 |
+
|
87 |
return Util\Util::convertToStripeObject($response, $opts);
|
88 |
}
|
89 |
|
90 |
public function retrieve($id, $params = null, $opts = null)
|
91 |
{
|
92 |
+
self::_validateParams($params);
|
93 |
list($url, $params) = $this->extractPathAndUpdateParams($params);
|
94 |
|
95 |
$id = Util\Util::utf8($id);
|
96 |
+
$extn = \urlencode($id);
|
97 |
list($response, $opts) = $this->_request(
|
98 |
'get',
|
99 |
+
"{$url}/{$extn}",
|
100 |
$params,
|
101 |
$opts
|
102 |
);
|
103 |
+
|
104 |
return Util\Util::convertToStripeObject($response, $opts);
|
105 |
}
|
106 |
|
107 |
/**
|
108 |
+
* @return int the number of objects in the current page
|
109 |
+
*/
|
110 |
+
public function count()
|
111 |
+
{
|
112 |
+
return \count($this->data);
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* @return \ArrayIterator an iterator that can be used to iterate
|
117 |
+
* across objects in the current page
|
118 |
*/
|
119 |
public function getIterator()
|
120 |
{
|
122 |
}
|
123 |
|
124 |
/**
|
125 |
+
* @return \ArrayIterator an iterator that can be used to iterate
|
126 |
+
* backwards across objects in the current page
|
127 |
+
*/
|
128 |
+
public function getReverseIterator()
|
129 |
+
{
|
130 |
+
return new \ArrayIterator(\array_reverse($this->data));
|
131 |
+
}
|
132 |
+
|
133 |
+
/**
|
134 |
+
* @return \Generator|StripeObject[] A generator that can be used to
|
135 |
+
* iterate across all objects across all pages. As page boundaries are
|
136 |
* encountered, the next page will be fetched automatically for
|
137 |
* continued iteration.
|
138 |
*/
|
139 |
public function autoPagingIterator()
|
140 |
{
|
141 |
+
$page = $this;
|
142 |
+
|
143 |
+
while (true) {
|
144 |
+
$filters = $this->filters ?: [];
|
145 |
+
if (\array_key_exists('ending_before', $filters) &&
|
146 |
+
!\array_key_exists('starting_after', $filters)) {
|
147 |
+
foreach ($page->getReverseIterator() as $item) {
|
148 |
+
yield $item;
|
149 |
+
}
|
150 |
+
$page = $page->previousPage();
|
151 |
+
} else {
|
152 |
+
foreach ($page as $item) {
|
153 |
+
yield $item;
|
154 |
+
}
|
155 |
+
$page = $page->nextPage();
|
156 |
+
}
|
157 |
+
|
158 |
+
if ($page->isEmpty()) {
|
159 |
+
break;
|
160 |
+
}
|
161 |
+
}
|
162 |
+
}
|
163 |
+
|
164 |
+
/**
|
165 |
+
* Returns an empty collection. This is returned from {@see nextPage()}
|
166 |
+
* when we know that there isn't a next page in order to replicate the
|
167 |
+
* behavior of the API when it attempts to return a page beyond the last.
|
168 |
+
*
|
169 |
+
* @param null|array|string $opts
|
170 |
+
*
|
171 |
+
* @return Collection
|
172 |
+
*/
|
173 |
+
public static function emptyCollection($opts = null)
|
174 |
+
{
|
175 |
+
return Collection::constructFrom(['data' => []], $opts);
|
176 |
+
}
|
177 |
+
|
178 |
+
/**
|
179 |
+
* Returns true if the page object contains no element.
|
180 |
+
*
|
181 |
+
* @return bool
|
182 |
+
*/
|
183 |
+
public function isEmpty()
|
184 |
+
{
|
185 |
+
return empty($this->data);
|
186 |
+
}
|
187 |
+
|
188 |
+
/**
|
189 |
+
* Fetches the next page in the resource list (if there is one).
|
190 |
+
*
|
191 |
+
* This method will try to respect the limit of the current page. If none
|
192 |
+
* was given, the default limit will be fetched again.
|
193 |
+
*
|
194 |
+
* @param null|array $params
|
195 |
+
* @param null|array|string $opts
|
196 |
+
*
|
197 |
+
* @return Collection
|
198 |
+
*/
|
199 |
+
public function nextPage($params = null, $opts = null)
|
200 |
+
{
|
201 |
+
if (!$this->has_more) {
|
202 |
+
return static::emptyCollection($opts);
|
203 |
+
}
|
204 |
+
|
205 |
+
$lastId = \end($this->data)->id;
|
206 |
+
|
207 |
+
$params = \array_merge(
|
208 |
+
$this->filters ?: [],
|
209 |
+
['starting_after' => $lastId],
|
210 |
+
$params ?: []
|
211 |
+
);
|
212 |
+
|
213 |
+
return $this->all($params, $opts);
|
214 |
+
}
|
215 |
+
|
216 |
+
/**
|
217 |
+
* Fetches the previous page in the resource list (if there is one).
|
218 |
+
*
|
219 |
+
* This method will try to respect the limit of the current page. If none
|
220 |
+
* was given, the default limit will be fetched again.
|
221 |
+
*
|
222 |
+
* @param null|array $params
|
223 |
+
* @param null|array|string $opts
|
224 |
+
*
|
225 |
+
* @return Collection
|
226 |
+
*/
|
227 |
+
public function previousPage($params = null, $opts = null)
|
228 |
+
{
|
229 |
+
if (!$this->has_more) {
|
230 |
+
return static::emptyCollection($opts);
|
231 |
+
}
|
232 |
+
|
233 |
+
$firstId = $this->data[0]->id;
|
234 |
+
|
235 |
+
$params = \array_merge(
|
236 |
+
$this->filters ?: [],
|
237 |
+
['ending_before' => $firstId],
|
238 |
+
$params ?: []
|
239 |
+
);
|
240 |
+
|
241 |
+
return $this->all($params, $opts);
|
242 |
}
|
243 |
|
244 |
private function extractPathAndUpdateParams($params)
|
245 |
{
|
246 |
+
$url = \parse_url($this->url);
|
247 |
if (!isset($url['path'])) {
|
248 |
+
throw new Exception\UnexpectedValueException("Could not parse list url into parts: {$url}");
|
249 |
}
|
250 |
|
251 |
if (isset($url['query'])) {
|
252 |
// If the URL contains a query param, parse it out into $params so they
|
253 |
// don't interact weirdly with each other.
|
254 |
$query = [];
|
255 |
+
\parse_str($url['query'], $query);
|
256 |
+
$params = \array_merge($params ?: [], $query);
|
257 |
}
|
258 |
|
259 |
return [$url['path'], $params];
|
lib/stripe-gateway/lib/CountrySpec.php
CHANGED
@@ -3,22 +3,25 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
* @property string $default_currency
|
11 |
-
* @property mixed $supported_bank_account_currencies
|
12 |
-
* @property string[] $supported_payment_currencies
|
13 |
-
* @property string[] $supported_payment_methods
|
14 |
-
* @property string[] $supported_transfer_countries
|
15 |
-
* @property mixed $verification_fields
|
16 |
*
|
17 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
*/
|
19 |
class CountrySpec extends ApiResource
|
20 |
{
|
21 |
-
const OBJECT_NAME =
|
22 |
|
23 |
use ApiOperations\All;
|
24 |
use ApiOperations\Retrieve;
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Stripe needs to collect certain pieces of information about each account
|
7 |
+
* created. These requirements can differ depending on the account's country. The
|
8 |
+
* Country Specs API makes these rules available to your integration.
|
9 |
*
|
10 |
+
* You can also view the information from this API call as <a
|
11 |
+
* href="/docs/connect/required-verification-information">an online guide</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
*
|
13 |
+
* @property string $id Unique identifier for the object. Represented as the ISO country code for this country.
|
14 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
15 |
+
* @property string $default_currency The default currency for this country. This applies to both payment methods and bank accounts.
|
16 |
+
* @property \Stripe\StripeObject $supported_bank_account_currencies Currencies that can be accepted in the specific country (for transfers).
|
17 |
+
* @property string[] $supported_payment_currencies Currencies that can be accepted in the specified country (for payments).
|
18 |
+
* @property string[] $supported_payment_methods Payment methods available in the specified country. You may need to enable some payment methods (e.g., <a href="https://stripe.com/docs/ach">ACH</a>) on your account before they appear in this list. The <code>stripe</code> payment method refers to <a href="https://stripe.com/docs/connect/destination-charges">charging through your platform</a>.
|
19 |
+
* @property string[] $supported_transfer_countries Countries that can accept transfers from the specified country.
|
20 |
+
* @property \Stripe\StripeObject $verification_fields
|
21 |
*/
|
22 |
class CountrySpec extends ApiResource
|
23 |
{
|
24 |
+
const OBJECT_NAME = 'country_spec';
|
25 |
|
26 |
use ApiOperations\All;
|
27 |
use ApiOperations\Retrieve;
|
lib/stripe-gateway/lib/Coupon.php
CHANGED
@@ -3,29 +3,32 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
|
|
|
|
7 |
*
|
8 |
-
* @property string $id
|
9 |
-
* @property string $object
|
10 |
-
* @property int $amount_off
|
11 |
-
* @property int $created
|
12 |
-
* @property string $currency
|
13 |
-
* @property string $duration
|
14 |
-
* @property int $duration_in_months
|
15 |
-
* @property bool $livemode
|
16 |
-
* @property int $max_redemptions
|
17 |
-
* @property StripeObject $metadata
|
18 |
-
* @property string $name
|
19 |
-
* @property float $percent_off
|
20 |
-
* @property int $redeem_by
|
21 |
-
* @property int $times_redeemed
|
22 |
-
* @property bool $valid
|
23 |
-
*
|
24 |
-
* @package Stripe
|
25 |
*/
|
26 |
class Coupon extends ApiResource
|
27 |
{
|
28 |
-
const OBJECT_NAME =
|
29 |
|
30 |
use ApiOperations\All;
|
31 |
use ApiOperations\Create;
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* A coupon contains information about a percent-off or amount-off discount you
|
7 |
+
* might want to apply to a customer. Coupons may be applied to <a
|
8 |
+
* href="https://stripe.com/docs/api#invoices">invoices</a> or <a
|
9 |
+
* href="https://stripe.com/docs/api#create_order-coupon">orders</a>. Coupons do
|
10 |
+
* not work with conventional one-off <a
|
11 |
+
* href="https://stripe.com/docs/api#create_charge">charges</a>.
|
12 |
*
|
13 |
+
* @property string $id Unique identifier for the object.
|
14 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
15 |
+
* @property null|int $amount_off Amount (in the <code>currency</code> specified) that will be taken off the subtotal of any invoices for this customer.
|
16 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
17 |
+
* @property null|string $currency If <code>amount_off</code> has been set, the three-letter <a href="https://stripe.com/docs/currencies">ISO code for the currency</a> of the amount to take off.
|
18 |
+
* @property string $duration One of <code>forever</code>, <code>once</code>, and <code>repeating</code>. Describes how long a customer who applies this coupon will get the discount.
|
19 |
+
* @property null|int $duration_in_months If <code>duration</code> is <code>repeating</code>, the number of months the coupon applies. Null if coupon <code>duration</code> is <code>forever</code> or <code>once</code>.
|
20 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
21 |
+
* @property null|int $max_redemptions Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.
|
22 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
23 |
+
* @property null|string $name Name of the coupon displayed to customers on for instance invoices or receipts.
|
24 |
+
* @property null|float $percent_off Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a %s100 invoice %s50 instead.
|
25 |
+
* @property null|int $redeem_by Date after which the coupon can no longer be redeemed.
|
26 |
+
* @property int $times_redeemed Number of times this coupon has been applied to a customer.
|
27 |
+
* @property bool $valid Taking account of the above properties, whether this coupon can still be applied to a customer.
|
|
|
|
|
28 |
*/
|
29 |
class Coupon extends ApiResource
|
30 |
{
|
31 |
+
const OBJECT_NAME = 'coupon';
|
32 |
|
33 |
use ApiOperations\All;
|
34 |
use ApiOperations\Create;
|
lib/stripe-gateway/lib/CreditNote.php
CHANGED
@@ -3,71 +3,106 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
* @property int $amount
|
11 |
-
* @property string $customer_balance_transaction
|
12 |
-
* @property int $created
|
13 |
-
* @property string $currency
|
14 |
-
* @property string $customer
|
15 |
-
* @property string $invoice
|
16 |
-
* @property bool $livemode
|
17 |
-
* @property string $memo
|
18 |
-
* @property StripeObject $metadata
|
19 |
-
* @property string $number
|
20 |
-
* @property string $pdf
|
21 |
-
* @property string $reason
|
22 |
-
* @property string $refund
|
23 |
-
* @property string $status
|
24 |
-
* @property string $type
|
25 |
*
|
26 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
*/
|
28 |
class CreditNote extends ApiResource
|
29 |
{
|
30 |
-
const OBJECT_NAME =
|
31 |
|
32 |
use ApiOperations\All;
|
33 |
use ApiOperations\Create;
|
|
|
34 |
use ApiOperations\Retrieve;
|
35 |
use ApiOperations\Update;
|
36 |
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
*/
|
41 |
-
const REASON_DUPLICATE = 'duplicate';
|
42 |
-
const REASON_FRAUDULENT = 'fraudulent';
|
43 |
-
const REASON_ORDER_CHANGE = 'order_change';
|
44 |
const REASON_PRODUCT_UNSATISFACTORY = 'product_unsatisfactory';
|
45 |
|
46 |
-
/**
|
47 |
-
* Possible string representations of the credit note status.
|
48 |
-
* @link https://stripe.com/docs/api/credit_notes/object#credit_note_object-status
|
49 |
-
*/
|
50 |
const STATUS_ISSUED = 'issued';
|
51 |
-
const STATUS_VOID
|
|
|
|
|
|
|
52 |
|
53 |
/**
|
54 |
-
*
|
55 |
-
* @
|
|
|
|
|
|
|
|
|
56 |
*/
|
57 |
-
|
58 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
|
60 |
/**
|
61 |
-
* @param array
|
62 |
-
* @param array|string
|
|
|
|
|
63 |
*
|
64 |
-
* @return CreditNote
|
65 |
*/
|
66 |
public function voidCreditNote($params = null, $opts = null)
|
67 |
{
|
68 |
$url = $this->instanceUrl() . '/void';
|
69 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
70 |
$this->refreshFrom($response, $opts);
|
|
|
71 |
return $this;
|
72 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Issue a credit note to adjust an invoice's amount after the invoice is
|
7 |
+
* finalized.
|
8 |
*
|
9 |
+
* Related guide: <a
|
10 |
+
* href="https://stripe.com/docs/billing/invoices/credit-notes">Credit Notes</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
*
|
12 |
+
* @property string $id Unique identifier for the object.
|
13 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
14 |
+
* @property int $amount The integer amount in <strong>%s</strong> representing the total amount of the credit note, including tax.
|
15 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
16 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
17 |
+
* @property string|\Stripe\Customer $customer ID of the customer.
|
18 |
+
* @property null|string|\Stripe\CustomerBalanceTransaction $customer_balance_transaction Customer balance transaction related to this credit note.
|
19 |
+
* @property int $discount_amount The integer amount in <strong>%s</strong> representing the amount of the discount that was credited.
|
20 |
+
* @property string|\Stripe\Invoice $invoice ID of the invoice.
|
21 |
+
* @property \Stripe\Collection $lines Line items that make up the credit note
|
22 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
23 |
+
* @property null|string $memo Customer-facing text that appears on the credit note PDF.
|
24 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
25 |
+
* @property string $number A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice.
|
26 |
+
* @property null|int $out_of_band_amount Amount that was credited outside of Stripe.
|
27 |
+
* @property string $pdf The link to download the PDF of the credit note.
|
28 |
+
* @property null|string $reason Reason for issuing this credit note, one of <code>duplicate</code>, <code>fraudulent</code>, <code>order_change</code>, or <code>product_unsatisfactory</code>
|
29 |
+
* @property null|string|\Stripe\Refund $refund Refund related to this credit note.
|
30 |
+
* @property string $status Status of this credit note, one of <code>issued</code> or <code>void</code>. Learn more about <a href="https://stripe.com/docs/billing/invoices/credit-notes#voiding">voiding credit notes</a>.
|
31 |
+
* @property int $subtotal The integer amount in <strong>%s</strong> representing the amount of the credit note, excluding tax and discount.
|
32 |
+
* @property \Stripe\StripeObject[] $tax_amounts The aggregate amounts calculated per tax rate for all line items.
|
33 |
+
* @property int $total The integer amount in <strong>%s</strong> representing the total amount of the credit note, including tax and discount.
|
34 |
+
* @property string $type Type of this credit note, one of <code>pre_payment</code> or <code>post_payment</code>. A <code>pre_payment</code> credit note means it was issued when the invoice was open. A <code>post_payment</code> credit note means it was issued when the invoice was paid.
|
35 |
+
* @property null|int $voided_at The time that the credit note was voided.
|
36 |
*/
|
37 |
class CreditNote extends ApiResource
|
38 |
{
|
39 |
+
const OBJECT_NAME = 'credit_note';
|
40 |
|
41 |
use ApiOperations\All;
|
42 |
use ApiOperations\Create;
|
43 |
+
use ApiOperations\NestedResource;
|
44 |
use ApiOperations\Retrieve;
|
45 |
use ApiOperations\Update;
|
46 |
|
47 |
+
const REASON_DUPLICATE = 'duplicate';
|
48 |
+
const REASON_FRAUDULENT = 'fraudulent';
|
49 |
+
const REASON_ORDER_CHANGE = 'order_change';
|
|
|
|
|
|
|
|
|
50 |
const REASON_PRODUCT_UNSATISFACTORY = 'product_unsatisfactory';
|
51 |
|
|
|
|
|
|
|
|
|
52 |
const STATUS_ISSUED = 'issued';
|
53 |
+
const STATUS_VOID = 'void';
|
54 |
+
|
55 |
+
const TYPE_POST_PAYMENT = 'post_payment';
|
56 |
+
const TYPE_PRE_PAYMENT = 'pre_payment';
|
57 |
|
58 |
/**
|
59 |
+
* @param null|array $params
|
60 |
+
* @param null|array|string $opts
|
61 |
+
*
|
62 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
63 |
+
*
|
64 |
+
* @return \Stripe\CreditNote the previewed credit note
|
65 |
*/
|
66 |
+
public static function preview($params = null, $opts = null)
|
67 |
+
{
|
68 |
+
$url = static::classUrl() . '/preview';
|
69 |
+
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
|
70 |
+
$obj = Util\Util::convertToStripeObject($response->json, $opts);
|
71 |
+
$obj->setLastResponse($response);
|
72 |
+
|
73 |
+
return $obj;
|
74 |
+
}
|
75 |
|
76 |
/**
|
77 |
+
* @param null|array $params
|
78 |
+
* @param null|array|string $opts
|
79 |
+
*
|
80 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
81 |
*
|
82 |
+
* @return CreditNote the voided credit note
|
83 |
*/
|
84 |
public function voidCreditNote($params = null, $opts = null)
|
85 |
{
|
86 |
$url = $this->instanceUrl() . '/void';
|
87 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
88 |
$this->refreshFrom($response, $opts);
|
89 |
+
|
90 |
return $this;
|
91 |
}
|
92 |
+
|
93 |
+
const PATH_LINES = '/lines';
|
94 |
+
|
95 |
+
/**
|
96 |
+
* @param string $id the ID of the credit note on which to retrieve the credit note line items
|
97 |
+
* @param null|array $params
|
98 |
+
* @param null|array|string $opts
|
99 |
+
*
|
100 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
101 |
+
*
|
102 |
+
* @return \Stripe\Collection the list of credit note line items
|
103 |
+
*/
|
104 |
+
public static function allLines($id, $params = null, $opts = null)
|
105 |
+
{
|
106 |
+
return self::_allNestedResources($id, static::PATH_LINES, $params, $opts);
|
107 |
+
}
|
108 |
}
|
lib/stripe-gateway/lib/CreditNoteLineItem.php
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* @property string $id Unique identifier for the object.
|
7 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
8 |
+
* @property int $amount The integer amount in <strong>%s</strong> representing the gross amount being credited for this line item, excluding (exclusive) tax and discounts.
|
9 |
+
* @property null|string $description Description of the item being credited.
|
10 |
+
* @property int $discount_amount The integer amount in <strong>%s</strong> representing the discount being credited for this line item.
|
11 |
+
* @property string $invoice_line_item ID of the invoice line item being credited
|
12 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
13 |
+
* @property null|int $quantity The number of units of product being credited.
|
14 |
+
* @property \Stripe\StripeObject[] $tax_amounts The amount of tax calculated per tax rate for this line item
|
15 |
+
* @property \Stripe\TaxRate[] $tax_rates The tax rates which apply to the line item.
|
16 |
+
* @property string $type The type of the credit note line item, one of <code>invoice_line_item</code> or <code>custom_line_item</code>. When the type is <code>invoice_line_item</code> there is an additional <code>invoice_line_item</code> property on the resource the value of which is the id of the credited line item on the invoice.
|
17 |
+
* @property null|int $unit_amount The cost of each unit of product being credited.
|
18 |
+
* @property null|string $unit_amount_decimal Same as <code>unit_amount</code>, but contains a decimal value with at most 12 decimal places.
|
19 |
+
*/
|
20 |
+
class CreditNoteLineItem extends ApiResource
|
21 |
+
{
|
22 |
+
const OBJECT_NAME = 'credit_note_line_item';
|
23 |
+
}
|
lib/stripe-gateway/lib/Customer.php
CHANGED
@@ -3,37 +3,42 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
* @property mixed $address
|
11 |
-
* @property int $balance
|
12 |
-
* @property string $created
|
13 |
-
* @property string $currency
|
14 |
-
* @property string $default_source
|
15 |
-
* @property bool $delinquent
|
16 |
-
* @property string $description
|
17 |
-
* @property Discount $discount
|
18 |
-
* @property string $email
|
19 |
-
* @property string $invoice_prefix
|
20 |
-
* @property mixed $invoice_settings
|
21 |
-
* @property bool $livemode
|
22 |
-
* @property StripeObject $metadata
|
23 |
-
* @property string $name
|
24 |
-
* @property string $phone
|
25 |
-
* @property string[] preferred_locales
|
26 |
-
* @property mixed $shipping
|
27 |
-
* @property Collection $sources
|
28 |
-
* @property Collection $subscriptions
|
29 |
-
* @property string $tax_exempt
|
30 |
-
* @property Collection $tax_ids
|
31 |
*
|
32 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
*/
|
34 |
class Customer extends ApiResource
|
35 |
{
|
36 |
-
const OBJECT_NAME =
|
37 |
|
38 |
use ApiOperations\All;
|
39 |
use ApiOperations\Create;
|
@@ -42,162 +47,134 @@ class Customer extends ApiResource
|
|
42 |
use ApiOperations\Retrieve;
|
43 |
use ApiOperations\Update;
|
44 |
|
45 |
-
|
46 |
-
|
47 |
-
* @link https://stripe.com/docs/api/customers/object#customer_object-tax_exempt
|
48 |
-
*/
|
49 |
-
const TAX_EXEMPT_NONE = 'none';
|
50 |
-
const TAX_EXEMPT_EXEMPT = 'exempt';
|
51 |
const TAX_EXEMPT_REVERSE = 'reverse';
|
52 |
|
53 |
public static function getSavedNestedResources()
|
54 |
{
|
55 |
static $savedNestedResources = null;
|
56 |
-
if (
|
57 |
$savedNestedResources = new Util\Set([
|
58 |
'source',
|
59 |
]);
|
60 |
}
|
|
|
61 |
return $savedNestedResources;
|
62 |
}
|
63 |
|
64 |
-
const PATH_BALANCE_TRANSACTIONS = '/balance_transactions';
|
65 |
-
const PATH_SOURCES = '/sources';
|
66 |
-
const PATH_TAX_IDS = '/tax_ids';
|
67 |
-
|
68 |
/**
|
69 |
-
* @param array
|
|
|
70 |
*
|
71 |
-
* @return
|
72 |
*/
|
73 |
-
public function
|
74 |
{
|
75 |
-
$
|
76 |
-
$
|
77 |
-
$
|
78 |
-
return $ii;
|
79 |
}
|
80 |
|
81 |
-
|
82 |
-
* @param array|null $params
|
83 |
-
*
|
84 |
-
* @return array An array of the customer's Invoices.
|
85 |
-
*/
|
86 |
-
public function invoices($params = null)
|
87 |
-
{
|
88 |
-
$params = $params ?: [];
|
89 |
-
$params['customer'] = $this->id;
|
90 |
-
$invoices = Invoice::all($params, $this->_opts);
|
91 |
-
return $invoices;
|
92 |
-
}
|
93 |
|
94 |
/**
|
95 |
-
* @param
|
|
|
|
|
96 |
*
|
97 |
-
* @
|
|
|
|
|
98 |
*/
|
99 |
-
public function
|
100 |
{
|
101 |
-
$
|
102 |
-
$params['customer'] = $this->id;
|
103 |
-
$iis = InvoiceItem::all($params, $this->_opts);
|
104 |
-
return $iis;
|
105 |
}
|
106 |
|
107 |
/**
|
108 |
-
* @param
|
|
|
|
|
109 |
*
|
110 |
-
* @
|
|
|
|
|
111 |
*/
|
112 |
-
public function
|
113 |
{
|
114 |
-
$
|
115 |
-
$params['customer'] = $this->id;
|
116 |
-
$charges = Charge::all($params, $this->_opts);
|
117 |
-
return $charges;
|
118 |
}
|
119 |
|
120 |
/**
|
121 |
-
* @param
|
|
|
|
|
|
|
122 |
*
|
123 |
-
* @
|
|
|
|
|
124 |
*/
|
125 |
-
public function
|
126 |
{
|
127 |
-
$
|
128 |
-
list($response, $opts) = $this->_request('post', $url, $params);
|
129 |
-
$this->refreshFrom(['subscription' => $response], $opts, true);
|
130 |
-
return $this->subscription;
|
131 |
}
|
132 |
|
133 |
/**
|
134 |
-
* @param
|
|
|
|
|
|
|
135 |
*
|
136 |
-
* @
|
|
|
|
|
137 |
*/
|
138 |
-
public function
|
139 |
{
|
140 |
-
$
|
141 |
-
list($response, $opts) = $this->_request('delete', $url, $params);
|
142 |
-
$this->refreshFrom(['subscription' => $response], $opts, true);
|
143 |
-
return $this->subscription;
|
144 |
}
|
145 |
|
146 |
-
|
147 |
-
* @return Customer The updated customer.
|
148 |
-
*/
|
149 |
-
public function deleteDiscount()
|
150 |
-
{
|
151 |
-
$url = $this->instanceUrl() . '/discount';
|
152 |
-
list($response, $opts) = $this->_request('delete', $url);
|
153 |
-
$this->refreshFrom(['discount' => null], $opts, true);
|
154 |
-
}
|
155 |
|
156 |
/**
|
157 |
-
* @param string
|
158 |
-
* @param array
|
159 |
-
* @param array|string
|
160 |
*
|
161 |
-
* @
|
162 |
-
*/
|
163 |
-
public static function createSource($id, $params = null, $opts = null)
|
164 |
-
{
|
165 |
-
return self::_createNestedResource($id, static::PATH_SOURCES, $params, $opts);
|
166 |
-
}
|
167 |
-
|
168 |
-
/**
|
169 |
-
* @param string|null $id The ID of the customer to which the source belongs.
|
170 |
-
* @param string|null $sourceId The ID of the source to retrieve.
|
171 |
-
* @param array|null $params
|
172 |
-
* @param array|string|null $opts
|
173 |
*
|
174 |
-
* @return
|
175 |
*/
|
176 |
-
public static function
|
177 |
{
|
178 |
-
return self::
|
179 |
}
|
180 |
|
181 |
/**
|
182 |
-
* @param string
|
183 |
-
* @param
|
184 |
-
* @param array|
|
185 |
-
* @param array|string|null $opts
|
186 |
*
|
187 |
-
* @
|
|
|
|
|
188 |
*/
|
189 |
-
public static function
|
190 |
{
|
191 |
-
return self::
|
192 |
}
|
193 |
|
194 |
/**
|
195 |
-
* @param string
|
196 |
-
* @param string
|
197 |
-
* @param array
|
198 |
-
* @param array|string
|
|
|
|
|
199 |
*
|
200 |
-
* @return
|
201 |
*/
|
202 |
public static function deleteSource($id, $sourceId, $params = null, $opts = null)
|
203 |
{
|
@@ -205,61 +182,45 @@ class Customer extends ApiResource
|
|
205 |
}
|
206 |
|
207 |
/**
|
208 |
-
* @param string
|
209 |
-
* @param
|
210 |
-
* @param array
|
|
|
211 |
*
|
212 |
-
* @
|
213 |
-
*/
|
214 |
-
public static function allSources($id, $params = null, $opts = null)
|
215 |
-
{
|
216 |
-
return self::_allNestedResources($id, static::PATH_SOURCES, $params, $opts);
|
217 |
-
}
|
218 |
-
|
219 |
-
/**
|
220 |
-
* @param string|null $id The ID of the customer on which to create the tax id.
|
221 |
-
* @param array|null $params
|
222 |
-
* @param array|string|null $opts
|
223 |
*
|
224 |
-
* @return
|
225 |
*/
|
226 |
-
public static function
|
227 |
{
|
228 |
-
return self::
|
229 |
}
|
230 |
|
231 |
/**
|
232 |
-
* @param string
|
233 |
-
* @param string
|
234 |
-
* @param array
|
235 |
-
* @param array|string
|
236 |
*
|
237 |
-
* @
|
238 |
-
*/
|
239 |
-
public static function retrieveTaxId($id, $taxIdId, $params = null, $opts = null)
|
240 |
-
{
|
241 |
-
return self::_retrieveNestedResource($id, static::PATH_TAX_IDS, $taxIdId, $params, $opts);
|
242 |
-
}
|
243 |
-
|
244 |
-
/**
|
245 |
-
* @param string|null $id The ID of the customer to which the tax id belongs.
|
246 |
-
* @param string|null $taxIdId The ID of the tax id to delete.
|
247 |
-
* @param array|null $params
|
248 |
-
* @param array|string|null $opts
|
249 |
*
|
250 |
-
* @return
|
251 |
*/
|
252 |
-
public static function
|
253 |
{
|
254 |
-
return self::
|
255 |
}
|
256 |
|
|
|
|
|
257 |
/**
|
258 |
-
* @param string
|
259 |
-
* @param array
|
260 |
-
* @param array|string
|
261 |
*
|
262 |
-
* @
|
|
|
|
|
263 |
*/
|
264 |
public static function allTaxIds($id, $params = null, $opts = null)
|
265 |
{
|
@@ -267,53 +228,46 @@ class Customer extends ApiResource
|
|
267 |
}
|
268 |
|
269 |
/**
|
270 |
-
* @param string
|
271 |
-
* @param array
|
272 |
-
* @param array|string
|
273 |
*
|
274 |
-
* @
|
275 |
-
*/
|
276 |
-
public static function createBalanceTransaction($id, $params = null, $opts = null)
|
277 |
-
{
|
278 |
-
return self::_createNestedResource($id, static::PATH_BALANCE_TRANSACTIONS, $params, $opts);
|
279 |
-
}
|
280 |
-
|
281 |
-
/**
|
282 |
-
* @param string|null $id The ID of the customer to which the balance transaction belongs.
|
283 |
-
* @param string|null $balanceTransactionId The ID of the balance transaction to retrieve.
|
284 |
-
* @param array|null $params
|
285 |
-
* @param array|string|null $opts
|
286 |
*
|
287 |
-
* @return
|
288 |
*/
|
289 |
-
public static function
|
290 |
{
|
291 |
-
return self::
|
292 |
}
|
293 |
|
294 |
/**
|
295 |
-
* @param string
|
296 |
-
* @param string
|
297 |
-
* @param array
|
298 |
-
* @param array|string
|
299 |
*
|
|
|
300 |
*
|
301 |
-
* @return
|
302 |
*/
|
303 |
-
public static function
|
304 |
{
|
305 |
-
return self::
|
306 |
}
|
307 |
|
308 |
/**
|
309 |
-
* @param string
|
310 |
-
* @param
|
311 |
-
* @param array
|
|
|
|
|
|
|
312 |
*
|
313 |
-
* @return
|
314 |
*/
|
315 |
-
public static function
|
316 |
{
|
317 |
-
return self::
|
318 |
}
|
319 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* <code>Customer</code> objects allow you to perform recurring charges, and to
|
7 |
+
* track multiple charges, that are associated with the same customer. The API
|
8 |
+
* allows you to create, delete, and update your customers. You can retrieve
|
9 |
+
* individual customers as well as a list of all your customers.
|
10 |
*
|
11 |
+
* Related guide: <a href="https://stripe.com/docs/saving-cards">Saving Cards with
|
12 |
+
* Customers</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
*
|
14 |
+
* @property string $id Unique identifier for the object.
|
15 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
16 |
+
* @property null|\Stripe\StripeObject $address The customer's address.
|
17 |
+
* @property int $balance Current balance, if any, being stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that will be added to their next invoice. The balance does not refer to any unpaid invoices; it solely takes into account amounts that have yet to be successfully applied to any invoice. This balance is only taken into account as invoices are finalized.
|
18 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
19 |
+
* @property null|string $currency Three-letter <a href="https://stripe.com/docs/currencies">ISO code for the currency</a> the customer can be charged in for recurring billing purposes.
|
20 |
+
* @property null|string|\Stripe\StripeObject $default_source <p>ID of the default payment source for the customer.</p><p>If you are using payment methods created via the PaymentMethods API, see the <a href="https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method">invoice_settings.default_payment_method</a> field instead.</p>
|
21 |
+
* @property null|bool $delinquent When the customer's latest invoice is billed by charging automatically, delinquent is true if the invoice's latest charge is failed. When the customer's latest invoice is billed by sending an invoice, delinquent is true if the invoice is not paid by its due date.
|
22 |
+
* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users.
|
23 |
+
* @property null|\Stripe\Discount $discount Describes the current discount active on the customer, if there is one.
|
24 |
+
* @property null|string $email The customer's email address.
|
25 |
+
* @property null|string $invoice_prefix The prefix for the customer used to generate unique invoice numbers.
|
26 |
+
* @property \Stripe\StripeObject $invoice_settings
|
27 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
28 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
29 |
+
* @property null|string $name The customer's full name or business name.
|
30 |
+
* @property int $next_invoice_sequence The suffix of the customer's next invoice number, e.g., 0001.
|
31 |
+
* @property null|string $phone The customer's phone number.
|
32 |
+
* @property null|string[] $preferred_locales The customer's preferred locales (languages), ordered by preference.
|
33 |
+
* @property null|\Stripe\StripeObject $shipping Mailing and shipping address for the customer. Appears on invoices emailed to this customer.
|
34 |
+
* @property \Stripe\Collection $sources The customer's payment sources, if any.
|
35 |
+
* @property \Stripe\Collection $subscriptions The customer's current subscriptions, if any.
|
36 |
+
* @property null|string $tax_exempt Describes the customer's tax exemption status. One of <code>none</code>, <code>exempt</code>, or <code>reverse</code>. When set to <code>reverse</code>, invoice and receipt PDFs include the text <strong>"Reverse charge"</strong>.
|
37 |
+
* @property \Stripe\Collection $tax_ids The customer's tax IDs.
|
38 |
*/
|
39 |
class Customer extends ApiResource
|
40 |
{
|
41 |
+
const OBJECT_NAME = 'customer';
|
42 |
|
43 |
use ApiOperations\All;
|
44 |
use ApiOperations\Create;
|
47 |
use ApiOperations\Retrieve;
|
48 |
use ApiOperations\Update;
|
49 |
|
50 |
+
const TAX_EXEMPT_EXEMPT = 'exempt';
|
51 |
+
const TAX_EXEMPT_NONE = 'none';
|
|
|
|
|
|
|
|
|
52 |
const TAX_EXEMPT_REVERSE = 'reverse';
|
53 |
|
54 |
public static function getSavedNestedResources()
|
55 |
{
|
56 |
static $savedNestedResources = null;
|
57 |
+
if (null === $savedNestedResources) {
|
58 |
$savedNestedResources = new Util\Set([
|
59 |
'source',
|
60 |
]);
|
61 |
}
|
62 |
+
|
63 |
return $savedNestedResources;
|
64 |
}
|
65 |
|
|
|
|
|
|
|
|
|
66 |
/**
|
67 |
+
* @param null|array $params
|
68 |
+
* @param null|array|string $opts
|
69 |
*
|
70 |
+
* @return \Stripe\Customer the updated customer
|
71 |
*/
|
72 |
+
public function deleteDiscount($params = null, $opts = null)
|
73 |
{
|
74 |
+
$url = $this->instanceUrl() . '/discount';
|
75 |
+
list($response, $opts) = $this->_request('delete', $url, $params, $opts);
|
76 |
+
$this->refreshFrom(['discount' => null], $opts, true);
|
|
|
77 |
}
|
78 |
|
79 |
+
const PATH_BALANCE_TRANSACTIONS = '/balance_transactions';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
/**
|
82 |
+
* @param string $id the ID of the customer on which to retrieve the customer balance transactions
|
83 |
+
* @param null|array $params
|
84 |
+
* @param null|array|string $opts
|
85 |
*
|
86 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
87 |
+
*
|
88 |
+
* @return \Stripe\Collection the list of customer balance transactions
|
89 |
*/
|
90 |
+
public static function allBalanceTransactions($id, $params = null, $opts = null)
|
91 |
{
|
92 |
+
return self::_allNestedResources($id, static::PATH_BALANCE_TRANSACTIONS, $params, $opts);
|
|
|
|
|
|
|
93 |
}
|
94 |
|
95 |
/**
|
96 |
+
* @param string $id the ID of the customer on which to create the customer balance transaction
|
97 |
+
* @param null|array $params
|
98 |
+
* @param null|array|string $opts
|
99 |
*
|
100 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
101 |
+
*
|
102 |
+
* @return \Stripe\CustomerBalanceTransaction
|
103 |
*/
|
104 |
+
public static function createBalanceTransaction($id, $params = null, $opts = null)
|
105 |
{
|
106 |
+
return self::_createNestedResource($id, static::PATH_BALANCE_TRANSACTIONS, $params, $opts);
|
|
|
|
|
|
|
107 |
}
|
108 |
|
109 |
/**
|
110 |
+
* @param string $id the ID of the customer to which the customer balance transaction belongs
|
111 |
+
* @param string $balanceTransactionId the ID of the customer balance transaction to retrieve
|
112 |
+
* @param null|array $params
|
113 |
+
* @param null|array|string $opts
|
114 |
*
|
115 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
116 |
+
*
|
117 |
+
* @return \Stripe\CustomerBalanceTransaction
|
118 |
*/
|
119 |
+
public static function retrieveBalanceTransaction($id, $balanceTransactionId, $params = null, $opts = null)
|
120 |
{
|
121 |
+
return self::_retrieveNestedResource($id, static::PATH_BALANCE_TRANSACTIONS, $balanceTransactionId, $params, $opts);
|
|
|
|
|
|
|
122 |
}
|
123 |
|
124 |
/**
|
125 |
+
* @param string $id the ID of the customer to which the customer balance transaction belongs
|
126 |
+
* @param string $balanceTransactionId the ID of the customer balance transaction to update
|
127 |
+
* @param null|array $params
|
128 |
+
* @param null|array|string $opts
|
129 |
*
|
130 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
131 |
+
*
|
132 |
+
* @return \Stripe\CustomerBalanceTransaction
|
133 |
*/
|
134 |
+
public static function updateBalanceTransaction($id, $balanceTransactionId, $params = null, $opts = null)
|
135 |
{
|
136 |
+
return self::_updateNestedResource($id, static::PATH_BALANCE_TRANSACTIONS, $balanceTransactionId, $params, $opts);
|
|
|
|
|
|
|
137 |
}
|
138 |
|
139 |
+
const PATH_SOURCES = '/sources';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
|
141 |
/**
|
142 |
+
* @param string $id the ID of the customer on which to retrieve the payment sources
|
143 |
+
* @param null|array $params
|
144 |
+
* @param null|array|string $opts
|
145 |
*
|
146 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
*
|
148 |
+
* @return \Stripe\Collection the list of payment sources (AlipayAccount, BankAccount, BitcoinReceiver, Card or Source)
|
149 |
*/
|
150 |
+
public static function allSources($id, $params = null, $opts = null)
|
151 |
{
|
152 |
+
return self::_allNestedResources($id, static::PATH_SOURCES, $params, $opts);
|
153 |
}
|
154 |
|
155 |
/**
|
156 |
+
* @param string $id the ID of the customer on which to create the payment source
|
157 |
+
* @param null|array $params
|
158 |
+
* @param null|array|string $opts
|
|
|
159 |
*
|
160 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
161 |
+
*
|
162 |
+
* @return \Stripe\AlipayAccount|\Stripe\BankAccount|\Stripe\BitcoinReceiver|\Stripe\Card|\Stripe\Source
|
163 |
*/
|
164 |
+
public static function createSource($id, $params = null, $opts = null)
|
165 |
{
|
166 |
+
return self::_createNestedResource($id, static::PATH_SOURCES, $params, $opts);
|
167 |
}
|
168 |
|
169 |
/**
|
170 |
+
* @param string $id the ID of the customer to which the payment source belongs
|
171 |
+
* @param string $sourceId the ID of the payment source to delete
|
172 |
+
* @param null|array $params
|
173 |
+
* @param null|array|string $opts
|
174 |
+
*
|
175 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
176 |
*
|
177 |
+
* @return \Stripe\AlipayAccount|\Stripe\BankAccount|\Stripe\BitcoinReceiver|\Stripe\Card|\Stripe\Source
|
178 |
*/
|
179 |
public static function deleteSource($id, $sourceId, $params = null, $opts = null)
|
180 |
{
|
182 |
}
|
183 |
|
184 |
/**
|
185 |
+
* @param string $id the ID of the customer to which the payment source belongs
|
186 |
+
* @param string $sourceId the ID of the payment source to retrieve
|
187 |
+
* @param null|array $params
|
188 |
+
* @param null|array|string $opts
|
189 |
*
|
190 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
*
|
192 |
+
* @return \Stripe\AlipayAccount|\Stripe\BankAccount|\Stripe\BitcoinReceiver|\Stripe\Card|\Stripe\Source
|
193 |
*/
|
194 |
+
public static function retrieveSource($id, $sourceId, $params = null, $opts = null)
|
195 |
{
|
196 |
+
return self::_retrieveNestedResource($id, static::PATH_SOURCES, $sourceId, $params, $opts);
|
197 |
}
|
198 |
|
199 |
/**
|
200 |
+
* @param string $id the ID of the customer to which the payment source belongs
|
201 |
+
* @param string $sourceId the ID of the payment source to update
|
202 |
+
* @param null|array $params
|
203 |
+
* @param null|array|string $opts
|
204 |
*
|
205 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
*
|
207 |
+
* @return \Stripe\AlipayAccount|\Stripe\BankAccount|\Stripe\BitcoinReceiver|\Stripe\Card|\Stripe\Source
|
208 |
*/
|
209 |
+
public static function updateSource($id, $sourceId, $params = null, $opts = null)
|
210 |
{
|
211 |
+
return self::_updateNestedResource($id, static::PATH_SOURCES, $sourceId, $params, $opts);
|
212 |
}
|
213 |
|
214 |
+
const PATH_TAX_IDS = '/tax_ids';
|
215 |
+
|
216 |
/**
|
217 |
+
* @param string $id the ID of the customer on which to retrieve the tax ids
|
218 |
+
* @param null|array $params
|
219 |
+
* @param null|array|string $opts
|
220 |
*
|
221 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
222 |
+
*
|
223 |
+
* @return \Stripe\Collection the list of tax ids
|
224 |
*/
|
225 |
public static function allTaxIds($id, $params = null, $opts = null)
|
226 |
{
|
228 |
}
|
229 |
|
230 |
/**
|
231 |
+
* @param string $id the ID of the customer on which to create the tax id
|
232 |
+
* @param null|array $params
|
233 |
+
* @param null|array|string $opts
|
234 |
*
|
235 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
*
|
237 |
+
* @return \Stripe\TaxId
|
238 |
*/
|
239 |
+
public static function createTaxId($id, $params = null, $opts = null)
|
240 |
{
|
241 |
+
return self::_createNestedResource($id, static::PATH_TAX_IDS, $params, $opts);
|
242 |
}
|
243 |
|
244 |
/**
|
245 |
+
* @param string $id the ID of the customer to which the tax id belongs
|
246 |
+
* @param string $taxIdId the ID of the tax id to delete
|
247 |
+
* @param null|array $params
|
248 |
+
* @param null|array|string $opts
|
249 |
*
|
250 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
251 |
*
|
252 |
+
* @return \Stripe\TaxId
|
253 |
*/
|
254 |
+
public static function deleteTaxId($id, $taxIdId, $params = null, $opts = null)
|
255 |
{
|
256 |
+
return self::_deleteNestedResource($id, static::PATH_TAX_IDS, $taxIdId, $params, $opts);
|
257 |
}
|
258 |
|
259 |
/**
|
260 |
+
* @param string $id the ID of the customer to which the tax id belongs
|
261 |
+
* @param string $taxIdId the ID of the tax id to retrieve
|
262 |
+
* @param null|array $params
|
263 |
+
* @param null|array|string $opts
|
264 |
+
*
|
265 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
266 |
*
|
267 |
+
* @return \Stripe\TaxId
|
268 |
*/
|
269 |
+
public static function retrieveTaxId($id, $taxIdId, $params = null, $opts = null)
|
270 |
{
|
271 |
+
return self::_retrieveNestedResource($id, static::PATH_TAX_IDS, $taxIdId, $params, $opts);
|
272 |
}
|
273 |
}
|
lib/stripe-gateway/lib/CustomerBalanceTransaction.php
CHANGED
@@ -3,50 +3,56 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
|
|
|
|
9 |
*
|
10 |
-
* @property string $id
|
11 |
-
* @property string $object
|
12 |
-
* @property int $amount
|
13 |
-
* @property
|
14 |
-
* @property
|
15 |
-
* @property string $currency
|
16 |
-
* @property string $customer
|
17 |
-
* @property string $description
|
18 |
-
* @property int $ending_balance
|
19 |
-
* @property string $invoice
|
20 |
-
* @property bool $livemode
|
21 |
-
* @property StripeObject $metadata
|
22 |
-
* @property string $type
|
23 |
*/
|
24 |
class CustomerBalanceTransaction extends ApiResource
|
25 |
{
|
26 |
-
const OBJECT_NAME =
|
27 |
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
const
|
33 |
-
const
|
34 |
-
const TYPE_CREDIT_NOTE = 'credit_note';
|
35 |
-
const TYPE_INITIAL = 'initial';
|
36 |
-
const TYPE_INVOICE_TOO_LARGE = 'invoice_too_large';
|
37 |
-
const TYPE_INVOICE_TOO_SMALL = 'invoice_too_small';
|
38 |
const TYPE_UNSPENT_RECEIVER_CREDIT = 'unspent_receiver_credit';
|
39 |
|
|
|
|
|
40 |
/**
|
41 |
-
* @return string
|
42 |
*/
|
43 |
public function instanceUrl()
|
44 |
{
|
45 |
$id = $this['id'];
|
46 |
$customer = $this['customer'];
|
47 |
if (!$id) {
|
48 |
-
throw new
|
49 |
-
"Could not determine which URL to request: class instance has invalid ID: $id",
|
50 |
null
|
51 |
);
|
52 |
}
|
@@ -54,35 +60,42 @@ class CustomerBalanceTransaction extends ApiResource
|
|
54 |
$customer = Util\Util::utf8($customer);
|
55 |
|
56 |
$base = Customer::classUrl();
|
57 |
-
$customerExtn = urlencode($customer);
|
58 |
-
$extn = urlencode($id);
|
59 |
-
|
|
|
60 |
}
|
61 |
|
62 |
/**
|
63 |
* @param array|string $_id
|
64 |
-
* @param array|string
|
65 |
*
|
66 |
-
* @throws \Stripe\
|
67 |
*/
|
68 |
public static function retrieve($_id, $_opts = null)
|
69 |
{
|
70 |
-
$msg =
|
71 |
-
|
72 |
-
|
|
|
|
|
|
|
73 |
}
|
74 |
|
75 |
/**
|
76 |
* @param string $_id
|
77 |
-
* @param array
|
78 |
-
* @param array|string
|
79 |
*
|
80 |
-
* @throws \Stripe\
|
81 |
*/
|
82 |
public static function update($_id, $_params = null, $_options = null)
|
83 |
{
|
84 |
-
$msg =
|
85 |
-
|
86 |
-
|
|
|
|
|
|
|
87 |
}
|
88 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Each customer has a <a
|
7 |
+
* href="https://stripe.com/docs/api/customers/object#customer_object-balance"><code>balance</code></a>
|
8 |
+
* value, which denotes a debit or credit that's automatically applied to their
|
9 |
+
* next invoice upon finalization. You may modify the value directly by using the
|
10 |
+
* <a href="https://stripe.com/docs/api/customers/update">update customer API</a>,
|
11 |
+
* or by creating a Customer Balance Transaction, which increments or decrements
|
12 |
+
* the customer's <code>balance</code> by the specified <code>amount</code>.
|
13 |
*
|
14 |
+
* Related guide: <a
|
15 |
+
* href="https://stripe.com/docs/billing/customer/balance">Customer Balance</a> to
|
16 |
+
* learn more.
|
17 |
*
|
18 |
+
* @property string $id Unique identifier for the object.
|
19 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
20 |
+
* @property int $amount The amount of the transaction. A negative value is a credit for the customer's balance, and a positive value is a debit to the customer's <code>balance</code>.
|
21 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
22 |
+
* @property null|string|\Stripe\CreditNote $credit_note The ID of the credit note (if any) related to the transaction.
|
23 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
24 |
+
* @property string|\Stripe\Customer $customer The ID of the customer the transaction belongs to.
|
25 |
+
* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users.
|
26 |
+
* @property int $ending_balance The customer's <code>balance</code> after the transaction was applied. A negative value decreases the amount due on the customer's next invoice. A positive value increases the amount due on the customer's next invoice.
|
27 |
+
* @property null|string|\Stripe\Invoice $invoice The ID of the invoice (if any) related to the transaction.
|
28 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
29 |
+
* @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
30 |
+
* @property string $type Transaction type: <code>adjustment</code>, <code>applied_to_invoice</code>, <code>credit_note</code>, <code>initial</code>, <code>invoice_too_large</code>, <code>invoice_too_small</code>, <code>unspent_receiver_credit</code>, or <code>unapplied_from_invoice</code>. See the <a href="https://stripe.com/docs/billing/customer/balance#types">Customer Balance page</a> to learn more about transaction types.
|
31 |
*/
|
32 |
class CustomerBalanceTransaction extends ApiResource
|
33 |
{
|
34 |
+
const OBJECT_NAME = 'customer_balance_transaction';
|
35 |
|
36 |
+
const TYPE_ADJUSTMENT = 'adjustment';
|
37 |
+
const TYPE_APPLIED_TO_INVOICE = 'applied_to_invoice';
|
38 |
+
const TYPE_CREDIT_NOTE = 'credit_note';
|
39 |
+
const TYPE_INITIAL = 'initial';
|
40 |
+
const TYPE_INVOICE_TOO_LARGE = 'invoice_too_large';
|
41 |
+
const TYPE_INVOICE_TOO_SMALL = 'invoice_too_small';
|
|
|
|
|
|
|
|
|
42 |
const TYPE_UNSPENT_RECEIVER_CREDIT = 'unspent_receiver_credit';
|
43 |
|
44 |
+
const TYPE_ADJUSTEMENT = 'adjustment';
|
45 |
+
|
46 |
/**
|
47 |
+
* @return string the API URL for this balance transaction
|
48 |
*/
|
49 |
public function instanceUrl()
|
50 |
{
|
51 |
$id = $this['id'];
|
52 |
$customer = $this['customer'];
|
53 |
if (!$id) {
|
54 |
+
throw new Exception\UnexpectedValueException(
|
55 |
+
"Could not determine which URL to request: class instance has invalid ID: {$id}",
|
56 |
null
|
57 |
);
|
58 |
}
|
60 |
$customer = Util\Util::utf8($customer);
|
61 |
|
62 |
$base = Customer::classUrl();
|
63 |
+
$customerExtn = \urlencode($customer);
|
64 |
+
$extn = \urlencode($id);
|
65 |
+
|
66 |
+
return "{$base}/{$customerExtn}/balance_transactions/{$extn}";
|
67 |
}
|
68 |
|
69 |
/**
|
70 |
* @param array|string $_id
|
71 |
+
* @param null|array|string $_opts
|
72 |
*
|
73 |
+
* @throws \Stripe\Exception\BadMethodCallException
|
74 |
*/
|
75 |
public static function retrieve($_id, $_opts = null)
|
76 |
{
|
77 |
+
$msg = 'Customer Balance Transactions cannot be retrieved without a ' .
|
78 |
+
'customer ID. Retrieve a Customer Balance Transaction using ' .
|
79 |
+
"`Customer::retrieveBalanceTransaction('customer_id', " .
|
80 |
+
"'balance_transaction_id')`.";
|
81 |
+
|
82 |
+
throw new Exception\BadMethodCallException($msg);
|
83 |
}
|
84 |
|
85 |
/**
|
86 |
* @param string $_id
|
87 |
+
* @param null|array $_params
|
88 |
+
* @param null|array|string $_options
|
89 |
*
|
90 |
+
* @throws \Stripe\Exception\BadMethodCallException
|
91 |
*/
|
92 |
public static function update($_id, $_params = null, $_options = null)
|
93 |
{
|
94 |
+
$msg = 'Customer Balance Transactions cannot be updated without a ' .
|
95 |
+
'customer ID. Update a Customer Balance Transaction using ' .
|
96 |
+
"`Customer::updateBalanceTransaction('customer_id', " .
|
97 |
+
"'balance_transaction_id', \$updateParams)`.";
|
98 |
+
|
99 |
+
throw new Exception\BadMethodCallException($msg);
|
100 |
}
|
101 |
}
|
lib/stripe-gateway/lib/Discount.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
* Class Discount
|
7 |
*
|
8 |
* @property string $object
|
9 |
* @property Coupon $coupon
|
@@ -11,10 +11,8 @@ namespace Stripe;
|
|
11 |
* @property int $end
|
12 |
* @property int $start
|
13 |
* @property string $subscription
|
14 |
-
*
|
15 |
-
* @package Stripe
|
16 |
*/
|
17 |
class Discount extends StripeObject
|
18 |
{
|
19 |
-
const OBJECT_NAME =
|
20 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Class Discount.
|
7 |
*
|
8 |
* @property string $object
|
9 |
* @property Coupon $coupon
|
11 |
* @property int $end
|
12 |
* @property int $start
|
13 |
* @property string $subscription
|
|
|
|
|
14 |
*/
|
15 |
class Discount extends StripeObject
|
16 |
{
|
17 |
+
const OBJECT_NAME = 'discount';
|
18 |
}
|
lib/stripe-gateway/lib/Dispute.php
CHANGED
@@ -3,75 +3,78 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
* @property int $amount
|
11 |
-
* @property BalanceTransaction[] $balance_transactions
|
12 |
-
* @property string $charge
|
13 |
-
* @property int $created
|
14 |
-
* @property string $currency
|
15 |
-
* @property mixed $evidence
|
16 |
-
* @property mixed $evidence_details
|
17 |
-
* @property bool $is_charge_refundable
|
18 |
-
* @property bool $livemode
|
19 |
-
* @property StripeObject $metadata
|
20 |
-
* @property string $reason
|
21 |
-
* @property string $status
|
22 |
*
|
23 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
*/
|
25 |
class Dispute extends ApiResource
|
26 |
{
|
27 |
-
const OBJECT_NAME =
|
28 |
|
29 |
use ApiOperations\All;
|
30 |
use ApiOperations\Retrieve;
|
31 |
use ApiOperations\Update;
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
const
|
38 |
-
const
|
39 |
-
const
|
40 |
-
const
|
41 |
-
const REASON_DEBIT_NOT_AUTHORIZED = 'debit_not_authorized';
|
42 |
-
const REASON_DUPLICATE = 'duplicate';
|
43 |
-
const REASON_FRAUDULENT = 'fraudulent';
|
44 |
-
const REASON_GENERAL = 'general';
|
45 |
const REASON_INCORRECT_ACCOUNT_DETAILS = 'incorrect_account_details';
|
46 |
-
const REASON_INSUFFICIENT_FUNDS
|
47 |
-
const REASON_PRODUCT_NOT_RECEIVED
|
48 |
-
const REASON_PRODUCT_UNACCEPTABLE
|
49 |
-
const REASON_SUBSCRIPTION_CANCELED
|
50 |
-
const REASON_UNRECOGNIZED
|
51 |
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
const
|
57 |
-
const STATUS_LOST = 'lost';
|
58 |
-
const STATUS_NEEDS_RESPONSE = 'needs_response';
|
59 |
-
const STATUS_UNDER_REVIEW = 'under_review';
|
60 |
-
const STATUS_WARNING_CLOSED = 'warning_closed';
|
61 |
const STATUS_WARNING_NEEDS_RESPONSE = 'warning_needs_response';
|
62 |
-
const STATUS_WARNING_UNDER_REVIEW
|
63 |
-
const STATUS_WON
|
64 |
|
65 |
/**
|
66 |
-
* @param array|string
|
|
|
|
|
67 |
*
|
68 |
-
* @return Dispute
|
69 |
*/
|
70 |
-
|
|
|
71 |
{
|
72 |
$url = $this->instanceUrl() . '/close';
|
73 |
-
list($response, $opts) = $this->_request('post', $url, null, $
|
74 |
$this->refreshFrom($response, $opts);
|
|
|
75 |
return $this;
|
76 |
}
|
77 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* A dispute occurs when a customer questions your charge with their card issuer.
|
7 |
+
* When this happens, you're given the opportunity to respond to the dispute with
|
8 |
+
* evidence that shows that the charge is legitimate. You can find more information
|
9 |
+
* about the dispute process in our <a href="/docs/disputes">Disputes and Fraud</a>
|
10 |
+
* documentation.
|
11 |
*
|
12 |
+
* Related guide: <a href="https://stripe.com/docs/disputes">Disputes and
|
13 |
+
* Fraud</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
*
|
15 |
+
* @property string $id Unique identifier for the object.
|
16 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
17 |
+
* @property int $amount Disputed amount. Usually the amount of the charge, but can differ (usually because of currency fluctuation or because only part of the order is disputed).
|
18 |
+
* @property \Stripe\BalanceTransaction[] $balance_transactions List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute.
|
19 |
+
* @property string|\Stripe\Charge $charge ID of the charge that was disputed.
|
20 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
21 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
22 |
+
* @property \Stripe\StripeObject $evidence
|
23 |
+
* @property \Stripe\StripeObject $evidence_details
|
24 |
+
* @property bool $is_charge_refundable If true, it is still possible to refund the disputed payment. Once the payment has been fully refunded, no further funds will be withdrawn from your Stripe account as a result of this dispute.
|
25 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
26 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
27 |
+
* @property null|string $network_reason_code Network-dependent reason code for the dispute.
|
28 |
+
* @property null|string|\Stripe\PaymentIntent $payment_intent ID of the PaymentIntent that was disputed.
|
29 |
+
* @property string $reason Reason given by cardholder for dispute. Possible values are <code>bank_cannot_process</code>, <code>check_returned</code>, <code>credit_not_processed</code>, <code>customer_initiated</code>, <code>debit_not_authorized</code>, <code>duplicate</code>, <code>fraudulent</code>, <code>general</code>, <code>incorrect_account_details</code>, <code>insufficient_funds</code>, <code>product_not_received</code>, <code>product_unacceptable</code>, <code>subscription_canceled</code>, or <code>unrecognized</code>. Read more about <a href="https://stripe.com/docs/disputes/categories">dispute reasons</a>.
|
30 |
+
* @property string $status Current status of dispute. Possible values are <code>warning_needs_response</code>, <code>warning_under_review</code>, <code>warning_closed</code>, <code>needs_response</code>, <code>under_review</code>, <code>charge_refunded</code>, <code>won</code>, or <code>lost</code>.
|
31 |
*/
|
32 |
class Dispute extends ApiResource
|
33 |
{
|
34 |
+
const OBJECT_NAME = 'dispute';
|
35 |
|
36 |
use ApiOperations\All;
|
37 |
use ApiOperations\Retrieve;
|
38 |
use ApiOperations\Update;
|
39 |
|
40 |
+
const REASON_BANK_CANNOT_PROCESS = 'bank_cannot_process';
|
41 |
+
const REASON_CHECK_RETURNED = 'check_returned';
|
42 |
+
const REASON_CREDIT_NOT_PROCESSED = 'credit_not_processed';
|
43 |
+
const REASON_CUSTOMER_INITIATED = 'customer_initiated';
|
44 |
+
const REASON_DEBIT_NOT_AUTHORIZED = 'debit_not_authorized';
|
45 |
+
const REASON_DUPLICATE = 'duplicate';
|
46 |
+
const REASON_FRAUDULENT = 'fraudulent';
|
47 |
+
const REASON_GENERAL = 'general';
|
|
|
|
|
|
|
|
|
48 |
const REASON_INCORRECT_ACCOUNT_DETAILS = 'incorrect_account_details';
|
49 |
+
const REASON_INSUFFICIENT_FUNDS = 'insufficient_funds';
|
50 |
+
const REASON_PRODUCT_NOT_RECEIVED = 'product_not_received';
|
51 |
+
const REASON_PRODUCT_UNACCEPTABLE = 'product_unacceptable';
|
52 |
+
const REASON_SUBSCRIPTION_CANCELED = 'subscription_canceled';
|
53 |
+
const REASON_UNRECOGNIZED = 'unrecognized';
|
54 |
|
55 |
+
const STATUS_CHARGE_REFUNDED = 'charge_refunded';
|
56 |
+
const STATUS_LOST = 'lost';
|
57 |
+
const STATUS_NEEDS_RESPONSE = 'needs_response';
|
58 |
+
const STATUS_UNDER_REVIEW = 'under_review';
|
59 |
+
const STATUS_WARNING_CLOSED = 'warning_closed';
|
|
|
|
|
|
|
|
|
60 |
const STATUS_WARNING_NEEDS_RESPONSE = 'warning_needs_response';
|
61 |
+
const STATUS_WARNING_UNDER_REVIEW = 'warning_under_review';
|
62 |
+
const STATUS_WON = 'won';
|
63 |
|
64 |
/**
|
65 |
+
* @param null|array|string $opts
|
66 |
+
*
|
67 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
68 |
*
|
69 |
+
* @return \Stripe\Dispute the closed dispute
|
70 |
*/
|
71 |
+
// TODO: add $params to standardize signature
|
72 |
+
public function close($opts = null)
|
73 |
{
|
74 |
$url = $this->instanceUrl() . '/close';
|
75 |
+
list($response, $opts) = $this->_request('post', $url, null, $opts);
|
76 |
$this->refreshFrom($response, $opts);
|
77 |
+
|
78 |
return $this;
|
79 |
}
|
80 |
}
|
lib/stripe-gateway/lib/EphemeralKey.php
CHANGED
@@ -3,38 +3,39 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
7 |
-
*
|
8 |
-
* @property
|
9 |
-
* @property
|
10 |
-
* @property
|
11 |
-
* @property
|
12 |
-
* @property bool $livemode
|
13 |
-
* @property string $secret
|
14 |
* @property array $associated_objects
|
15 |
-
*
|
16 |
-
* @package Stripe
|
17 |
*/
|
18 |
class EphemeralKey extends ApiResource
|
19 |
{
|
20 |
-
const OBJECT_NAME =
|
|
|
|
|
21 |
|
22 |
use ApiOperations\Create {
|
23 |
create as protected _create;
|
24 |
}
|
25 |
-
use ApiOperations\Delete;
|
26 |
|
27 |
/**
|
28 |
-
* @param array
|
29 |
-
* @param array|string
|
30 |
*
|
31 |
-
* @
|
|
|
|
|
|
|
32 |
*/
|
33 |
public static function create($params = null, $opts = null)
|
34 |
{
|
35 |
-
if (!$opts['stripe_version']) {
|
36 |
-
throw new \InvalidArgumentException('stripe_version must be specified to create an ephemeral key');
|
37 |
}
|
|
|
38 |
return self::_create($params, $opts);
|
39 |
}
|
40 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* @property string $id Unique identifier for the object.
|
7 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
8 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
9 |
+
* @property int $expires Time at which the key will expire. Measured in seconds since the Unix epoch.
|
10 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
11 |
+
* @property string $secret The key's secret. You can use this value to make authorized requests to the Stripe API.
|
|
|
|
|
12 |
* @property array $associated_objects
|
|
|
|
|
13 |
*/
|
14 |
class EphemeralKey extends ApiResource
|
15 |
{
|
16 |
+
const OBJECT_NAME = 'ephemeral_key';
|
17 |
+
|
18 |
+
use ApiOperations\Delete;
|
19 |
|
20 |
use ApiOperations\Create {
|
21 |
create as protected _create;
|
22 |
}
|
|
|
23 |
|
24 |
/**
|
25 |
+
* @param null|array $params
|
26 |
+
* @param null|array|string $opts
|
27 |
*
|
28 |
+
* @throws \Stripe\Exception\InvalidArgumentException if stripe_version is missing
|
29 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
30 |
+
*
|
31 |
+
* @return \Stripe\EphemeralKey the created key
|
32 |
*/
|
33 |
public static function create($params = null, $opts = null)
|
34 |
{
|
35 |
+
if (!$opts || !isset($opts['stripe_version'])) {
|
36 |
+
throw new Exception\InvalidArgumentException('stripe_version must be specified to create an ephemeral key');
|
37 |
}
|
38 |
+
|
39 |
return self::_create($params, $opts);
|
40 |
}
|
41 |
}
|
lib/stripe-gateway/lib/ErrorObject.php
ADDED
@@ -0,0 +1,161 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class ErrorObject.
|
7 |
+
*
|
8 |
+
* @property string $charge For card errors, the ID of the failed charge.
|
9 |
+
* @property string $code For some errors that could be handled
|
10 |
+
* programmatically, a short string indicating the error code reported.
|
11 |
+
* @property string $decline_code For card errors resulting from a card issuer
|
12 |
+
* decline, a short string indicating the card issuer's reason for the
|
13 |
+
* decline if they provide one.
|
14 |
+
* @property string $doc_url A URL to more information about the error code
|
15 |
+
* reported.
|
16 |
+
* @property string $message A human-readable message providing more details
|
17 |
+
* about the error. For card errors, these messages can be shown to your
|
18 |
+
* users.
|
19 |
+
* @property string $param If the error is parameter-specific, the parameter
|
20 |
+
* related to the error. For example, you can use this to display a message
|
21 |
+
* near the correct form field.
|
22 |
+
* @property PaymentIntent $payment_intent The PaymentIntent object for errors
|
23 |
+
* returned on a request involving a PaymentIntent.
|
24 |
+
* @property PaymentMethod $payment_method The PaymentMethod object for errors
|
25 |
+
* returned on a request involving a PaymentMethod.
|
26 |
+
* @property SetupIntent $setup_intent The SetupIntent object for errors
|
27 |
+
* returned on a request involving a SetupIntent.
|
28 |
+
* @property StripeObject $source The source object for errors returned on a
|
29 |
+
* request involving a source.
|
30 |
+
* @property string $type The type of error returned. One of
|
31 |
+
* `api_connection_error`, `api_error`, `authentication_error`,
|
32 |
+
* `card_error`, `idempotency_error`, `invalid_request_error`, or
|
33 |
+
* `rate_limit_error`.
|
34 |
+
*/
|
35 |
+
class ErrorObject extends StripeObject
|
36 |
+
{
|
37 |
+
/**
|
38 |
+
* Possible string representations of an error's code.
|
39 |
+
*
|
40 |
+
* @see https://stripe.com/docs/error-codes
|
41 |
+
*/
|
42 |
+
const CODE_ACCOUNT_ALREADY_EXISTS = 'account_already_exists';
|
43 |
+
const CODE_ACCOUNT_COUNTRY_INVALID_ADDRESS = 'account_country_invalid_address';
|
44 |
+
const CODE_ACCOUNT_INVALID = 'account_invalid';
|
45 |
+
const CODE_ACCOUNT_NUMBER_INVALID = 'account_number_invalid';
|
46 |
+
const CODE_ALIPAY_UPGRADE_REQUIRED = 'alipay_upgrade_required';
|
47 |
+
const CODE_AMOUNT_TOO_LARGE = 'amount_too_large';
|
48 |
+
const CODE_AMOUNT_TOO_SMALL = 'amount_too_small';
|
49 |
+
const CODE_API_KEY_EXPIRED = 'api_key_expired';
|
50 |
+
const CODE_BALANCE_INSUFFICIENT = 'balance_insufficient';
|
51 |
+
const CODE_BANK_ACCOUNT_EXISTS = 'bank_account_exists';
|
52 |
+
const CODE_BANK_ACCOUNT_UNUSABLE = 'bank_account_unusable';
|
53 |
+
const CODE_BANK_ACCOUNT_UNVERIFIED = 'bank_account_unverified';
|
54 |
+
const CODE_BITCOIN_UPGRADE_REQUIRED = 'bitcoin_upgrade_required';
|
55 |
+
const CODE_CARD_DECLINED = 'card_declined';
|
56 |
+
const CODE_CHARGE_ALREADY_CAPTURED = 'charge_already_captured';
|
57 |
+
const CODE_CHARGE_ALREADY_REFUNDED = 'charge_already_refunded';
|
58 |
+
const CODE_CHARGE_DISPUTED = 'charge_disputed';
|
59 |
+
const CODE_CHARGE_EXCEEDS_SOURCE_LIMIT = 'charge_exceeds_source_limit';
|
60 |
+
const CODE_CHARGE_EXPIRED_FOR_CAPTURE = 'charge_expired_for_capture';
|
61 |
+
const CODE_COUNTRY_UNSUPPORTED = 'country_unsupported';
|
62 |
+
const CODE_COUPON_EXPIRED = 'coupon_expired';
|
63 |
+
const CODE_CUSTOMER_MAX_SUBSCRIPTIONS = 'customer_max_subscriptions';
|
64 |
+
const CODE_EMAIL_INVALID = 'email_invalid';
|
65 |
+
const CODE_EXPIRED_CARD = 'expired_card';
|
66 |
+
const CODE_IDEMPOTENCY_KEY_IN_USE = 'idempotency_key_in_use';
|
67 |
+
const CODE_INCORRECT_ADDRESS = 'incorrect_address';
|
68 |
+
const CODE_INCORRECT_CVC = 'incorrect_cvc';
|
69 |
+
const CODE_INCORRECT_NUMBER = 'incorrect_number';
|
70 |
+
const CODE_INCORRECT_ZIP = 'incorrect_zip';
|
71 |
+
const CODE_INSTANT_PAYOUTS_UNSUPPORTED = 'instant_payouts_unsupported';
|
72 |
+
const CODE_INVALID_CARD_TYPE = 'invalid_card_type';
|
73 |
+
const CODE_INVALID_CHARGE_AMOUNT = 'invalid_charge_amount';
|
74 |
+
const CODE_INVALID_CVC = 'invalid_cvc';
|
75 |
+
const CODE_INVALID_EXPIRY_MONTH = 'invalid_expiry_month';
|
76 |
+
const CODE_INVALID_EXPIRY_YEAR = 'invalid_expiry_year';
|
77 |
+
const CODE_INVALID_NUMBER = 'invalid_number';
|
78 |
+
const CODE_INVALID_SOURCE_USAGE = 'invalid_source_usage';
|
79 |
+
const CODE_INVOICE_NO_CUSTOMER_LINE_ITEMS = 'invoice_no_customer_line_items';
|
80 |
+
const CODE_INVOICE_NO_SUBSCRIPTION_LINE_ITEMS = 'invoice_no_subscription_line_items';
|
81 |
+
const CODE_INVOICE_NOT_EDITABLE = 'invoice_not_editable';
|
82 |
+
const CODE_INVOICE_PAYMENT_INTENT_REQUIRES_ACTION = 'invoice_payment_intent_requires_action';
|
83 |
+
const CODE_INVOICE_UPCOMING_NONE = 'invoice_upcoming_none';
|
84 |
+
const CODE_LIVEMODE_MISMATCH = 'livemode_mismatch';
|
85 |
+
const CODE_LOCK_TIMEOUT = 'lock_timeout';
|
86 |
+
const CODE_MISSING = 'missing';
|
87 |
+
const CODE_NOT_ALLOWED_ON_STANDARD_ACCOUNT = 'not_allowed_on_standard_account';
|
88 |
+
const CODE_ORDER_CREATION_FAILED = 'order_creation_failed';
|
89 |
+
const CODE_ORDER_REQUIRED_SETTINGS = 'order_required_settings';
|
90 |
+
const CODE_ORDER_STATUS_INVALID = 'order_status_invalid';
|
91 |
+
const CODE_ORDER_UPSTREAM_TIMEOUT = 'order_upstream_timeout';
|
92 |
+
const CODE_OUT_OF_INVENTORY = 'out_of_inventory';
|
93 |
+
const CODE_PARAMETER_INVALID_EMPTY = 'parameter_invalid_empty';
|
94 |
+
const CODE_PARAMETER_INVALID_INTEGER = 'parameter_invalid_integer';
|
95 |
+
const CODE_PARAMETER_INVALID_STRING_BLANK = 'parameter_invalid_string_blank';
|
96 |
+
const CODE_PARAMETER_INVALID_STRING_EMPTY = 'parameter_invalid_string_empty';
|
97 |
+
const CODE_PARAMETER_MISSING = 'parameter_missing';
|
98 |
+
const CODE_PARAMETER_UNKNOWN = 'parameter_unknown';
|
99 |
+
const CODE_PARAMETERS_EXCLUSIVE = 'parameters_exclusive';
|
100 |
+
const CODE_PAYMENT_INTENT_AUTHENTICATION_FAILURE = 'payment_intent_authentication_failure';
|
101 |
+
const CODE_PAYMENT_INTENT_INCOMPATIBLE_PAYMENT_METHOD = 'payment_intent_incompatible_payment_method';
|
102 |
+
const CODE_PAYMENT_INTENT_INVALID_PARAMETER = 'payment_intent_invalid_parameter';
|
103 |
+
const CODE_PAYMENT_INTENT_PAYMENT_ATTEMPT_FAILED = 'payment_intent_payment_attempt_failed';
|
104 |
+
const CODE_PAYMENT_INTENT_UNEXPECTED_STATE = 'payment_intent_unexpected_state';
|
105 |
+
const CODE_PAYMENT_METHOD_UNACTIVATED = 'payment_method_unactivated';
|
106 |
+
const CODE_PAYMENT_METHOD_UNEXPECTED_STATE = 'payment_method_unexpected_state';
|
107 |
+
const CODE_PAYOUTS_NOT_ALLOWED = 'payouts_not_allowed';
|
108 |
+
const CODE_PLATFORM_API_KEY_EXPIRED = 'platform_api_key_expired';
|
109 |
+
const CODE_POSTAL_CODE_INVALID = 'postal_code_invalid';
|
110 |
+
const CODE_PROCESSING_ERROR = 'processing_error';
|
111 |
+
const CODE_PRODUCT_INACTIVE = 'product_inactive';
|
112 |
+
const CODE_RATE_LIMIT = 'rate_limit';
|
113 |
+
const CODE_RESOURCE_ALREADY_EXISTS = 'resource_already_exists';
|
114 |
+
const CODE_RESOURCE_MISSING = 'resource_missing';
|
115 |
+
const CODE_ROUTING_NUMBER_INVALID = 'routing_number_invalid';
|
116 |
+
const CODE_SECRET_KEY_REQUIRED = 'secret_key_required';
|
117 |
+
const CODE_SEPA_UNSUPPORTED_ACCOUNT = 'sepa_unsupported_account';
|
118 |
+
const CODE_SETUP_ATTEMPT_FAILED = 'setup_attempt_failed';
|
119 |
+
const CODE_SETUP_INTENT_AUTHENTICATION_FAILURE = 'setup_intent_authentication_failure';
|
120 |
+
const CODE_SETUP_INTENT_UNEXPECTED_STATE = 'setup_intent_unexpected_state';
|
121 |
+
const CODE_SHIPPING_CALCULATION_FAILED = 'shipping_calculation_failed';
|
122 |
+
const CODE_SKU_INACTIVE = 'sku_inactive';
|
123 |
+
const CODE_STATE_UNSUPPORTED = 'state_unsupported';
|
124 |
+
const CODE_TAX_ID_INVALID = 'tax_id_invalid';
|
125 |
+
const CODE_TAXES_CALCULATION_FAILED = 'taxes_calculation_failed';
|
126 |
+
const CODE_TESTMODE_CHARGES_ONLY = 'testmode_charges_only';
|
127 |
+
const CODE_TLS_VERSION_UNSUPPORTED = 'tls_version_unsupported';
|
128 |
+
const CODE_TOKEN_ALREADY_USED = 'token_already_used';
|
129 |
+
const CODE_TOKEN_IN_USE = 'token_in_use';
|
130 |
+
const CODE_TRANSFERS_NOT_ALLOWED = 'transfers_not_allowed';
|
131 |
+
const CODE_UPSTREAM_ORDER_CREATION_FAILED = 'upstream_order_creation_failed';
|
132 |
+
const CODE_URL_INVALID = 'url_invalid';
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Refreshes this object using the provided values.
|
136 |
+
*
|
137 |
+
* @param array $values
|
138 |
+
* @param null|array|string|Util\RequestOptions $opts
|
139 |
+
* @param bool $partial defaults to false
|
140 |
+
*/
|
141 |
+
public function refreshFrom($values, $opts, $partial = false)
|
142 |
+
{
|
143 |
+
// Unlike most other API resources, the API will omit attributes in
|
144 |
+
// error objects when they have a null value. We manually set default
|
145 |
+
// values here to facilitate generic error handling.
|
146 |
+
$values = \array_merge([
|
147 |
+
'charge' => null,
|
148 |
+
'code' => null,
|
149 |
+
'decline_code' => null,
|
150 |
+
'doc_url' => null,
|
151 |
+
'message' => null,
|
152 |
+
'param' => null,
|
153 |
+
'payment_intent' => null,
|
154 |
+
'payment_method' => null,
|
155 |
+
'setup_intent' => null,
|
156 |
+
'source' => null,
|
157 |
+
'type' => null,
|
158 |
+
], $values);
|
159 |
+
parent::refreshFrom($values, $opts, $partial);
|
160 |
+
}
|
161 |
+
}
|
lib/stripe-gateway/lib/Event.php
CHANGED
@@ -3,165 +3,201 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
*
|
12 |
-
* @property int $created
|
13 |
-
* @property mixed $data
|
14 |
-
* @property bool $livemode
|
15 |
-
* @property int $pending_webhooks
|
16 |
-
* @property mixed $request
|
17 |
-
* @property string $type
|
18 |
*
|
19 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
*/
|
21 |
class Event extends ApiResource
|
22 |
{
|
23 |
-
const OBJECT_NAME =
|
|
|
|
|
|
|
24 |
|
25 |
/**
|
26 |
* Possible string representations of event types.
|
27 |
-
*
|
|
|
28 |
*/
|
29 |
-
const ACCOUNT_UPDATED
|
30 |
-
const ACCOUNT_APPLICATION_AUTHORIZED
|
31 |
-
const ACCOUNT_APPLICATION_DEAUTHORIZED
|
32 |
-
const ACCOUNT_EXTERNAL_ACCOUNT_CREATED
|
33 |
-
const ACCOUNT_EXTERNAL_ACCOUNT_DELETED
|
34 |
-
const ACCOUNT_EXTERNAL_ACCOUNT_UPDATED
|
35 |
-
const APPLICATION_FEE_CREATED
|
36 |
-
const APPLICATION_FEE_REFUNDED
|
37 |
-
const APPLICATION_FEE_REFUND_UPDATED
|
38 |
-
const BALANCE_AVAILABLE
|
39 |
-
const CHARGE_CAPTURED
|
40 |
-
const CHARGE_EXPIRED
|
41 |
-
const CHARGE_FAILED
|
42 |
-
const CHARGE_PENDING
|
43 |
-
const CHARGE_REFUNDED
|
44 |
-
const CHARGE_SUCCEEDED
|
45 |
-
const CHARGE_UPDATED
|
46 |
-
const CHARGE_DISPUTE_CLOSED
|
47 |
-
const CHARGE_DISPUTE_CREATED
|
48 |
-
const CHARGE_DISPUTE_FUNDS_REINSTATED
|
49 |
-
const CHARGE_DISPUTE_FUNDS_WITHDRAWN
|
50 |
-
const CHARGE_DISPUTE_UPDATED
|
51 |
-
const CHARGE_REFUND_UPDATED
|
52 |
-
const CHECKOUT_SESSION_COMPLETED
|
53 |
-
const COUPON_CREATED
|
54 |
-
const COUPON_DELETED
|
55 |
-
const COUPON_UPDATED
|
56 |
-
const CREDIT_NOTE_CREATED
|
57 |
-
const CREDIT_NOTE_UPDATED
|
58 |
-
const CREDIT_NOTE_VOIDED
|
59 |
-
const CUSTOMER_CREATED
|
60 |
-
const CUSTOMER_DELETED
|
61 |
-
const CUSTOMER_UPDATED
|
62 |
-
const CUSTOMER_DISCOUNT_CREATED
|
63 |
-
const CUSTOMER_DISCOUNT_DELETED
|
64 |
-
const CUSTOMER_DISCOUNT_UPDATED
|
65 |
-
const CUSTOMER_SOURCE_CREATED
|
66 |
-
const CUSTOMER_SOURCE_DELETED
|
67 |
-
const CUSTOMER_SOURCE_EXPIRING
|
68 |
-
const CUSTOMER_SOURCE_UPDATED
|
69 |
-
const CUSTOMER_SUBSCRIPTION_CREATED
|
70 |
-
const CUSTOMER_SUBSCRIPTION_DELETED
|
71 |
-
const CUSTOMER_SUBSCRIPTION_TRIAL_WILL_END
|
72 |
-
const CUSTOMER_SUBSCRIPTION_UPDATED
|
73 |
-
const FILE_CREATED
|
74 |
-
const INVOICE_CREATED
|
75 |
-
const INVOICE_DELETED
|
76 |
-
const INVOICE_FINALIZED
|
77 |
-
const INVOICE_MARKED_UNCOLLECTIBLE
|
78 |
-
const INVOICE_PAYMENT_ACTION_REQUIRED
|
79 |
-
const INVOICE_PAYMENT_FAILED
|
80 |
-
const INVOICE_PAYMENT_SUCCEEDED
|
81 |
-
const INVOICE_SENT
|
82 |
-
const INVOICE_UPCOMING
|
83 |
-
const INVOICE_UPDATED
|
84 |
-
const INVOICE_VOIDED
|
85 |
-
const INVOICEITEM_CREATED
|
86 |
-
const INVOICEITEM_DELETED
|
87 |
-
const INVOICEITEM_UPDATED
|
88 |
-
const ISSUER_FRAUD_RECORD_CREATED
|
89 |
-
const ISSUING_AUTHORIZATION_CREATED
|
90 |
-
const ISSUING_AUTHORIZATION_REQUEST
|
91 |
-
const ISSUING_AUTHORIZATION_UPDATED
|
92 |
-
const ISSUING_CARD_CREATED
|
93 |
-
const ISSUING_CARD_UPDATED
|
94 |
-
const ISSUING_CARDHOLDER_CREATED
|
95 |
-
const ISSUING_CARDHOLDER_UPDATED
|
96 |
-
const ISSUING_DISPUTE_CREATED
|
97 |
-
const ISSUING_DISPUTE_UPDATED
|
98 |
-
const ISSUING_TRANSACTION_CREATED
|
99 |
-
const ISSUING_TRANSACTION_UPDATED
|
100 |
-
const ORDER_CREATED
|
101 |
-
const ORDER_PAYMENT_FAILED
|
102 |
-
const ORDER_PAYMENT_SUCCEEDED
|
103 |
-
const ORDER_UPDATED
|
104 |
-
const ORDER_RETURN_CREATED
|
105 |
-
const PAYMENT_INTENT_AMOUNT_CAPTURABLE_UPDATED
|
106 |
-
const
|
107 |
-
const
|
108 |
-
const
|
109 |
-
const
|
|
|
110 |
const PAYMENT_METHOD_CARD_AUTOMATICALLY_UPDATED = 'payment_method.card_automatically_updated';
|
111 |
-
const PAYMENT_METHOD_DETACHED
|
112 |
-
const PAYMENT_METHOD_UPDATED
|
113 |
-
const PAYOUT_CANCELED
|
114 |
-
const PAYOUT_CREATED
|
115 |
-
const PAYOUT_FAILED
|
116 |
-
const PAYOUT_PAID
|
117 |
-
const PAYOUT_UPDATED
|
118 |
-
const PERSON_CREATED
|
119 |
-
const PERSON_DELETED
|
120 |
-
const PERSON_UPDATED
|
121 |
-
const PING
|
122 |
-
const PLAN_CREATED
|
123 |
-
const PLAN_DELETED
|
124 |
-
const PLAN_UPDATED
|
125 |
-
const PRODUCT_CREATED
|
126 |
-
const PRODUCT_DELETED
|
127 |
-
const PRODUCT_UPDATED
|
128 |
-
const RECIPIENT_CREATED
|
129 |
-
const RECIPIENT_DELETED
|
130 |
-
const RECIPIENT_UPDATED
|
131 |
-
const REPORTING_REPORT_RUN_FAILED
|
132 |
-
const REPORTING_REPORT_RUN_SUCCEEDED
|
133 |
-
const REPORTING_REPORT_TYPE_UPDATED
|
134 |
-
const REVIEW_CLOSED
|
135 |
-
const REVIEW_OPENED
|
136 |
-
const
|
137 |
-
const
|
138 |
-
const
|
139 |
-
const
|
140 |
-
const
|
141 |
-
const
|
142 |
-
const
|
143 |
-
const
|
144 |
-
const
|
145 |
-
const
|
146 |
-
const
|
147 |
-
const
|
148 |
-
const
|
149 |
-
const
|
150 |
-
const
|
151 |
-
const
|
152 |
-
const
|
153 |
-
const
|
154 |
-
const
|
155 |
-
const
|
156 |
-
const
|
157 |
-
const
|
158 |
-
const
|
159 |
-
const
|
160 |
-
const
|
161 |
-
const
|
162 |
-
const
|
163 |
-
const
|
164 |
-
|
165 |
-
|
166 |
-
|
|
|
167 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Events are our way of letting you know when something interesting happens in
|
7 |
+
* your account. When an interesting event occurs, we create a new
|
8 |
+
* <code>Event</code> object. For example, when a charge succeeds, we create a
|
9 |
+
* <code>charge.succeeded</code> event; and when an invoice payment attempt fails,
|
10 |
+
* we create an <code>invoice.payment_failed</code> event. Note that many API
|
11 |
+
* requests may cause multiple events to be created. For example, if you create a
|
12 |
+
* new subscription for a customer, you will receive both a
|
13 |
+
* <code>customer.subscription.created</code> event and a
|
14 |
+
* <code>charge.succeeded</code> event.
|
15 |
*
|
16 |
+
* Events occur when the state of another API resource changes. The state of that
|
17 |
+
* resource at the time of the change is embedded in the event's data field. For
|
18 |
+
* example, a <code>charge.succeeded</code> event will contain a charge, and an
|
19 |
+
* <code>invoice.payment_failed</code> event will contain an invoice.
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
*
|
21 |
+
* As with other API resources, you can use endpoints to retrieve an <a
|
22 |
+
* href="https://stripe.com/docs/api#retrieve_event">individual event</a> or a <a
|
23 |
+
* href="https://stripe.com/docs/api#list_events">list of events</a> from the API.
|
24 |
+
* We also have a separate <a
|
25 |
+
* href="http://en.wikipedia.org/wiki/Webhook">webhooks</a> system for sending the
|
26 |
+
* <code>Event</code> objects directly to an endpoint on your server. Webhooks are
|
27 |
+
* managed in your <a href="https://dashboard.stripe.com/account/webhooks'">account
|
28 |
+
* settings</a>, and our <a href="https://stripe.com/docs/webhooks">Using
|
29 |
+
* Webhooks</a> guide will help you get set up.
|
30 |
+
*
|
31 |
+
* When using <a href="https://stripe.com/docs/connect">Connect</a>, you can also
|
32 |
+
* receive notifications of events that occur in connected accounts. For these
|
33 |
+
* events, there will be an additional <code>account</code> attribute in the
|
34 |
+
* received <code>Event</code> object.
|
35 |
+
*
|
36 |
+
* <strong>NOTE:</strong> Right now, access to events through the <a
|
37 |
+
* href="https://stripe.com/docs/api#retrieve_event">Retrieve Event API</a> is
|
38 |
+
* guaranteed only for 30 days.
|
39 |
+
*
|
40 |
+
* @property string $id Unique identifier for the object.
|
41 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
42 |
+
* @property string $account The connected account that originated the event.
|
43 |
+
* @property null|string $api_version The Stripe API version used to render <code>data</code>. <em>Note: This property is populated only for events on or after October 31, 2014</em>.
|
44 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
45 |
+
* @property \Stripe\StripeObject $data
|
46 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
47 |
+
* @property int $pending_webhooks Number of webhooks that have yet to be successfully delivered (i.e., to return a 20x response) to the URLs you've specified.
|
48 |
+
* @property null|\Stripe\StripeObject $request Information on the API request that instigated the event.
|
49 |
+
* @property string $type Description of the event (e.g., <code>invoice.created</code> or <code>charge.refunded</code>).
|
50 |
*/
|
51 |
class Event extends ApiResource
|
52 |
{
|
53 |
+
const OBJECT_NAME = 'event';
|
54 |
+
|
55 |
+
use ApiOperations\All;
|
56 |
+
use ApiOperations\Retrieve;
|
57 |
|
58 |
/**
|
59 |
* Possible string representations of event types.
|
60 |
+
*
|
61 |
+
* @see https://stripe.com/docs/api#event_types
|
62 |
*/
|
63 |
+
const ACCOUNT_UPDATED = 'account.updated';
|
64 |
+
const ACCOUNT_APPLICATION_AUTHORIZED = 'account.application.authorized';
|
65 |
+
const ACCOUNT_APPLICATION_DEAUTHORIZED = 'account.application.deauthorized';
|
66 |
+
const ACCOUNT_EXTERNAL_ACCOUNT_CREATED = 'account.external_account.created';
|
67 |
+
const ACCOUNT_EXTERNAL_ACCOUNT_DELETED = 'account.external_account.deleted';
|
68 |
+
const ACCOUNT_EXTERNAL_ACCOUNT_UPDATED = 'account.external_account.updated';
|
69 |
+
const APPLICATION_FEE_CREATED = 'application_fee.created';
|
70 |
+
const APPLICATION_FEE_REFUNDED = 'application_fee.refunded';
|
71 |
+
const APPLICATION_FEE_REFUND_UPDATED = 'application_fee.refund.updated';
|
72 |
+
const BALANCE_AVAILABLE = 'balance.available';
|
73 |
+
const CHARGE_CAPTURED = 'charge.captured';
|
74 |
+
const CHARGE_EXPIRED = 'charge.expired';
|
75 |
+
const CHARGE_FAILED = 'charge.failed';
|
76 |
+
const CHARGE_PENDING = 'charge.pending';
|
77 |
+
const CHARGE_REFUNDED = 'charge.refunded';
|
78 |
+
const CHARGE_SUCCEEDED = 'charge.succeeded';
|
79 |
+
const CHARGE_UPDATED = 'charge.updated';
|
80 |
+
const CHARGE_DISPUTE_CLOSED = 'charge.dispute.closed';
|
81 |
+
const CHARGE_DISPUTE_CREATED = 'charge.dispute.created';
|
82 |
+
const CHARGE_DISPUTE_FUNDS_REINSTATED = 'charge.dispute.funds_reinstated';
|
83 |
+
const CHARGE_DISPUTE_FUNDS_WITHDRAWN = 'charge.dispute.funds_withdrawn';
|
84 |
+
const CHARGE_DISPUTE_UPDATED = 'charge.dispute.updated';
|
85 |
+
const CHARGE_REFUND_UPDATED = 'charge.refund.updated';
|
86 |
+
const CHECKOUT_SESSION_COMPLETED = 'checkout.session.completed';
|
87 |
+
const COUPON_CREATED = 'coupon.created';
|
88 |
+
const COUPON_DELETED = 'coupon.deleted';
|
89 |
+
const COUPON_UPDATED = 'coupon.updated';
|
90 |
+
const CREDIT_NOTE_CREATED = 'credit_note.created';
|
91 |
+
const CREDIT_NOTE_UPDATED = 'credit_note.updated';
|
92 |
+
const CREDIT_NOTE_VOIDED = 'credit_note.voided';
|
93 |
+
const CUSTOMER_CREATED = 'customer.created';
|
94 |
+
const CUSTOMER_DELETED = 'customer.deleted';
|
95 |
+
const CUSTOMER_UPDATED = 'customer.updated';
|
96 |
+
const CUSTOMER_DISCOUNT_CREATED = 'customer.discount.created';
|
97 |
+
const CUSTOMER_DISCOUNT_DELETED = 'customer.discount.deleted';
|
98 |
+
const CUSTOMER_DISCOUNT_UPDATED = 'customer.discount.updated';
|
99 |
+
const CUSTOMER_SOURCE_CREATED = 'customer.source.created';
|
100 |
+
const CUSTOMER_SOURCE_DELETED = 'customer.source.deleted';
|
101 |
+
const CUSTOMER_SOURCE_EXPIRING = 'customer.source.expiring';
|
102 |
+
const CUSTOMER_SOURCE_UPDATED = 'customer.source.updated';
|
103 |
+
const CUSTOMER_SUBSCRIPTION_CREATED = 'customer.subscription.created';
|
104 |
+
const CUSTOMER_SUBSCRIPTION_DELETED = 'customer.subscription.deleted';
|
105 |
+
const CUSTOMER_SUBSCRIPTION_TRIAL_WILL_END = 'customer.subscription.trial_will_end';
|
106 |
+
const CUSTOMER_SUBSCRIPTION_UPDATED = 'customer.subscription.updated';
|
107 |
+
const FILE_CREATED = 'file.created';
|
108 |
+
const INVOICE_CREATED = 'invoice.created';
|
109 |
+
const INVOICE_DELETED = 'invoice.deleted';
|
110 |
+
const INVOICE_FINALIZED = 'invoice.finalized';
|
111 |
+
const INVOICE_MARKED_UNCOLLECTIBLE = 'invoice.marked_uncollectible';
|
112 |
+
const INVOICE_PAYMENT_ACTION_REQUIRED = 'invoice.payment_action_required';
|
113 |
+
const INVOICE_PAYMENT_FAILED = 'invoice.payment_failed';
|
114 |
+
const INVOICE_PAYMENT_SUCCEEDED = 'invoice.payment_succeeded';
|
115 |
+
const INVOICE_SENT = 'invoice.sent';
|
116 |
+
const INVOICE_UPCOMING = 'invoice.upcoming';
|
117 |
+
const INVOICE_UPDATED = 'invoice.updated';
|
118 |
+
const INVOICE_VOIDED = 'invoice.voided';
|
119 |
+
const INVOICEITEM_CREATED = 'invoiceitem.created';
|
120 |
+
const INVOICEITEM_DELETED = 'invoiceitem.deleted';
|
121 |
+
const INVOICEITEM_UPDATED = 'invoiceitem.updated';
|
122 |
+
const ISSUER_FRAUD_RECORD_CREATED = 'issuer_fraud_record.created';
|
123 |
+
const ISSUING_AUTHORIZATION_CREATED = 'issuing_authorization.created';
|
124 |
+
const ISSUING_AUTHORIZATION_REQUEST = 'issuing_authorization.request';
|
125 |
+
const ISSUING_AUTHORIZATION_UPDATED = 'issuing_authorization.updated';
|
126 |
+
const ISSUING_CARD_CREATED = 'issuing_card.created';
|
127 |
+
const ISSUING_CARD_UPDATED = 'issuing_card.updated';
|
128 |
+
const ISSUING_CARDHOLDER_CREATED = 'issuing_cardholder.created';
|
129 |
+
const ISSUING_CARDHOLDER_UPDATED = 'issuing_cardholder.updated';
|
130 |
+
const ISSUING_DISPUTE_CREATED = 'issuing_dispute.created';
|
131 |
+
const ISSUING_DISPUTE_UPDATED = 'issuing_dispute.updated';
|
132 |
+
const ISSUING_TRANSACTION_CREATED = 'issuing_transaction.created';
|
133 |
+
const ISSUING_TRANSACTION_UPDATED = 'issuing_transaction.updated';
|
134 |
+
const ORDER_CREATED = 'order.created';
|
135 |
+
const ORDER_PAYMENT_FAILED = 'order.payment_failed';
|
136 |
+
const ORDER_PAYMENT_SUCCEEDED = 'order.payment_succeeded';
|
137 |
+
const ORDER_UPDATED = 'order.updated';
|
138 |
+
const ORDER_RETURN_CREATED = 'order_return.created';
|
139 |
+
const PAYMENT_INTENT_AMOUNT_CAPTURABLE_UPDATED = 'payment_intent.amount_capturable_updated';
|
140 |
+
const PAYMENT_INTENT_CANCELED = 'payment_intent.canceled';
|
141 |
+
const PAYMENT_INTENT_CREATED = 'payment_intent.created';
|
142 |
+
const PAYMENT_INTENT_PAYMENT_FAILED = 'payment_intent.payment_failed';
|
143 |
+
const PAYMENT_INTENT_SUCCEEDED = 'payment_intent.succeeded';
|
144 |
+
const PAYMENT_METHOD_ATTACHED = 'payment_method.attached';
|
145 |
const PAYMENT_METHOD_CARD_AUTOMATICALLY_UPDATED = 'payment_method.card_automatically_updated';
|
146 |
+
const PAYMENT_METHOD_DETACHED = 'payment_method.detached';
|
147 |
+
const PAYMENT_METHOD_UPDATED = 'payment_method.updated';
|
148 |
+
const PAYOUT_CANCELED = 'payout.canceled';
|
149 |
+
const PAYOUT_CREATED = 'payout.created';
|
150 |
+
const PAYOUT_FAILED = 'payout.failed';
|
151 |
+
const PAYOUT_PAID = 'payout.paid';
|
152 |
+
const PAYOUT_UPDATED = 'payout.updated';
|
153 |
+
const PERSON_CREATED = 'person.created';
|
154 |
+
const PERSON_DELETED = 'person.deleted';
|
155 |
+
const PERSON_UPDATED = 'person.updated';
|
156 |
+
const PING = 'ping';
|
157 |
+
const PLAN_CREATED = 'plan.created';
|
158 |
+
const PLAN_DELETED = 'plan.deleted';
|
159 |
+
const PLAN_UPDATED = 'plan.updated';
|
160 |
+
const PRODUCT_CREATED = 'product.created';
|
161 |
+
const PRODUCT_DELETED = 'product.deleted';
|
162 |
+
const PRODUCT_UPDATED = 'product.updated';
|
163 |
+
const RECIPIENT_CREATED = 'recipient.created';
|
164 |
+
const RECIPIENT_DELETED = 'recipient.deleted';
|
165 |
+
const RECIPIENT_UPDATED = 'recipient.updated';
|
166 |
+
const REPORTING_REPORT_RUN_FAILED = 'reporting.report_run.failed';
|
167 |
+
const REPORTING_REPORT_RUN_SUCCEEDED = 'reporting.report_run.succeeded';
|
168 |
+
const REPORTING_REPORT_TYPE_UPDATED = 'reporting.report_type.updated';
|
169 |
+
const REVIEW_CLOSED = 'review.closed';
|
170 |
+
const REVIEW_OPENED = 'review.opened';
|
171 |
+
const SETUP_INTENT_CANCELED = 'setup_intent.canceled';
|
172 |
+
const SETUP_INTENT_CREATED = 'setup_intent.created';
|
173 |
+
const SETUP_INTENT_SETUP_FAILED = 'setup_intent.setup_failed';
|
174 |
+
const SETUP_INTENT_SUCCEEDED = 'setup_intent.succeeded';
|
175 |
+
const SIGMA_SCHEDULED_QUERY_RUN_CREATED = 'sigma.scheduled_query_run.created';
|
176 |
+
const SKU_CREATED = 'sku.created';
|
177 |
+
const SKU_DELETED = 'sku.deleted';
|
178 |
+
const SKU_UPDATED = 'sku.updated';
|
179 |
+
const SOURCE_CANCELED = 'source.canceled';
|
180 |
+
const SOURCE_CHARGEABLE = 'source.chargeable';
|
181 |
+
const SOURCE_FAILED = 'source.failed';
|
182 |
+
const SOURCE_MANDATE_NOTIFICATION = 'source.mandate_notification';
|
183 |
+
const SOURCE_REFUND_ATTRIBUTES_REQUIRED = 'source.refund_attributes_required';
|
184 |
+
const SOURCE_TRANSACTION_CREATED = 'source.transaction.created';
|
185 |
+
const SOURCE_TRANSACTION_UPDATED = 'source.transaction.updated';
|
186 |
+
const SUBSCRIPTION_SCHEDULE_ABORTED = 'subscription_schedule.aborted';
|
187 |
+
const SUBSCRIPTION_SCHEDULE_CANCELED = 'subscription_schedule.canceled';
|
188 |
+
const SUBSCRIPTION_SCHEDULE_COMPLETED = 'subscription_schedule.completed';
|
189 |
+
const SUBSCRIPTION_SCHEDULE_CREATED = 'subscription_schedule.created';
|
190 |
+
const SUBSCRIPTION_SCHEDULE_EXPIRING = 'subscription_schedule.expiring';
|
191 |
+
const SUBSCRIPTION_SCHEDULE_RELEASED = 'subscription_schedule.released';
|
192 |
+
const SUBSCRIPTION_SCHEDULE_UPDATED = 'subscription_schedule.updated';
|
193 |
+
const TAX_RATE_CREATED = 'tax_rate.created';
|
194 |
+
const TAX_RATE_UPDATED = 'tax_rate.updated';
|
195 |
+
const TOPUP_CANCELED = 'topup.canceled';
|
196 |
+
const TOPUP_CREATED = 'topup.created';
|
197 |
+
const TOPUP_FAILED = 'topup.failed';
|
198 |
+
const TOPUP_REVERSED = 'topup.reversed';
|
199 |
+
const TOPUP_SUCCEEDED = 'topup.succeeded';
|
200 |
+
const TRANSFER_CREATED = 'transfer.created';
|
201 |
+
const TRANSFER_REVERSED = 'transfer.reversed';
|
202 |
+
const TRANSFER_UPDATED = 'transfer.updated';
|
203 |
}
|
lib/stripe-gateway/lib/Exception/ApiConnectionException.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* ApiConnection is thrown in the event that the SDK can't connect to Stripe's
|
7 |
+
* servers. That can be for a variety of different reasons from a downed
|
8 |
+
* network to a bad TLS certificate.
|
9 |
+
*/
|
10 |
+
class ApiConnectionException extends ApiErrorException
|
11 |
+
{
|
12 |
+
}
|
lib/stripe-gateway/lib/Exception/ApiErrorException.php
ADDED
@@ -0,0 +1,219 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Implements properties and methods common to all (non-SPL) Stripe exceptions.
|
7 |
+
*/
|
8 |
+
abstract class ApiErrorException extends \Exception implements ExceptionInterface
|
9 |
+
{
|
10 |
+
protected $error;
|
11 |
+
protected $httpBody;
|
12 |
+
protected $httpHeaders;
|
13 |
+
protected $httpStatus;
|
14 |
+
protected $jsonBody;
|
15 |
+
protected $requestId;
|
16 |
+
protected $stripeCode;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Creates a new API error exception.
|
20 |
+
*
|
21 |
+
* @param string $message the exception message
|
22 |
+
* @param null|int $httpStatus the HTTP status code
|
23 |
+
* @param null|string $httpBody the HTTP body as a string
|
24 |
+
* @param null|array $jsonBody the JSON deserialized body
|
25 |
+
* @param null|array|\Stripe\Util\CaseInsensitiveArray $httpHeaders the HTTP headers array
|
26 |
+
* @param null|string $stripeCode the Stripe error code
|
27 |
+
*
|
28 |
+
* @return static
|
29 |
+
*/
|
30 |
+
public static function factory(
|
31 |
+
$message,
|
32 |
+
$httpStatus = null,
|
33 |
+
$httpBody = null,
|
34 |
+
$jsonBody = null,
|
35 |
+
$httpHeaders = null,
|
36 |
+
$stripeCode = null
|
37 |
+
) {
|
38 |
+
$instance = new static($message);
|
39 |
+
$instance->setHttpStatus($httpStatus);
|
40 |
+
$instance->setHttpBody($httpBody);
|
41 |
+
$instance->setJsonBody($jsonBody);
|
42 |
+
$instance->setHttpHeaders($httpHeaders);
|
43 |
+
$instance->setStripeCode($stripeCode);
|
44 |
+
|
45 |
+
$instance->setRequestId(null);
|
46 |
+
if ($httpHeaders && isset($httpHeaders['Request-Id'])) {
|
47 |
+
$instance->setRequestId($httpHeaders['Request-Id']);
|
48 |
+
}
|
49 |
+
|
50 |
+
$instance->setError($instance->constructErrorObject());
|
51 |
+
|
52 |
+
return $instance;
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Gets the Stripe error object.
|
57 |
+
*
|
58 |
+
* @return null|\Stripe\ErrorObject
|
59 |
+
*/
|
60 |
+
public function getError()
|
61 |
+
{
|
62 |
+
return $this->error;
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Sets the Stripe error object.
|
67 |
+
*
|
68 |
+
* @param null|\Stripe\ErrorObject $error
|
69 |
+
*/
|
70 |
+
public function setError($error)
|
71 |
+
{
|
72 |
+
$this->error = $error;
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Gets the HTTP body as a string.
|
77 |
+
*
|
78 |
+
* @return null|string
|
79 |
+
*/
|
80 |
+
public function getHttpBody()
|
81 |
+
{
|
82 |
+
return $this->httpBody;
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Sets the HTTP body as a string.
|
87 |
+
*
|
88 |
+
* @param null|string $httpBody
|
89 |
+
*/
|
90 |
+
public function setHttpBody($httpBody)
|
91 |
+
{
|
92 |
+
$this->httpBody = $httpBody;
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* Gets the HTTP headers array.
|
97 |
+
*
|
98 |
+
* @return null|array|\Stripe\Util\CaseInsensitiveArray
|
99 |
+
*/
|
100 |
+
public function getHttpHeaders()
|
101 |
+
{
|
102 |
+
return $this->httpHeaders;
|
103 |
+
}
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Sets the HTTP headers array.
|
107 |
+
*
|
108 |
+
* @param null|array|\Stripe\Util\CaseInsensitiveArray $httpHeaders
|
109 |
+
*/
|
110 |
+
public function setHttpHeaders($httpHeaders)
|
111 |
+
{
|
112 |
+
$this->httpHeaders = $httpHeaders;
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Gets the HTTP status code.
|
117 |
+
*
|
118 |
+
* @return null|int
|
119 |
+
*/
|
120 |
+
public function getHttpStatus()
|
121 |
+
{
|
122 |
+
return $this->httpStatus;
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* Sets the HTTP status code.
|
127 |
+
*
|
128 |
+
* @param null|int $httpStatus
|
129 |
+
*/
|
130 |
+
public function setHttpStatus($httpStatus)
|
131 |
+
{
|
132 |
+
$this->httpStatus = $httpStatus;
|
133 |
+
}
|
134 |
+
|
135 |
+
/**
|
136 |
+
* Gets the JSON deserialized body.
|
137 |
+
*
|
138 |
+
* @return null|array<string, mixed>
|
139 |
+
*/
|
140 |
+
public function getJsonBody()
|
141 |
+
{
|
142 |
+
return $this->jsonBody;
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
* Sets the JSON deserialized body.
|
147 |
+
*
|
148 |
+
* @param null|array<string, mixed> $jsonBody
|
149 |
+
*/
|
150 |
+
public function setJsonBody($jsonBody)
|
151 |
+
{
|
152 |
+
$this->jsonBody = $jsonBody;
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* Gets the Stripe request ID.
|
157 |
+
*
|
158 |
+
* @return null|string
|
159 |
+
*/
|
160 |
+
public function getRequestId()
|
161 |
+
{
|
162 |
+
return $this->requestId;
|
163 |
+
}
|
164 |
+
|
165 |
+
/**
|
166 |
+
* Sets the Stripe request ID.
|
167 |
+
*
|
168 |
+
* @param null|string $requestId
|
169 |
+
*/
|
170 |
+
public function setRequestId($requestId)
|
171 |
+
{
|
172 |
+
$this->requestId = $requestId;
|
173 |
+
}
|
174 |
+
|
175 |
+
/**
|
176 |
+
* Gets the Stripe error code.
|
177 |
+
*
|
178 |
+
* Cf. the `CODE_*` constants on {@see \Stripe\ErrorObject} for possible
|
179 |
+
* values.
|
180 |
+
*
|
181 |
+
* @return null|string
|
182 |
+
*/
|
183 |
+
public function getStripeCode()
|
184 |
+
{
|
185 |
+
return $this->stripeCode;
|
186 |
+
}
|
187 |
+
|
188 |
+
/**
|
189 |
+
* Sets the Stripe error code.
|
190 |
+
*
|
191 |
+
* @param null|string $stripeCode
|
192 |
+
*/
|
193 |
+
public function setStripeCode($stripeCode)
|
194 |
+
{
|
195 |
+
$this->stripeCode = $stripeCode;
|
196 |
+
}
|
197 |
+
|
198 |
+
/**
|
199 |
+
* Returns the string representation of the exception.
|
200 |
+
*
|
201 |
+
* @return string
|
202 |
+
*/
|
203 |
+
public function __toString()
|
204 |
+
{
|
205 |
+
$statusStr = (null === $this->getHttpStatus()) ? '' : "(Status {$this->getHttpStatus()}) ";
|
206 |
+
$idStr = (null === $this->getRequestId()) ? '' : "(Request {$this->getRequestId()}) ";
|
207 |
+
|
208 |
+
return "{$statusStr}{$idStr}{$this->getMessage()}";
|
209 |
+
}
|
210 |
+
|
211 |
+
protected function constructErrorObject()
|
212 |
+
{
|
213 |
+
if (null === $this->jsonBody || !\array_key_exists('error', $this->jsonBody)) {
|
214 |
+
return null;
|
215 |
+
}
|
216 |
+
|
217 |
+
return \Stripe\ErrorObject::constructFrom($this->jsonBody['error']);
|
218 |
+
}
|
219 |
+
}
|
lib/stripe-gateway/lib/Exception/AuthenticationException.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* AuthenticationException is thrown when invalid credentials are used to
|
7 |
+
* connect to Stripe's servers.
|
8 |
+
*/
|
9 |
+
class AuthenticationException extends ApiErrorException
|
10 |
+
{
|
11 |
+
}
|
lib/stripe-gateway/lib/Exception/BadMethodCallException.php
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
class BadMethodCallException extends \BadMethodCallException implements ExceptionInterface
|
6 |
+
{
|
7 |
+
}
|
lib/stripe-gateway/lib/Exception/CardException.php
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* CardException is thrown when a user enters a card that can't be charged for
|
7 |
+
* some reason.
|
8 |
+
*/
|
9 |
+
class CardException extends ApiErrorException
|
10 |
+
{
|
11 |
+
protected $declineCode;
|
12 |
+
protected $stripeParam;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Creates a new CardException exception.
|
16 |
+
*
|
17 |
+
* @param string $message the exception message
|
18 |
+
* @param null|int $httpStatus the HTTP status code
|
19 |
+
* @param null|string $httpBody the HTTP body as a string
|
20 |
+
* @param null|array $jsonBody the JSON deserialized body
|
21 |
+
* @param null|array|\Stripe\Util\CaseInsensitiveArray $httpHeaders the HTTP headers array
|
22 |
+
* @param null|string $stripeCode the Stripe error code
|
23 |
+
* @param null|string $declineCode the decline code
|
24 |
+
* @param null|string $stripeParam the parameter related to the error
|
25 |
+
*
|
26 |
+
* @return CardException
|
27 |
+
*/
|
28 |
+
public static function factory(
|
29 |
+
$message,
|
30 |
+
$httpStatus = null,
|
31 |
+
$httpBody = null,
|
32 |
+
$jsonBody = null,
|
33 |
+
$httpHeaders = null,
|
34 |
+
$stripeCode = null,
|
35 |
+
$declineCode = null,
|
36 |
+
$stripeParam = null
|
37 |
+
) {
|
38 |
+
$instance = parent::factory($message, $httpStatus, $httpBody, $jsonBody, $httpHeaders, $stripeCode);
|
39 |
+
$instance->setDeclineCode($declineCode);
|
40 |
+
$instance->setStripeParam($stripeParam);
|
41 |
+
|
42 |
+
return $instance;
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Gets the decline code.
|
47 |
+
*
|
48 |
+
* @return null|string
|
49 |
+
*/
|
50 |
+
public function getDeclineCode()
|
51 |
+
{
|
52 |
+
return $this->declineCode;
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Sets the decline code.
|
57 |
+
*
|
58 |
+
* @param null|string $declineCode
|
59 |
+
*/
|
60 |
+
public function setDeclineCode($declineCode)
|
61 |
+
{
|
62 |
+
$this->declineCode = $declineCode;
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Gets the parameter related to the error.
|
67 |
+
*
|
68 |
+
* @return null|string
|
69 |
+
*/
|
70 |
+
public function getStripeParam()
|
71 |
+
{
|
72 |
+
return $this->stripeParam;
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Sets the parameter related to the error.
|
77 |
+
*
|
78 |
+
* @param null|string $stripeParam
|
79 |
+
*/
|
80 |
+
public function setStripeParam($stripeParam)
|
81 |
+
{
|
82 |
+
$this->stripeParam = $stripeParam;
|
83 |
+
}
|
84 |
+
}
|
lib/stripe-gateway/lib/Exception/ExceptionInterface.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
// TODO: remove this check once we drop support for PHP 5
|
6 |
+
if (\interface_exists(\Throwable::class, false)) {
|
7 |
+
/**
|
8 |
+
* The base interface for all Stripe exceptions.
|
9 |
+
*/
|
10 |
+
interface ExceptionInterface extends \Throwable
|
11 |
+
{
|
12 |
+
}
|
13 |
+
} else {
|
14 |
+
/**
|
15 |
+
* The base interface for all Stripe exceptions.
|
16 |
+
*/
|
17 |
+
// phpcs:disable PSR1.Classes.ClassDeclaration.MultipleClasses
|
18 |
+
interface ExceptionInterface
|
19 |
+
{
|
20 |
+
}
|
21 |
+
// phpcs:enable
|
22 |
+
}
|
lib/stripe-gateway/lib/Exception/IdempotencyException.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* IdempotencyException is thrown in cases where an idempotency key was used
|
7 |
+
* improperly.
|
8 |
+
*/
|
9 |
+
class IdempotencyException extends ApiErrorException
|
10 |
+
{
|
11 |
+
}
|
lib/stripe-gateway/lib/Exception/InvalidArgumentException.php
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
|
6 |
+
{
|
7 |
+
}
|
lib/stripe-gateway/lib/Exception/InvalidRequestException.php
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* InvalidRequestException is thrown when a request is initiated with invalid
|
7 |
+
* parameters.
|
8 |
+
*/
|
9 |
+
class InvalidRequestException extends ApiErrorException
|
10 |
+
{
|
11 |
+
protected $stripeParam;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Creates a new InvalidRequestException exception.
|
15 |
+
*
|
16 |
+
* @param string $message the exception message
|
17 |
+
* @param null|int $httpStatus the HTTP status code
|
18 |
+
* @param null|string $httpBody the HTTP body as a string
|
19 |
+
* @param null|array $jsonBody the JSON deserialized body
|
20 |
+
* @param null|array|\Stripe\Util\CaseInsensitiveArray $httpHeaders the HTTP headers array
|
21 |
+
* @param null|string $stripeCode the Stripe error code
|
22 |
+
* @param null|string $stripeParam the parameter related to the error
|
23 |
+
*
|
24 |
+
* @return InvalidRequestException
|
25 |
+
*/
|
26 |
+
public static function factory(
|
27 |
+
$message,
|
28 |
+
$httpStatus = null,
|
29 |
+
$httpBody = null,
|
30 |
+
$jsonBody = null,
|
31 |
+
$httpHeaders = null,
|
32 |
+
$stripeCode = null,
|
33 |
+
$stripeParam = null
|
34 |
+
) {
|
35 |
+
$instance = parent::factory($message, $httpStatus, $httpBody, $jsonBody, $httpHeaders, $stripeCode);
|
36 |
+
$instance->setStripeParam($stripeParam);
|
37 |
+
|
38 |
+
return $instance;
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Gets the parameter related to the error.
|
43 |
+
*
|
44 |
+
* @return null|string
|
45 |
+
*/
|
46 |
+
public function getStripeParam()
|
47 |
+
{
|
48 |
+
return $this->stripeParam;
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Sets the parameter related to the error.
|
53 |
+
*
|
54 |
+
* @param null|string $stripeParam
|
55 |
+
*/
|
56 |
+
public function setStripeParam($stripeParam)
|
57 |
+
{
|
58 |
+
$this->stripeParam = $stripeParam;
|
59 |
+
}
|
60 |
+
}
|
lib/stripe-gateway/lib/Exception/OAuth/ExceptionInterface.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception\OAuth;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* The base interface for all Stripe OAuth exceptions.
|
7 |
+
*/
|
8 |
+
interface ExceptionInterface extends \Stripe\Exception\ExceptionInterface
|
9 |
+
{
|
10 |
+
}
|
lib/stripe-gateway/lib/Exception/OAuth/InvalidClientException.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception\OAuth;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* InvalidClientException is thrown when the client_id does not belong to you,
|
7 |
+
* the stripe_user_id does not exist or is not connected to your application,
|
8 |
+
* or the API key mode (live or test mode) does not match the client_id mode.
|
9 |
+
*/
|
10 |
+
class InvalidClientException extends OAuthErrorException
|
11 |
+
{
|
12 |
+
}
|
lib/stripe-gateway/lib/Exception/OAuth/InvalidGrantException.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception\OAuth;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* InvalidGrantException is thrown when a specified code doesn't exist, is
|
7 |
+
* expired, has been used, or doesn't belong to you; a refresh token doesn't
|
8 |
+
* exist, or doesn't belong to you; or if an API key's mode (live or test)
|
9 |
+
* doesn't match the mode of a code or refresh token.
|
10 |
+
*/
|
11 |
+
class InvalidGrantException extends OAuthErrorException
|
12 |
+
{
|
13 |
+
}
|
lib/stripe-gateway/lib/Exception/OAuth/InvalidRequestException.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception\OAuth;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* InvalidRequestException is thrown when a code, refresh token, or grant
|
7 |
+
* type parameter is not provided, but was required.
|
8 |
+
*/
|
9 |
+
class InvalidRequestException extends OAuthErrorException
|
10 |
+
{
|
11 |
+
}
|
lib/stripe-gateway/lib/Exception/OAuth/InvalidScopeException.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception\OAuth;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* InvalidScopeException is thrown when an invalid scope parameter is provided.
|
7 |
+
*/
|
8 |
+
class InvalidScopeException extends OAuthErrorException
|
9 |
+
{
|
10 |
+
}
|
lib/stripe-gateway/lib/Exception/OAuth/OAuthErrorException.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception\OAuth;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Implements properties and methods common to all (non-SPL) Stripe OAuth
|
7 |
+
* exceptions.
|
8 |
+
*/
|
9 |
+
abstract class OAuthErrorException extends \Stripe\Exception\ApiErrorException
|
10 |
+
{
|
11 |
+
protected function constructErrorObject()
|
12 |
+
{
|
13 |
+
if (null === $this->jsonBody) {
|
14 |
+
return null;
|
15 |
+
}
|
16 |
+
|
17 |
+
return \Stripe\OAuthErrorObject::constructFrom($this->jsonBody);
|
18 |
+
}
|
19 |
+
}
|
lib/stripe-gateway/lib/Exception/OAuth/UnknownOAuthErrorException.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception\OAuth;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* UnknownApiErrorException is thrown when the client library receives an
|
7 |
+
* error from the OAuth API it doesn't know about. Receiving this error usually
|
8 |
+
* means that your client library is outdated and should be upgraded.
|
9 |
+
*/
|
10 |
+
class UnknownOAuthErrorException extends OAuthErrorException
|
11 |
+
{
|
12 |
+
}
|
lib/stripe-gateway/lib/Exception/OAuth/UnsupportedGrantTypeException.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception\OAuth;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* UnsupportedGrantTypeException is thrown when an unuspported grant type
|
7 |
+
* parameter is specified.
|
8 |
+
*/
|
9 |
+
class UnsupportedGrantTypeException extends OAuthErrorException
|
10 |
+
{
|
11 |
+
}
|
lib/stripe-gateway/lib/Exception/OAuth/UnsupportedResponseTypeException.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception\OAuth;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* UnsupportedResponseTypeException is thrown when an unsupported response type
|
7 |
+
* parameter is specified.
|
8 |
+
*/
|
9 |
+
class UnsupportedResponseTypeException extends OAuthErrorException
|
10 |
+
{
|
11 |
+
}
|
lib/stripe-gateway/lib/Exception/PermissionException.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* PermissionException is thrown in cases where access was attempted on a
|
7 |
+
* resource that wasn't allowed.
|
8 |
+
*/
|
9 |
+
class PermissionException extends ApiErrorException
|
10 |
+
{
|
11 |
+
}
|
lib/stripe-gateway/lib/Exception/RateLimitException.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* RateLimitException is thrown in cases where an account is putting too much
|
7 |
+
* load on Stripe's API servers (usually by performing too many requests).
|
8 |
+
* Please back off on request rate.
|
9 |
+
*/
|
10 |
+
class RateLimitException extends InvalidRequestException
|
11 |
+
{
|
12 |
+
}
|
lib/stripe-gateway/lib/Exception/SignatureVerificationException.php
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* SignatureVerificationException is thrown when the signature verification for
|
7 |
+
* a webhook fails.
|
8 |
+
*/
|
9 |
+
class SignatureVerificationException extends \Exception implements ExceptionInterface
|
10 |
+
{
|
11 |
+
protected $httpBody;
|
12 |
+
protected $sigHeader;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Creates a new SignatureVerificationException exception.
|
16 |
+
*
|
17 |
+
* @param string $message the exception message
|
18 |
+
* @param null|string $httpBody the HTTP body as a string
|
19 |
+
* @param null|string $sigHeader the `Stripe-Signature` HTTP header
|
20 |
+
*
|
21 |
+
* @return SignatureVerificationException
|
22 |
+
*/
|
23 |
+
public static function factory(
|
24 |
+
$message,
|
25 |
+
$httpBody = null,
|
26 |
+
$sigHeader = null
|
27 |
+
) {
|
28 |
+
$instance = new static($message);
|
29 |
+
$instance->setHttpBody($httpBody);
|
30 |
+
$instance->setSigHeader($sigHeader);
|
31 |
+
|
32 |
+
return $instance;
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Gets the HTTP body as a string.
|
37 |
+
*
|
38 |
+
* @return null|string
|
39 |
+
*/
|
40 |
+
public function getHttpBody()
|
41 |
+
{
|
42 |
+
return $this->httpBody;
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Sets the HTTP body as a string.
|
47 |
+
*
|
48 |
+
* @param null|string $httpBody
|
49 |
+
*/
|
50 |
+
public function setHttpBody($httpBody)
|
51 |
+
{
|
52 |
+
$this->httpBody = $httpBody;
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Gets the `Stripe-Signature` HTTP header.
|
57 |
+
*
|
58 |
+
* @return null|string
|
59 |
+
*/
|
60 |
+
public function getSigHeader()
|
61 |
+
{
|
62 |
+
return $this->sigHeader;
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Sets the `Stripe-Signature` HTTP header.
|
67 |
+
*
|
68 |
+
* @param null|string $sigHeader
|
69 |
+
*/
|
70 |
+
public function setSigHeader($sigHeader)
|
71 |
+
{
|
72 |
+
$this->sigHeader = $sigHeader;
|
73 |
+
}
|
74 |
+
}
|
lib/stripe-gateway/lib/Exception/UnexpectedValueException.php
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
class UnexpectedValueException extends \UnexpectedValueException implements ExceptionInterface
|
6 |
+
{
|
7 |
+
}
|
lib/stripe-gateway/lib/Exception/UnknownApiErrorException.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Exception;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* UnknownApiErrorException is thrown when the client library receives an
|
7 |
+
* error from the API it doesn't know about. Receiving this error usually
|
8 |
+
* means that your client library is outdated and should be upgraded.
|
9 |
+
*/
|
10 |
+
class UnknownApiErrorException extends ApiErrorException
|
11 |
+
{
|
12 |
+
}
|
lib/stripe-gateway/lib/ExchangeRate.php
CHANGED
@@ -3,13 +3,25 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
*/
|
10 |
class ExchangeRate extends ApiResource
|
11 |
{
|
12 |
-
const OBJECT_NAME =
|
13 |
|
14 |
use ApiOperations\All;
|
15 |
use ApiOperations\Retrieve;
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* <code>Exchange Rate</code> objects allow you to determine the rates that Stripe
|
7 |
+
* is currently using to convert from one currency to another. Since this number is
|
8 |
+
* variable throughout the day, there are various reasons why you might want to
|
9 |
+
* know the current rate (for example, to dynamically price an item for a user with
|
10 |
+
* a default payment in a foreign currency).
|
11 |
*
|
12 |
+
* If you want a guarantee that the charge is made with a certain exchange rate you
|
13 |
+
* expect is current, you can pass in <code>exchange_rate</code> to charges
|
14 |
+
* endpoints. If the value is no longer up to date, the charge won't go through.
|
15 |
+
* Please refer to our <a href="https://stripe.com/docs/exchange-rates">Exchange
|
16 |
+
* Rates API</a> guide for more details.
|
17 |
+
*
|
18 |
+
* @property string $id Unique identifier for the object. Represented as the three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a> in lowercase.
|
19 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
20 |
+
* @property \Stripe\StripeObject $rates Hash where the keys are supported currencies and the values are the exchange rate at which the base id currency converts to the key currency.
|
21 |
*/
|
22 |
class ExchangeRate extends ApiResource
|
23 |
{
|
24 |
+
const OBJECT_NAME = 'exchange_rate';
|
25 |
|
26 |
use ApiOperations\All;
|
27 |
use ApiOperations\Retrieve;
|
lib/stripe-gateway/lib/File.php
CHANGED
@@ -3,35 +3,43 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
* @property int $created
|
11 |
-
* @property string $filename
|
12 |
-
* @property Collection $links
|
13 |
-
* @property string $purpose
|
14 |
-
* @property int $size
|
15 |
-
* @property string $title
|
16 |
-
* @property string $type
|
17 |
-
* @property string $url
|
18 |
*
|
19 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
*/
|
21 |
class File extends ApiResource
|
22 |
{
|
|
|
|
|
|
|
|
|
|
|
23 |
// This resource can have two different object names. In latter API
|
24 |
// versions, only `file` is used, but since stripe-php may be used with
|
25 |
// any API version, we need to support deserializing the older
|
26 |
// `file_upload` object into the same class.
|
27 |
-
const
|
28 |
-
const OBJECT_NAME_ALT = "file_upload";
|
29 |
|
30 |
-
use ApiOperations\All;
|
31 |
use ApiOperations\Create {
|
32 |
create as protected _create;
|
33 |
}
|
34 |
-
use ApiOperations\Retrieve;
|
35 |
|
36 |
public static function classUrl()
|
37 |
{
|
@@ -39,24 +47,23 @@ class File extends ApiResource
|
|
39 |
}
|
40 |
|
41 |
/**
|
42 |
-
* @param array
|
43 |
-
* @param array|string
|
|
|
|
|
44 |
*
|
45 |
-
* @return \Stripe\File
|
46 |
*/
|
47 |
-
public static function create($params = null, $
|
48 |
{
|
49 |
-
$opts = \Stripe\Util\RequestOptions::parse($
|
50 |
-
if (
|
51 |
$opts->apiBase = Stripe::$apiUploadBase;
|
52 |
}
|
53 |
// Manually flatten params, otherwise curl's multipart encoder will
|
54 |
// choke on nested arrays.
|
55 |
-
|
56 |
-
|
57 |
-
foreach (\Stripe\Util\Util::flattenParams($params) as $pair) {
|
58 |
-
$flatParams[$pair[0]] = $pair[1];
|
59 |
-
}
|
60 |
return static::_create($flatParams, $opts);
|
61 |
}
|
62 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* This is an object representing a file hosted on Stripe's servers. The file may
|
7 |
+
* have been uploaded by yourself using the <a
|
8 |
+
* href="https://stripe.com/docs/api#create_file">create file</a> request (for
|
9 |
+
* example, when uploading dispute evidence) or it may have been created by Stripe
|
10 |
+
* (for example, the results of a <a href="#scheduled_queries">Sigma scheduled
|
11 |
+
* query</a>).
|
12 |
*
|
13 |
+
* Related guide: <a href="https://stripe.com/docs/file-upload">File Upload
|
14 |
+
* Guide</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
*
|
16 |
+
* @property string $id Unique identifier for the object.
|
17 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
18 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
19 |
+
* @property null|string $filename A filename for the file, suitable for saving to a filesystem.
|
20 |
+
* @property null|\Stripe\Collection $links A list of <a href="https://stripe.com/docs/api#file_links">file links</a> that point at this file.
|
21 |
+
* @property string $purpose The purpose of the file. Possible values are <code>additional_verification</code>, <code>business_icon</code>, <code>business_logo</code>, <code>customer_signature</code>, <code>dispute_evidence</code>, <code>finance_report_run</code>, <code>identity_document</code>, <code>pci_document</code>, <code>sigma_scheduled_query</code>, or <code>tax_document_user_upload</code>.
|
22 |
+
* @property int $size The size in bytes of the file object.
|
23 |
+
* @property null|string $title A user friendly title for the document.
|
24 |
+
* @property null|string $type The type of the file returned (e.g., <code>csv</code>, <code>pdf</code>, <code>jpg</code>, or <code>png</code>).
|
25 |
+
* @property null|string $url The URL from which the file can be downloaded using your live secret API key.
|
26 |
*/
|
27 |
class File extends ApiResource
|
28 |
{
|
29 |
+
const OBJECT_NAME = 'file';
|
30 |
+
|
31 |
+
use ApiOperations\All;
|
32 |
+
use ApiOperations\Retrieve;
|
33 |
+
|
34 |
// This resource can have two different object names. In latter API
|
35 |
// versions, only `file` is used, but since stripe-php may be used with
|
36 |
// any API version, we need to support deserializing the older
|
37 |
// `file_upload` object into the same class.
|
38 |
+
const OBJECT_NAME_ALT = 'file_upload';
|
|
|
39 |
|
|
|
40 |
use ApiOperations\Create {
|
41 |
create as protected _create;
|
42 |
}
|
|
|
43 |
|
44 |
public static function classUrl()
|
45 |
{
|
47 |
}
|
48 |
|
49 |
/**
|
50 |
+
* @param null|array $params
|
51 |
+
* @param null|array|string $opts
|
52 |
+
*
|
53 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
54 |
*
|
55 |
+
* @return \Stripe\File the created file
|
56 |
*/
|
57 |
+
public static function create($params = null, $opts = null)
|
58 |
{
|
59 |
+
$opts = \Stripe\Util\RequestOptions::parse($opts);
|
60 |
+
if (null === $opts->apiBase) {
|
61 |
$opts->apiBase = Stripe::$apiUploadBase;
|
62 |
}
|
63 |
// Manually flatten params, otherwise curl's multipart encoder will
|
64 |
// choke on nested arrays.
|
65 |
+
$flatParams = \array_column(\Stripe\Util\Util::flattenParams($params), 1, 0);
|
66 |
+
|
|
|
|
|
|
|
67 |
return static::_create($flatParams, $opts);
|
68 |
}
|
69 |
}
|
lib/stripe-gateway/lib/FileLink.php
CHANGED
@@ -3,23 +3,23 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
7 |
*
|
8 |
-
* @property string $id
|
9 |
-
* @property string $object
|
10 |
-
* @property int $created
|
11 |
-
* @property bool $expired
|
12 |
-
* @property int $expires_at
|
13 |
-
* @property string $file
|
14 |
-
* @property bool $livemode
|
15 |
-
* @property StripeObject $metadata
|
16 |
-
* @property string $url
|
17 |
-
*
|
18 |
-
* @package Stripe
|
19 |
*/
|
20 |
class FileLink extends ApiResource
|
21 |
{
|
22 |
-
const OBJECT_NAME =
|
23 |
|
24 |
use ApiOperations\All;
|
25 |
use ApiOperations\Create;
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* To share the contents of a <code>File</code> object with non-Stripe users, you
|
7 |
+
* can create a <code>FileLink</code>. <code>FileLink</code>s contain a URL that
|
8 |
+
* can be used to retrieve the contents of the file without authentication.
|
9 |
*
|
10 |
+
* @property string $id Unique identifier for the object.
|
11 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
12 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
13 |
+
* @property bool $expired Whether this link is already expired.
|
14 |
+
* @property null|int $expires_at Time at which the link expires.
|
15 |
+
* @property string|\Stripe\File $file The file object this link points to.
|
16 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
17 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
18 |
+
* @property null|string $url The publicly accessible URL to download the file.
|
|
|
|
|
19 |
*/
|
20 |
class FileLink extends ApiResource
|
21 |
{
|
22 |
+
const OBJECT_NAME = 'file_link';
|
23 |
|
24 |
use ApiOperations\All;
|
25 |
use ApiOperations\Create;
|
lib/stripe-gateway/lib/HttpClient/ClientInterface.php
CHANGED
@@ -9,13 +9,14 @@ interface ClientInterface
|
|
9 |
* @param string $absUrl The URL being requested, including domain and protocol
|
10 |
* @param array $headers Headers to be used in the request (full strings, not KV pairs)
|
11 |
* @param array $params KV pairs for parameters. Can be nested for arrays and hashes
|
12 |
-
* @param
|
13 |
-
*
|
14 |
*
|
15 |
-
* @throws \Stripe\
|
16 |
-
* @throws \Stripe\
|
17 |
-
*
|
18 |
-
*
|
|
|
19 |
*/
|
20 |
public function request($method, $absUrl, $headers, $params, $hasFile);
|
21 |
}
|
9 |
* @param string $absUrl The URL being requested, including domain and protocol
|
10 |
* @param array $headers Headers to be used in the request (full strings, not KV pairs)
|
11 |
* @param array $params KV pairs for parameters. Can be nested for arrays and hashes
|
12 |
+
* @param bool $hasFile Whether or not $params references a file (via an @ prefix or
|
13 |
+
* CURLFile)
|
14 |
*
|
15 |
+
* @throws \Stripe\Exception\ApiConnectionException
|
16 |
+
* @throws \Stripe\Exception\UnexpectedValueException
|
17 |
+
*
|
18 |
+
* @return array an array whose first element is raw request body, second
|
19 |
+
* element is HTTP status code and third array of HTTP headers
|
20 |
*/
|
21 |
public function request($method, $absUrl, $headers, $params, $hasFile);
|
22 |
}
|
lib/stripe-gateway/lib/HttpClient/CurlClient.php
CHANGED
@@ -2,28 +2,26 @@
|
|
2 |
|
3 |
namespace Stripe\HttpClient;
|
4 |
|
|
|
5 |
use Stripe\Stripe;
|
6 |
-
use Stripe\Error;
|
7 |
use Stripe\Util;
|
8 |
|
9 |
-
// cURL constants are not defined in PHP < 5.5
|
10 |
-
|
11 |
// @codingStandardsIgnoreStart
|
12 |
// PSR2 requires all constants be upper case. Sadly, the CURL_SSLVERSION
|
13 |
// constants do not abide by those rules.
|
14 |
|
15 |
-
// Note the values
|
16 |
// defines them in cURL's source code.
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
define('CURL_SSLVERSION_TLSv1_2', 6);
|
22 |
}
|
23 |
// @codingStandardsIgnoreEnd
|
24 |
|
25 |
-
|
26 |
-
|
|
|
27 |
}
|
28 |
|
29 |
class CurlClient implements ClientInterface
|
@@ -35,18 +33,24 @@ class CurlClient implements ClientInterface
|
|
35 |
if (!self::$instance) {
|
36 |
self::$instance = new self();
|
37 |
}
|
|
|
38 |
return self::$instance;
|
39 |
}
|
40 |
|
41 |
protected $defaultOptions;
|
42 |
|
|
|
|
|
|
|
43 |
protected $userAgentInfo;
|
44 |
|
45 |
-
protected $enablePersistentConnections =
|
|
|
|
|
46 |
|
47 |
-
protected $
|
48 |
|
49 |
-
protected $
|
50 |
|
51 |
/**
|
52 |
* CurlClient constructor.
|
@@ -59,7 +63,8 @@ class CurlClient implements ClientInterface
|
|
59 |
* Note that request() will silently ignore a non-callable, non-array $defaultOptions, and will
|
60 |
* throw an exception if $defaultOptions returns a non-array value.
|
61 |
*
|
62 |
-
* @param array|callable
|
|
|
63 |
*/
|
64 |
public function __construct($defaultOptions = null, $randomGenerator = null)
|
65 |
{
|
@@ -67,10 +72,6 @@ class CurlClient implements ClientInterface
|
|
67 |
$this->randomGenerator = $randomGenerator ?: new Util\RandomGenerator();
|
68 |
$this->initUserAgentInfo();
|
69 |
|
70 |
-
// TODO: curl_reset requires PHP >= 5.5.0. Once we drop support for PHP 5.4, we can simply
|
71 |
-
// initialize this to true.
|
72 |
-
$this->enablePersistentConnections = function_exists('curl_reset');
|
73 |
-
|
74 |
$this->enableHttp2 = $this->canSafelyUseHttp2();
|
75 |
}
|
76 |
|
@@ -81,9 +82,9 @@ class CurlClient implements ClientInterface
|
|
81 |
|
82 |
public function initUserAgentInfo()
|
83 |
{
|
84 |
-
$curlVersion = curl_version();
|
85 |
$this->userAgentInfo = [
|
86 |
-
'httplib' =>
|
87 |
'ssllib' => $curlVersion['ssl_version'],
|
88 |
];
|
89 |
}
|
@@ -99,7 +100,7 @@ class CurlClient implements ClientInterface
|
|
99 |
}
|
100 |
|
101 |
/**
|
102 |
-
* @return
|
103 |
*/
|
104 |
public function getEnablePersistentConnections()
|
105 |
{
|
@@ -107,7 +108,7 @@ class CurlClient implements ClientInterface
|
|
107 |
}
|
108 |
|
109 |
/**
|
110 |
-
* @param
|
111 |
*/
|
112 |
public function setEnablePersistentConnections($enable)
|
113 |
{
|
@@ -115,7 +116,7 @@ class CurlClient implements ClientInterface
|
|
115 |
}
|
116 |
|
117 |
/**
|
118 |
-
* @return
|
119 |
*/
|
120 |
public function getEnableHttp2()
|
121 |
{
|
@@ -123,13 +124,41 @@ class CurlClient implements ClientInterface
|
|
123 |
}
|
124 |
|
125 |
/**
|
126 |
-
* @param
|
127 |
*/
|
128 |
public function setEnableHttp2($enable)
|
129 |
{
|
130 |
$this->enableHttp2 = $enable;
|
131 |
}
|
132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
// USER DEFINED TIMEOUTS
|
134 |
|
135 |
const DEFAULT_TIMEOUT = 80;
|
@@ -140,13 +169,15 @@ class CurlClient implements ClientInterface
|
|
140 |
|
141 |
public function setTimeout($seconds)
|
142 |
{
|
143 |
-
$this->timeout = (int) max($seconds, 0);
|
|
|
144 |
return $this;
|
145 |
}
|
146 |
|
147 |
public function setConnectTimeout($seconds)
|
148 |
{
|
149 |
-
$this->connectTimeout = (int) max($seconds, 0);
|
|
|
150 |
return $this;
|
151 |
}
|
152 |
|
@@ -164,64 +195,52 @@ class CurlClient implements ClientInterface
|
|
164 |
|
165 |
public function request($method, $absUrl, $headers, $params, $hasFile)
|
166 |
{
|
167 |
-
$method = strtolower($method);
|
168 |
|
169 |
$opts = [];
|
170 |
-
if (is_callable($this->defaultOptions)) { // call defaultOptions callback, set options to return value
|
171 |
-
$opts = call_user_func_array($this->defaultOptions, func_get_args());
|
172 |
-
if (
|
173 |
-
throw new
|
174 |
}
|
175 |
-
} elseif (is_array($this->defaultOptions)) { // set default curlopts from array
|
176 |
$opts = $this->defaultOptions;
|
177 |
}
|
178 |
|
179 |
$params = Util\Util::objectsToIds($params);
|
180 |
|
181 |
-
if (
|
182 |
if ($hasFile) {
|
183 |
-
throw new
|
184 |
-
|
185 |
);
|
186 |
}
|
187 |
-
$opts[CURLOPT_HTTPGET] = 1;
|
188 |
-
if (count($params) > 0) {
|
189 |
$encoded = Util\Util::encodeParameters($params);
|
190 |
-
$absUrl = "$absUrl
|
191 |
}
|
192 |
-
} elseif (
|
193 |
-
$opts[CURLOPT_POST] = 1;
|
194 |
-
$opts[CURLOPT_POSTFIELDS] = $hasFile ? $params : Util\Util::encodeParameters($params);
|
195 |
-
} elseif (
|
196 |
-
$opts[CURLOPT_CUSTOMREQUEST] = 'DELETE';
|
197 |
-
if (count($params) > 0) {
|
198 |
$encoded = Util\Util::encodeParameters($params);
|
199 |
-
$absUrl = "$absUrl
|
200 |
}
|
201 |
} else {
|
202 |
-
throw new
|
203 |
}
|
204 |
|
205 |
// It is only safe to retry network failures on POST requests if we
|
206 |
// add an Idempotency-Key header
|
207 |
-
if ((
|
208 |
-
if (!$this->hasHeader($headers,
|
209 |
-
array_push($headers, 'Idempotency-Key: ' . $this->randomGenerator->uuid());
|
210 |
}
|
211 |
}
|
212 |
|
213 |
-
// Create a callback to capture HTTP headers for the response
|
214 |
-
$rheaders = new Util\CaseInsensitiveArray();
|
215 |
-
$headerCallback = function ($curl, $header_line) use (&$rheaders) {
|
216 |
-
// Ignore the HTTP request line (HTTP/1.1 200 OK)
|
217 |
-
if (strpos($header_line, ":") === false) {
|
218 |
-
return strlen($header_line);
|
219 |
-
}
|
220 |
-
list($key, $value) = explode(":", trim($header_line), 2);
|
221 |
-
$rheaders[trim($key)] = trim($value);
|
222 |
-
return strlen($header_line);
|
223 |
-
};
|
224 |
-
|
225 |
// By default for large request body sizes (> 1024 bytes), cURL will
|
226 |
// send a request without a body and with a `Expect: 100-continue`
|
227 |
// header, which gives the server a chance to respond with an error
|
@@ -234,69 +253,94 @@ class CurlClient implements ClientInterface
|
|
234 |
// we'll error under that condition. To compensate for that problem
|
235 |
// for the time being, override cURL's behavior by simply always
|
236 |
// sending an empty `Expect:` header.
|
237 |
-
array_push($headers, 'Expect: ');
|
238 |
|
239 |
$absUrl = Util\Util::utf8($absUrl);
|
240 |
-
$opts[CURLOPT_URL] = $absUrl;
|
241 |
-
$opts[CURLOPT_RETURNTRANSFER] = true;
|
242 |
-
$opts[CURLOPT_CONNECTTIMEOUT] = $this->connectTimeout;
|
243 |
-
$opts[CURLOPT_TIMEOUT] = $this->timeout;
|
244 |
-
$opts[
|
245 |
-
$opts[
|
246 |
-
$opts[CURLOPT_CAINFO] = Stripe::getCABundlePath();
|
247 |
if (!Stripe::getVerifySslCerts()) {
|
248 |
-
$opts[CURLOPT_SSL_VERIFYPEER] = false;
|
249 |
}
|
250 |
|
251 |
-
if (!isset($opts[CURLOPT_HTTP_VERSION]) && $this->getEnableHttp2()) {
|
252 |
// For HTTPS requests, enable HTTP/2, if supported
|
253 |
-
$opts[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_2TLS;
|
254 |
}
|
255 |
|
256 |
-
list($rbody, $rcode) = $this->executeRequestWithRetries($opts, $absUrl);
|
257 |
|
258 |
return [$rbody, $rcode, $rheaders];
|
259 |
}
|
260 |
|
261 |
/**
|
262 |
* @param array $opts cURL options
|
|
|
263 |
*/
|
264 |
private function executeRequestWithRetries($opts, $absUrl)
|
265 |
{
|
266 |
$numRetries = 0;
|
|
|
267 |
|
268 |
while (true) {
|
269 |
$rcode = 0;
|
270 |
$errno = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
271 |
|
272 |
$this->resetCurlHandle();
|
273 |
-
curl_setopt_array($this->curlHandle, $opts);
|
274 |
-
$rbody = curl_exec($this->curlHandle);
|
275 |
|
276 |
-
if (
|
277 |
-
$errno = curl_errno($this->curlHandle);
|
278 |
-
$message = curl_error($this->curlHandle);
|
279 |
} else {
|
280 |
-
$rcode = curl_getinfo($this->curlHandle, CURLINFO_HTTP_CODE);
|
281 |
}
|
282 |
if (!$this->getEnablePersistentConnections()) {
|
283 |
$this->closeCurlHandle();
|
284 |
}
|
285 |
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
290 |
} else {
|
291 |
break;
|
292 |
}
|
293 |
}
|
294 |
|
295 |
-
if (
|
296 |
$this->handleCurlError($absUrl, $errno, $message, $numRetries);
|
297 |
}
|
298 |
|
299 |
-
return [$rbody, $rcode];
|
300 |
}
|
301 |
|
302 |
/**
|
@@ -304,83 +348,117 @@ class CurlClient implements ClientInterface
|
|
304 |
* @param int $errno
|
305 |
* @param string $message
|
306 |
* @param int $numRetries
|
307 |
-
*
|
|
|
308 |
*/
|
309 |
private function handleCurlError($url, $errno, $message, $numRetries)
|
310 |
{
|
311 |
switch ($errno) {
|
312 |
-
case CURLE_COULDNT_CONNECT:
|
313 |
-
case CURLE_COULDNT_RESOLVE_HOST:
|
314 |
-
case CURLE_OPERATION_TIMEOUTED:
|
315 |
-
$msg = "Could not connect to Stripe ($url). Please check your "
|
316 |
-
.
|
317 |
. "you should check Stripe's service status at "
|
318 |
-
.
|
|
|
319 |
break;
|
320 |
-
case CURLE_SSL_CACERT:
|
321 |
-
case CURLE_SSL_PEER_CERTIFICATE:
|
322 |
$msg = "Could not verify Stripe's SSL certificate. Please make sure "
|
323 |
-
.
|
324 |
-
. "(Try going to $url in your browser.) "
|
325 |
-
.
|
|
|
326 |
break;
|
327 |
default:
|
328 |
-
$msg =
|
329 |
-
.
|
330 |
}
|
331 |
-
$msg .=
|
332 |
|
333 |
-
$msg .= "\n\n(Network error [errno $errno]: $message)";
|
334 |
|
335 |
if ($numRetries > 0) {
|
336 |
-
$msg .= "\n\nRequest was retried $numRetries times.";
|
337 |
}
|
338 |
|
339 |
-
throw new
|
340 |
}
|
341 |
|
342 |
/**
|
343 |
* Checks if an error is a problem that we should retry on. This includes both
|
344 |
* socket errors that may represent an intermittent problem and some special
|
345 |
* HTTP statuses.
|
|
|
346 |
* @param int $errno
|
347 |
* @param int $rcode
|
|
|
348 |
* @param int $numRetries
|
|
|
349 |
* @return bool
|
350 |
*/
|
351 |
-
private function shouldRetry($errno, $rcode, $numRetries)
|
352 |
{
|
353 |
if ($numRetries >= Stripe::getMaxNetworkRetries()) {
|
354 |
return false;
|
355 |
}
|
356 |
|
357 |
// Retry on timeout-related problems (either on open or read).
|
358 |
-
if (
|
359 |
return true;
|
360 |
}
|
361 |
|
362 |
// Destination refused the connection, the connection was reset, or a
|
363 |
// variety of other connection failures. This could occur from a single
|
364 |
// saturated server, so retry in case it's intermittent.
|
365 |
-
if (
|
366 |
return true;
|
367 |
}
|
368 |
|
369 |
-
//
|
370 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
371 |
return true;
|
372 |
}
|
373 |
|
374 |
return false;
|
375 |
}
|
376 |
|
377 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
378 |
{
|
379 |
// Apply exponential backoff with $initialNetworkRetryDelay on the
|
380 |
// number of $numRetries so far as inputs. Do not allow the number to exceed
|
381 |
// $maxNetworkRetryDelay.
|
382 |
-
$sleepSeconds = min(
|
383 |
-
Stripe::getInitialNetworkRetryDelay() * 1.0 *
|
384 |
Stripe::getMaxNetworkRetryDelay()
|
385 |
);
|
386 |
|
@@ -389,7 +467,13 @@ class CurlClient implements ClientInterface
|
|
389 |
$sleepSeconds *= 0.5 * (1 + $this->randomGenerator->randFloat());
|
390 |
|
391 |
// But never sleep less than the base sleep seconds.
|
392 |
-
$sleepSeconds = max(Stripe::getInitialNetworkRetryDelay(), $sleepSeconds);
|
|
|
|
|
|
|
|
|
|
|
|
|
393 |
|
394 |
return $sleepSeconds;
|
395 |
}
|
@@ -400,7 +484,7 @@ class CurlClient implements ClientInterface
|
|
400 |
private function initCurlHandle()
|
401 |
{
|
402 |
$this->closeCurlHandle();
|
403 |
-
$this->curlHandle = curl_init();
|
404 |
}
|
405 |
|
406 |
/**
|
@@ -408,8 +492,8 @@ class CurlClient implements ClientInterface
|
|
408 |
*/
|
409 |
private function closeCurlHandle()
|
410 |
{
|
411 |
-
if (
|
412 |
-
curl_close($this->curlHandle);
|
413 |
$this->curlHandle = null;
|
414 |
}
|
415 |
}
|
@@ -420,8 +504,8 @@ class CurlClient implements ClientInterface
|
|
420 |
*/
|
421 |
private function resetCurlHandle()
|
422 |
{
|
423 |
-
if (
|
424 |
-
curl_reset($this->curlHandle);
|
425 |
} else {
|
426 |
$this->initCurlHandle();
|
427 |
}
|
@@ -430,14 +514,15 @@ class CurlClient implements ClientInterface
|
|
430 |
/**
|
431 |
* Indicates whether it is safe to use HTTP/2 or not.
|
432 |
*
|
433 |
-
* @return
|
434 |
*/
|
435 |
private function canSafelyUseHttp2()
|
436 |
{
|
437 |
// Versions of curl older than 7.60.0 don't respect GOAWAY frames
|
438 |
// (cf. https://github.com/curl/curl/issues/2416), which Stripe use.
|
439 |
-
$curlVersion = curl_version()['version'];
|
440 |
-
|
|
|
441 |
}
|
442 |
|
443 |
/**
|
@@ -445,12 +530,13 @@ class CurlClient implements ClientInterface
|
|
445 |
*
|
446 |
* @param string[] $headers
|
447 |
* @param string $name
|
448 |
-
*
|
|
|
449 |
*/
|
450 |
private function hasHeader($headers, $name)
|
451 |
{
|
452 |
foreach ($headers as $header) {
|
453 |
-
if (strncasecmp($header, "{$name}: ", strlen($name) + 2)
|
454 |
return true;
|
455 |
}
|
456 |
}
|
2 |
|
3 |
namespace Stripe\HttpClient;
|
4 |
|
5 |
+
use Stripe\Exception;
|
6 |
use Stripe\Stripe;
|
|
|
7 |
use Stripe\Util;
|
8 |
|
|
|
|
|
9 |
// @codingStandardsIgnoreStart
|
10 |
// PSR2 requires all constants be upper case. Sadly, the CURL_SSLVERSION
|
11 |
// constants do not abide by those rules.
|
12 |
|
13 |
+
// Note the values come from their position in the enums that
|
14 |
// defines them in cURL's source code.
|
15 |
+
|
16 |
+
// Available since PHP 5.5.19 and 5.6.3
|
17 |
+
if (!\defined('CURL_SSLVERSION_TLSv1_2')) {
|
18 |
+
\define('CURL_SSLVERSION_TLSv1_2', 6);
|
|
|
19 |
}
|
20 |
// @codingStandardsIgnoreEnd
|
21 |
|
22 |
+
// Available since PHP 7.0.7 and cURL 7.47.0
|
23 |
+
if (!\defined('CURL_HTTP_VERSION_2TLS')) {
|
24 |
+
\define('CURL_HTTP_VERSION_2TLS', 4);
|
25 |
}
|
26 |
|
27 |
class CurlClient implements ClientInterface
|
33 |
if (!self::$instance) {
|
34 |
self::$instance = new self();
|
35 |
}
|
36 |
+
|
37 |
return self::$instance;
|
38 |
}
|
39 |
|
40 |
protected $defaultOptions;
|
41 |
|
42 |
+
/** @var \Stripe\Util\RandomGenerator */
|
43 |
+
protected $randomGenerator;
|
44 |
+
|
45 |
protected $userAgentInfo;
|
46 |
|
47 |
+
protected $enablePersistentConnections = true;
|
48 |
+
|
49 |
+
protected $enableHttp2;
|
50 |
|
51 |
+
protected $curlHandle;
|
52 |
|
53 |
+
protected $requestStatusCallback;
|
54 |
|
55 |
/**
|
56 |
* CurlClient constructor.
|
63 |
* Note that request() will silently ignore a non-callable, non-array $defaultOptions, and will
|
64 |
* throw an exception if $defaultOptions returns a non-array value.
|
65 |
*
|
66 |
+
* @param null|array|callable $defaultOptions
|
67 |
+
* @param null|\Stripe\Util\RandomGenerator $randomGenerator
|
68 |
*/
|
69 |
public function __construct($defaultOptions = null, $randomGenerator = null)
|
70 |
{
|
72 |
$this->randomGenerator = $randomGenerator ?: new Util\RandomGenerator();
|
73 |
$this->initUserAgentInfo();
|
74 |
|
|
|
|
|
|
|
|
|
75 |
$this->enableHttp2 = $this->canSafelyUseHttp2();
|
76 |
}
|
77 |
|
82 |
|
83 |
public function initUserAgentInfo()
|
84 |
{
|
85 |
+
$curlVersion = \curl_version();
|
86 |
$this->userAgentInfo = [
|
87 |
+
'httplib' => 'curl ' . $curlVersion['version'],
|
88 |
'ssllib' => $curlVersion['ssl_version'],
|
89 |
];
|
90 |
}
|
100 |
}
|
101 |
|
102 |
/**
|
103 |
+
* @return bool
|
104 |
*/
|
105 |
public function getEnablePersistentConnections()
|
106 |
{
|
108 |
}
|
109 |
|
110 |
/**
|
111 |
+
* @param bool $enable
|
112 |
*/
|
113 |
public function setEnablePersistentConnections($enable)
|
114 |
{
|
116 |
}
|
117 |
|
118 |
/**
|
119 |
+
* @return bool
|
120 |
*/
|
121 |
public function getEnableHttp2()
|
122 |
{
|
124 |
}
|
125 |
|
126 |
/**
|
127 |
+
* @param bool $enable
|
128 |
*/
|
129 |
public function setEnableHttp2($enable)
|
130 |
{
|
131 |
$this->enableHttp2 = $enable;
|
132 |
}
|
133 |
|
134 |
+
/**
|
135 |
+
* @return null|callable
|
136 |
+
*/
|
137 |
+
public function getRequestStatusCallback()
|
138 |
+
{
|
139 |
+
return $this->requestStatusCallback;
|
140 |
+
}
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Sets a callback that is called after each request. The callback will
|
144 |
+
* receive the following parameters:
|
145 |
+
* <ol>
|
146 |
+
* <li>string $rbody The response body</li>
|
147 |
+
* <li>integer $rcode The response status code</li>
|
148 |
+
* <li>\Stripe\Util\CaseInsensitiveArray $rheaders The response headers</li>
|
149 |
+
* <li>integer $errno The curl error number</li>
|
150 |
+
* <li>string|null $message The curl error message</li>
|
151 |
+
* <li>boolean $shouldRetry Whether the request will be retried</li>
|
152 |
+
* <li>integer $numRetries The number of the retry attempt</li>
|
153 |
+
* </ol>.
|
154 |
+
*
|
155 |
+
* @param null|callable $requestStatusCallback
|
156 |
+
*/
|
157 |
+
public function setRequestStatusCallback($requestStatusCallback)
|
158 |
+
{
|
159 |
+
$this->requestStatusCallback = $requestStatusCallback;
|
160 |
+
}
|
161 |
+
|
162 |
// USER DEFINED TIMEOUTS
|
163 |
|
164 |
const DEFAULT_TIMEOUT = 80;
|
169 |
|
170 |
public function setTimeout($seconds)
|
171 |
{
|
172 |
+
$this->timeout = (int) \max($seconds, 0);
|
173 |
+
|
174 |
return $this;
|
175 |
}
|
176 |
|
177 |
public function setConnectTimeout($seconds)
|
178 |
{
|
179 |
+
$this->connectTimeout = (int) \max($seconds, 0);
|
180 |
+
|
181 |
return $this;
|
182 |
}
|
183 |
|
195 |
|
196 |
public function request($method, $absUrl, $headers, $params, $hasFile)
|
197 |
{
|
198 |
+
$method = \strtolower($method);
|
199 |
|
200 |
$opts = [];
|
201 |
+
if (\is_callable($this->defaultOptions)) { // call defaultOptions callback, set options to return value
|
202 |
+
$opts = \call_user_func_array($this->defaultOptions, \func_get_args());
|
203 |
+
if (!\is_array($opts)) {
|
204 |
+
throw new Exception\UnexpectedValueException('Non-array value returned by defaultOptions CurlClient callback');
|
205 |
}
|
206 |
+
} elseif (\is_array($this->defaultOptions)) { // set default curlopts from array
|
207 |
$opts = $this->defaultOptions;
|
208 |
}
|
209 |
|
210 |
$params = Util\Util::objectsToIds($params);
|
211 |
|
212 |
+
if ('get' === $method) {
|
213 |
if ($hasFile) {
|
214 |
+
throw new Exception\UnexpectedValueException(
|
215 |
+
'Issuing a GET request with a file parameter'
|
216 |
);
|
217 |
}
|
218 |
+
$opts[\CURLOPT_HTTPGET] = 1;
|
219 |
+
if (\count($params) > 0) {
|
220 |
$encoded = Util\Util::encodeParameters($params);
|
221 |
+
$absUrl = "{$absUrl}?{$encoded}";
|
222 |
}
|
223 |
+
} elseif ('post' === $method) {
|
224 |
+
$opts[\CURLOPT_POST] = 1;
|
225 |
+
$opts[\CURLOPT_POSTFIELDS] = $hasFile ? $params : Util\Util::encodeParameters($params);
|
226 |
+
} elseif ('delete' === $method) {
|
227 |
+
$opts[\CURLOPT_CUSTOMREQUEST] = 'DELETE';
|
228 |
+
if (\count($params) > 0) {
|
229 |
$encoded = Util\Util::encodeParameters($params);
|
230 |
+
$absUrl = "{$absUrl}?{$encoded}";
|
231 |
}
|
232 |
} else {
|
233 |
+
throw new Exception\UnexpectedValueException("Unrecognized method {$method}");
|
234 |
}
|
235 |
|
236 |
// It is only safe to retry network failures on POST requests if we
|
237 |
// add an Idempotency-Key header
|
238 |
+
if (('post' === $method) && (Stripe::$maxNetworkRetries > 0)) {
|
239 |
+
if (!$this->hasHeader($headers, 'Idempotency-Key')) {
|
240 |
+
\array_push($headers, 'Idempotency-Key: ' . $this->randomGenerator->uuid());
|
241 |
}
|
242 |
}
|
243 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
// By default for large request body sizes (> 1024 bytes), cURL will
|
245 |
// send a request without a body and with a `Expect: 100-continue`
|
246 |
// header, which gives the server a chance to respond with an error
|
253 |
// we'll error under that condition. To compensate for that problem
|
254 |
// for the time being, override cURL's behavior by simply always
|
255 |
// sending an empty `Expect:` header.
|
256 |
+
\array_push($headers, 'Expect: ');
|
257 |
|
258 |
$absUrl = Util\Util::utf8($absUrl);
|
259 |
+
$opts[\CURLOPT_URL] = $absUrl;
|
260 |
+
$opts[\CURLOPT_RETURNTRANSFER] = true;
|
261 |
+
$opts[\CURLOPT_CONNECTTIMEOUT] = $this->connectTimeout;
|
262 |
+
$opts[\CURLOPT_TIMEOUT] = $this->timeout;
|
263 |
+
$opts[\CURLOPT_HTTPHEADER] = $headers;
|
264 |
+
$opts[\CURLOPT_CAINFO] = Stripe::getCABundlePath();
|
|
|
265 |
if (!Stripe::getVerifySslCerts()) {
|
266 |
+
$opts[\CURLOPT_SSL_VERIFYPEER] = false;
|
267 |
}
|
268 |
|
269 |
+
if (!isset($opts[\CURLOPT_HTTP_VERSION]) && $this->getEnableHttp2()) {
|
270 |
// For HTTPS requests, enable HTTP/2, if supported
|
271 |
+
$opts[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2TLS;
|
272 |
}
|
273 |
|
274 |
+
list($rbody, $rcode, $rheaders) = $this->executeRequestWithRetries($opts, $absUrl);
|
275 |
|
276 |
return [$rbody, $rcode, $rheaders];
|
277 |
}
|
278 |
|
279 |
/**
|
280 |
* @param array $opts cURL options
|
281 |
+
* @param string $absUrl
|
282 |
*/
|
283 |
private function executeRequestWithRetries($opts, $absUrl)
|
284 |
{
|
285 |
$numRetries = 0;
|
286 |
+
$isPost = \array_key_exists(\CURLOPT_POST, $opts) && 1 === $opts[\CURLOPT_POST];
|
287 |
|
288 |
while (true) {
|
289 |
$rcode = 0;
|
290 |
$errno = 0;
|
291 |
+
$message = null;
|
292 |
+
|
293 |
+
// Create a callback to capture HTTP headers for the response
|
294 |
+
$rheaders = new Util\CaseInsensitiveArray();
|
295 |
+
$headerCallback = function ($curl, $header_line) use (&$rheaders) {
|
296 |
+
// Ignore the HTTP request line (HTTP/1.1 200 OK)
|
297 |
+
if (false === \strpos($header_line, ':')) {
|
298 |
+
return \strlen($header_line);
|
299 |
+
}
|
300 |
+
list($key, $value) = \explode(':', \trim($header_line), 2);
|
301 |
+
$rheaders[\trim($key)] = \trim($value);
|
302 |
+
|
303 |
+
return \strlen($header_line);
|
304 |
+
};
|
305 |
+
$opts[\CURLOPT_HEADERFUNCTION] = $headerCallback;
|
306 |
|
307 |
$this->resetCurlHandle();
|
308 |
+
\curl_setopt_array($this->curlHandle, $opts);
|
309 |
+
$rbody = \curl_exec($this->curlHandle);
|
310 |
|
311 |
+
if (false === $rbody) {
|
312 |
+
$errno = \curl_errno($this->curlHandle);
|
313 |
+
$message = \curl_error($this->curlHandle);
|
314 |
} else {
|
315 |
+
$rcode = \curl_getinfo($this->curlHandle, \CURLINFO_HTTP_CODE);
|
316 |
}
|
317 |
if (!$this->getEnablePersistentConnections()) {
|
318 |
$this->closeCurlHandle();
|
319 |
}
|
320 |
|
321 |
+
$shouldRetry = $this->shouldRetry($errno, $rcode, $rheaders, $numRetries);
|
322 |
+
|
323 |
+
if (\is_callable($this->getRequestStatusCallback())) {
|
324 |
+
\call_user_func_array(
|
325 |
+
$this->getRequestStatusCallback(),
|
326 |
+
[$rbody, $rcode, $rheaders, $errno, $message, $shouldRetry, $numRetries]
|
327 |
+
);
|
328 |
+
}
|
329 |
+
|
330 |
+
if ($shouldRetry) {
|
331 |
+
++$numRetries;
|
332 |
+
$sleepSeconds = $this->sleepTime($numRetries, $rheaders);
|
333 |
+
\usleep((int) ($sleepSeconds * 1000000));
|
334 |
} else {
|
335 |
break;
|
336 |
}
|
337 |
}
|
338 |
|
339 |
+
if (false === $rbody) {
|
340 |
$this->handleCurlError($absUrl, $errno, $message, $numRetries);
|
341 |
}
|
342 |
|
343 |
+
return [$rbody, $rcode, $rheaders];
|
344 |
}
|
345 |
|
346 |
/**
|
348 |
* @param int $errno
|
349 |
* @param string $message
|
350 |
* @param int $numRetries
|
351 |
+
*
|
352 |
+
* @throws Exception\ApiConnectionException
|
353 |
*/
|
354 |
private function handleCurlError($url, $errno, $message, $numRetries)
|
355 |
{
|
356 |
switch ($errno) {
|
357 |
+
case \CURLE_COULDNT_CONNECT:
|
358 |
+
case \CURLE_COULDNT_RESOLVE_HOST:
|
359 |
+
case \CURLE_OPERATION_TIMEOUTED:
|
360 |
+
$msg = "Could not connect to Stripe ({$url}). Please check your "
|
361 |
+
. 'internet connection and try again. If this problem persists, '
|
362 |
. "you should check Stripe's service status at "
|
363 |
+
. 'https://twitter.com/stripestatus, or';
|
364 |
+
|
365 |
break;
|
366 |
+
case \CURLE_SSL_CACERT:
|
367 |
+
case \CURLE_SSL_PEER_CERTIFICATE:
|
368 |
$msg = "Could not verify Stripe's SSL certificate. Please make sure "
|
369 |
+
. 'that your network is not intercepting certificates. '
|
370 |
+
. "(Try going to {$url} in your browser.) "
|
371 |
+
. 'If this problem persists,';
|
372 |
+
|
373 |
break;
|
374 |
default:
|
375 |
+
$msg = 'Unexpected error communicating with Stripe. '
|
376 |
+
. 'If this problem persists,';
|
377 |
}
|
378 |
+
$msg .= ' let us know at support@stripe.com.';
|
379 |
|
380 |
+
$msg .= "\n\n(Network error [errno {$errno}]: {$message})";
|
381 |
|
382 |
if ($numRetries > 0) {
|
383 |
+
$msg .= "\n\nRequest was retried {$numRetries} times.";
|
384 |
}
|
385 |
|
386 |
+
throw new Exception\ApiConnectionException($msg);
|
387 |
}
|
388 |
|
389 |
/**
|
390 |
* Checks if an error is a problem that we should retry on. This includes both
|
391 |
* socket errors that may represent an intermittent problem and some special
|
392 |
* HTTP statuses.
|
393 |
+
*
|
394 |
* @param int $errno
|
395 |
* @param int $rcode
|
396 |
+
* @param array|\Stripe\Util\CaseInsensitiveArray $rheaders
|
397 |
* @param int $numRetries
|
398 |
+
*
|
399 |
* @return bool
|
400 |
*/
|
401 |
+
private function shouldRetry($errno, $rcode, $rheaders, $numRetries)
|
402 |
{
|
403 |
if ($numRetries >= Stripe::getMaxNetworkRetries()) {
|
404 |
return false;
|
405 |
}
|
406 |
|
407 |
// Retry on timeout-related problems (either on open or read).
|
408 |
+
if (\CURLE_OPERATION_TIMEOUTED === $errno) {
|
409 |
return true;
|
410 |
}
|
411 |
|
412 |
// Destination refused the connection, the connection was reset, or a
|
413 |
// variety of other connection failures. This could occur from a single
|
414 |
// saturated server, so retry in case it's intermittent.
|
415 |
+
if (\CURLE_COULDNT_CONNECT === $errno) {
|
416 |
return true;
|
417 |
}
|
418 |
|
419 |
+
// The API may ask us not to retry (eg; if doing so would be a no-op)
|
420 |
+
// or advise us to retry (eg; in cases of lock timeouts); we defer to that.
|
421 |
+
if (isset($rheaders['stripe-should-retry'])) {
|
422 |
+
if ('false' === $rheaders['stripe-should-retry']) {
|
423 |
+
return false;
|
424 |
+
}
|
425 |
+
if ('true' === $rheaders['stripe-should-retry']) {
|
426 |
+
return true;
|
427 |
+
}
|
428 |
+
}
|
429 |
+
|
430 |
+
// 409 Conflict
|
431 |
+
if (409 === $rcode) {
|
432 |
+
return true;
|
433 |
+
}
|
434 |
+
|
435 |
+
// Retry on 500, 503, and other internal errors.
|
436 |
+
//
|
437 |
+
// Note that we expect the stripe-should-retry header to be false
|
438 |
+
// in most cases when a 500 is returned, since our idempotency framework
|
439 |
+
// would typically replay it anyway.
|
440 |
+
if ($rcode >= 500) {
|
441 |
return true;
|
442 |
}
|
443 |
|
444 |
return false;
|
445 |
}
|
446 |
|
447 |
+
/**
|
448 |
+
* Provides the number of seconds to wait before retrying a request.
|
449 |
+
*
|
450 |
+
* @param int $numRetries
|
451 |
+
* @param array|\Stripe\Util\CaseInsensitiveArray $rheaders
|
452 |
+
*
|
453 |
+
* @return int
|
454 |
+
*/
|
455 |
+
private function sleepTime($numRetries, $rheaders)
|
456 |
{
|
457 |
// Apply exponential backoff with $initialNetworkRetryDelay on the
|
458 |
// number of $numRetries so far as inputs. Do not allow the number to exceed
|
459 |
// $maxNetworkRetryDelay.
|
460 |
+
$sleepSeconds = \min(
|
461 |
+
Stripe::getInitialNetworkRetryDelay() * 1.0 * 2 ** ($numRetries - 1),
|
462 |
Stripe::getMaxNetworkRetryDelay()
|
463 |
);
|
464 |
|
467 |
$sleepSeconds *= 0.5 * (1 + $this->randomGenerator->randFloat());
|
468 |
|
469 |
// But never sleep less than the base sleep seconds.
|
470 |
+
$sleepSeconds = \max(Stripe::getInitialNetworkRetryDelay(), $sleepSeconds);
|
471 |
+
|
472 |
+
// And never sleep less than the time the API asks us to wait, assuming it's a reasonable ask.
|
473 |
+
$retryAfter = isset($rheaders['retry-after']) ? (float) ($rheaders['retry-after']) : 0.0;
|
474 |
+
if (\floor($retryAfter) === $retryAfter && $retryAfter <= Stripe::getMaxRetryAfter()) {
|
475 |
+
$sleepSeconds = \max($sleepSeconds, $retryAfter);
|
476 |
+
}
|
477 |
|
478 |
return $sleepSeconds;
|
479 |
}
|
484 |
private function initCurlHandle()
|
485 |
{
|
486 |
$this->closeCurlHandle();
|
487 |
+
$this->curlHandle = \curl_init();
|
488 |
}
|
489 |
|
490 |
/**
|
492 |
*/
|
493 |
private function closeCurlHandle()
|
494 |
{
|
495 |
+
if (null !== $this->curlHandle) {
|
496 |
+
\curl_close($this->curlHandle);
|
497 |
$this->curlHandle = null;
|
498 |
}
|
499 |
}
|
504 |
*/
|
505 |
private function resetCurlHandle()
|
506 |
{
|
507 |
+
if (null !== $this->curlHandle && $this->getEnablePersistentConnections()) {
|
508 |
+
\curl_reset($this->curlHandle);
|
509 |
} else {
|
510 |
$this->initCurlHandle();
|
511 |
}
|
514 |
/**
|
515 |
* Indicates whether it is safe to use HTTP/2 or not.
|
516 |
*
|
517 |
+
* @return bool
|
518 |
*/
|
519 |
private function canSafelyUseHttp2()
|
520 |
{
|
521 |
// Versions of curl older than 7.60.0 don't respect GOAWAY frames
|
522 |
// (cf. https://github.com/curl/curl/issues/2416), which Stripe use.
|
523 |
+
$curlVersion = \curl_version()['version'];
|
524 |
+
|
525 |
+
return \version_compare($curlVersion, '7.60.0') >= 0;
|
526 |
}
|
527 |
|
528 |
/**
|
530 |
*
|
531 |
* @param string[] $headers
|
532 |
* @param string $name
|
533 |
+
*
|
534 |
+
* @return bool
|
535 |
*/
|
536 |
private function hasHeader($headers, $name)
|
537 |
{
|
538 |
foreach ($headers as $header) {
|
539 |
+
if (0 === \strncasecmp($header, "{$name}: ", \strlen($name) + 2)) {
|
540 |
return true;
|
541 |
}
|
542 |
}
|
lib/stripe-gateway/lib/Invoice.php
CHANGED
@@ -3,74 +3,106 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property string $account_name
|
12 |
-
* @property int $amount_due
|
13 |
-
* @property int $amount_paid
|
14 |
-
* @property int $amount_remaining
|
15 |
-
* @property int $application_fee_amount
|
16 |
-
* @property int $attempt_count
|
17 |
-
* @property bool $attempted
|
18 |
-
* @property bool $auto_advance
|
19 |
-
* @property string $billing
|
20 |
-
* @property string $billing_reason
|
21 |
-
* @property string $charge
|
22 |
-
* @property string $collection_method
|
23 |
-
* @property int $created
|
24 |
-
* @property string $currency
|
25 |
-
* @property array $custom_fields
|
26 |
-
* @property string $customer
|
27 |
-
* @property mixed $customer_address
|
28 |
-
* @property string $customer_email
|
29 |
-
* @property string $customer_name
|
30 |
-
* @property string $customer_phone
|
31 |
-
* @property mixed $customer_shipping
|
32 |
-
* @property string $customer_tax_exempt
|
33 |
-
* @property array $customer_tax_ids
|
34 |
-
* @property string $default_payment_method
|
35 |
-
* @property string $default_source
|
36 |
-
* @property array $default_tax_rates
|
37 |
-
* @property string $description
|
38 |
-
* @property Discount $discount
|
39 |
-
* @property int $due_date
|
40 |
-
* @property int $ending_balance
|
41 |
-
* @property string $footer
|
42 |
-
* @property string $hosted_invoice_url
|
43 |
-
* @property string $invoice_pdf
|
44 |
-
* @property Collection $lines
|
45 |
-
* @property bool $livemode
|
46 |
-
* @property StripeObject $metadata
|
47 |
-
* @property int $next_payment_attempt
|
48 |
-
* @property string $number
|
49 |
-
* @property bool $paid
|
50 |
-
* @property string $payment_intent
|
51 |
-
* @property int $period_end
|
52 |
-
* @property int $period_start
|
53 |
-
* @property int $post_payment_credit_notes_amount
|
54 |
-
* @property int $pre_payment_credit_notes_amount
|
55 |
-
* @property string $receipt_number
|
56 |
-
* @property int $starting_balance
|
57 |
-
* @property string $statement_descriptor
|
58 |
-
* @property string $status
|
59 |
-
* @property mixed $status_transitions
|
60 |
-
* @property string $subscription
|
61 |
-
* @property int $subscription_proration_date
|
62 |
-
* @property int $subtotal
|
63 |
-
* @property int $tax
|
64 |
-
* @property mixed $threshold_reason
|
65 |
-
* @property int $total
|
66 |
-
* @property array $total_tax_amounts
|
67 |
-
* @property int $webhooks_delivered_at
|
68 |
*
|
69 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
*/
|
71 |
class Invoice extends ApiResource
|
72 |
{
|
73 |
-
const OBJECT_NAME =
|
74 |
|
75 |
use ApiOperations\All;
|
76 |
use ApiOperations\Create;
|
@@ -78,125 +110,145 @@ class Invoice extends ApiResource
|
|
78 |
use ApiOperations\Retrieve;
|
79 |
use ApiOperations\Update;
|
80 |
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
const
|
86 |
-
const
|
87 |
-
const
|
88 |
-
const BILLING_REASON_SUBSCRIPTION_CYCLE = 'subscription_cycle';
|
89 |
const BILLING_REASON_SUBSCRIPTION_THRESHOLD = 'subscription_threshold';
|
90 |
-
const BILLING_REASON_SUBSCRIPTION_UPDATE
|
91 |
-
const BILLING_REASON_UPCOMING
|
92 |
|
93 |
-
/**
|
94 |
-
* Possible string representations of the `collection_method` property.
|
95 |
-
* @link https://stripe.com/docs/api/invoices/object#invoice_object-collection_method
|
96 |
-
*/
|
97 |
const COLLECTION_METHOD_CHARGE_AUTOMATICALLY = 'charge_automatically';
|
98 |
-
const COLLECTION_METHOD_SEND_INVOICE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
|
100 |
/**
|
101 |
-
*
|
102 |
-
* @
|
|
|
|
|
|
|
|
|
103 |
*/
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
|
|
|
|
|
|
|
|
109 |
|
110 |
/**
|
111 |
-
*
|
112 |
-
* @
|
113 |
-
* @
|
|
|
|
|
|
|
|
|
114 |
*/
|
115 |
-
|
116 |
-
|
|
|
|
|
117 |
|
118 |
/**
|
119 |
-
* @param array
|
120 |
-
* @param array|string
|
|
|
|
|
121 |
*
|
122 |
-
* @return Invoice
|
123 |
*/
|
124 |
public function finalizeInvoice($params = null, $opts = null)
|
125 |
{
|
126 |
$url = $this->instanceUrl() . '/finalize';
|
127 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
128 |
$this->refreshFrom($response, $opts);
|
|
|
129 |
return $this;
|
130 |
}
|
131 |
|
132 |
/**
|
133 |
-
* @param array
|
134 |
-
* @param array|string
|
|
|
|
|
135 |
*
|
136 |
-
* @return Invoice
|
137 |
*/
|
138 |
public function markUncollectible($params = null, $opts = null)
|
139 |
{
|
140 |
$url = $this->instanceUrl() . '/mark_uncollectible';
|
141 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
142 |
$this->refreshFrom($response, $opts);
|
|
|
143 |
return $this;
|
144 |
}
|
145 |
|
146 |
/**
|
147 |
-
* @param array
|
148 |
-
* @param array|string
|
149 |
*
|
150 |
-
* @
|
|
|
|
|
151 |
*/
|
152 |
public function pay($params = null, $opts = null)
|
153 |
{
|
154 |
$url = $this->instanceUrl() . '/pay';
|
155 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
156 |
$this->refreshFrom($response, $opts);
|
|
|
157 |
return $this;
|
158 |
}
|
159 |
|
160 |
/**
|
161 |
-
* @param array
|
162 |
-
* @param array|string
|
|
|
|
|
163 |
*
|
164 |
-
* @return Invoice
|
165 |
*/
|
166 |
public function sendInvoice($params = null, $opts = null)
|
167 |
{
|
168 |
$url = $this->instanceUrl() . '/send';
|
169 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
170 |
$this->refreshFrom($response, $opts);
|
|
|
171 |
return $this;
|
172 |
}
|
173 |
|
174 |
/**
|
175 |
-
* @param array
|
176 |
-
* @param array|string
|
177 |
*
|
178 |
-
* @
|
179 |
-
*/
|
180 |
-
public static function upcoming($params = null, $opts = null)
|
181 |
-
{
|
182 |
-
$url = static::classUrl() . '/upcoming';
|
183 |
-
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
|
184 |
-
$obj = Util\Util::convertToStripeObject($response->json, $opts);
|
185 |
-
$obj->setLastResponse($response);
|
186 |
-
return $obj;
|
187 |
-
}
|
188 |
-
|
189 |
-
/**
|
190 |
-
* @param array|null $params
|
191 |
-
* @param array|string|null $opts
|
192 |
*
|
193 |
-
* @return Invoice
|
194 |
*/
|
195 |
public function voidInvoice($params = null, $opts = null)
|
196 |
{
|
197 |
$url = $this->instanceUrl() . '/void';
|
198 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
199 |
$this->refreshFrom($response, $opts);
|
|
|
200 |
return $this;
|
201 |
}
|
202 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Invoices are statements of amounts owed by a customer, and are either generated
|
7 |
+
* one-off, or generated periodically from a subscription.
|
8 |
*
|
9 |
+
* They contain <a href="https://stripe.com/docs/api#invoiceitems">invoice
|
10 |
+
* items</a>, and proration adjustments that may be caused by subscription
|
11 |
+
* upgrades/downgrades (if necessary).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
*
|
13 |
+
* If your invoice is configured to be billed through automatic charges, Stripe
|
14 |
+
* automatically finalizes your invoice and attempts payment. Note that finalizing
|
15 |
+
* the invoice, <a
|
16 |
+
* href="https://stripe.com/docs/billing/invoices/workflow/#auto_advance">when
|
17 |
+
* automatic</a>, does not happen immediately as the invoice is created. Stripe
|
18 |
+
* waits until one hour after the last webhook was successfully sent (or the last
|
19 |
+
* webhook timed out after failing). If you (and the platforms you may have
|
20 |
+
* connected to) have no webhooks configured, Stripe waits one hour after creation
|
21 |
+
* to finalize the invoice.
|
22 |
+
*
|
23 |
+
* If your invoice is configured to be billed by sending an email, then based on
|
24 |
+
* your <a href="https://dashboard.stripe.com/account/billing/automatic'">email
|
25 |
+
* settings</a>, Stripe will email the invoice to your customer and await payment.
|
26 |
+
* These emails can contain a link to a hosted page to pay the invoice.
|
27 |
+
*
|
28 |
+
* Stripe applies any customer credit on the account before determining the amount
|
29 |
+
* due for the invoice (i.e., the amount that will be actually charged). If the
|
30 |
+
* amount due for the invoice is less than Stripe's <a
|
31 |
+
* href="/docs/currencies#minimum-and-maximum-charge-amounts">minimum allowed
|
32 |
+
* charge per currency</a>, the invoice is automatically marked paid, and we add
|
33 |
+
* the amount due to the customer's running account balance which is applied to the
|
34 |
+
* next invoice.
|
35 |
+
*
|
36 |
+
* More details on the customer's account balance are <a
|
37 |
+
* href="https://stripe.com/docs/api/customers/object#customer_object-account_balance">here</a>.
|
38 |
+
*
|
39 |
+
* Related guide: <a href="https://stripe.com/docs/billing/invoices/sending">Send
|
40 |
+
* Invoices to Customers</a>.
|
41 |
+
*
|
42 |
+
* @property string $id Unique identifier for the object.
|
43 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
44 |
+
* @property null|string $account_country The country of the business associated with this invoice, most often the business creating the invoice.
|
45 |
+
* @property null|string $account_name The public name of the business associated with this invoice, most often the business creating the invoice.
|
46 |
+
* @property int $amount_due Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the <code>amount_due</code> may be 0. If there is a positive <code>starting_balance</code> for the invoice (the customer owes money), the <code>amount_due</code> will also take that into account. The charge that gets generated for the invoice will be for the amount specified in <code>amount_due</code>.
|
47 |
+
* @property int $amount_paid The amount, in %s, that was paid.
|
48 |
+
* @property int $amount_remaining The amount remaining, in %s, that is due.
|
49 |
+
* @property null|int $application_fee_amount The fee in %s that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid.
|
50 |
+
* @property int $attempt_count Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule.
|
51 |
+
* @property bool $attempted Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the <code>invoice.created</code> webhook, for example, so you might not want to display that invoice as unpaid to your users.
|
52 |
+
* @property bool $auto_advance Controls whether Stripe will perform <a href="https://stripe.com/docs/billing/invoices/workflow/#auto_advance">automatic collection</a> of the invoice. When <code>false</code>, the invoice's state will not automatically advance without an explicit action.
|
53 |
+
* @property null|string $billing_reason Indicates the reason why the invoice was created. <code>subscription_cycle</code> indicates an invoice created by a subscription advancing into a new period. <code>subscription_create</code> indicates an invoice created due to creating a subscription. <code>subscription_update</code> indicates an invoice created due to updating a subscription. <code>subscription</code> is set for all old invoices to indicate either a change to a subscription or a period advancement. <code>manual</code> is set for all invoices unrelated to a subscription (for example: created via the invoice editor). The <code>upcoming</code> value is reserved for simulated invoices per the upcoming invoice endpoint. <code>subscription_threshold</code> indicates an invoice created due to a billing threshold being reached.
|
54 |
+
* @property null|string|\Stripe\Charge $charge ID of the latest charge generated for this invoice, if any.
|
55 |
+
* @property null|string $collection_method Either <code>charge_automatically</code>, or <code>send_invoice</code>. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions.
|
56 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
57 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
58 |
+
* @property null|\Stripe\StripeObject[] $custom_fields Custom fields displayed on the invoice.
|
59 |
+
* @property string|\Stripe\Customer $customer The ID of the customer who will be billed.
|
60 |
+
* @property null|\Stripe\StripeObject $customer_address The customer's address. Until the invoice is finalized, this field will equal <code>customer.address</code>. Once the invoice is finalized, this field will no longer be updated.
|
61 |
+
* @property null|string $customer_email The customer's email. Until the invoice is finalized, this field will equal <code>customer.email</code>. Once the invoice is finalized, this field will no longer be updated.
|
62 |
+
* @property null|string $customer_name The customer's name. Until the invoice is finalized, this field will equal <code>customer.name</code>. Once the invoice is finalized, this field will no longer be updated.
|
63 |
+
* @property null|string $customer_phone The customer's phone number. Until the invoice is finalized, this field will equal <code>customer.phone</code>. Once the invoice is finalized, this field will no longer be updated.
|
64 |
+
* @property null|\Stripe\StripeObject $customer_shipping The customer's shipping information. Until the invoice is finalized, this field will equal <code>customer.shipping</code>. Once the invoice is finalized, this field will no longer be updated.
|
65 |
+
* @property null|string $customer_tax_exempt The customer's tax exempt status. Until the invoice is finalized, this field will equal <code>customer.tax_exempt</code>. Once the invoice is finalized, this field will no longer be updated.
|
66 |
+
* @property null|\Stripe\StripeObject[] $customer_tax_ids The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as <code>customer.tax_ids</code>. Once the invoice is finalized, this field will no longer be updated.
|
67 |
+
* @property null|string|\Stripe\PaymentMethod $default_payment_method ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.
|
68 |
+
* @property null|string|\Stripe\StripeObject $default_source ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.
|
69 |
+
* @property null|\Stripe\TaxRate[] $default_tax_rates The tax rates applied to this invoice, if any.
|
70 |
+
* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard.
|
71 |
+
* @property null|\Stripe\Discount $discount Describes the current discount applied to this invoice, if there is one.
|
72 |
+
* @property null|int $due_date The date on which payment for this invoice is due. This value will be <code>null</code> for invoices where <code>collection_method=charge_automatically</code>.
|
73 |
+
* @property null|int $ending_balance Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null.
|
74 |
+
* @property null|string $footer Footer displayed on the invoice.
|
75 |
+
* @property null|string $hosted_invoice_url The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null.
|
76 |
+
* @property null|string $invoice_pdf The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null.
|
77 |
+
* @property \Stripe\Collection $lines The individual line items that make up the invoice. <code>lines</code> is sorted as follows: invoice items in reverse chronological order, followed by the subscription, if any.
|
78 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
79 |
+
* @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
80 |
+
* @property null|int $next_payment_attempt The time at which payment will next be attempted. This value will be <code>null</code> for invoices where <code>collection_method=send_invoice</code>.
|
81 |
+
* @property null|string $number A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified.
|
82 |
+
* @property bool $paid Whether payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance.
|
83 |
+
* @property null|string|\Stripe\PaymentIntent $payment_intent The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent.
|
84 |
+
* @property int $period_end End of the usage period during which invoice items were added to this invoice.
|
85 |
+
* @property int $period_start Start of the usage period during which invoice items were added to this invoice.
|
86 |
+
* @property int $post_payment_credit_notes_amount Total amount of all post-payment credit notes issued for this invoice.
|
87 |
+
* @property int $pre_payment_credit_notes_amount Total amount of all pre-payment credit notes issued for this invoice.
|
88 |
+
* @property null|string $receipt_number This is the transaction number that appears on email receipts sent for this invoice.
|
89 |
+
* @property int $starting_balance Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance.
|
90 |
+
* @property null|string $statement_descriptor Extra information about an invoice for the customer's credit card statement.
|
91 |
+
* @property null|string $status The status of the invoice, one of <code>draft</code>, <code>open</code>, <code>paid</code>, <code>uncollectible</code>, or <code>void</code>. <a href="https://stripe.com/docs/billing/invoices/workflow#workflow-overview">Learn more</a>
|
92 |
+
* @property \Stripe\StripeObject $status_transitions
|
93 |
+
* @property null|string|\Stripe\Subscription $subscription The subscription that this invoice was prepared for, if any.
|
94 |
+
* @property int $subscription_proration_date Only set for upcoming invoices that preview prorations. The time used to calculate prorations.
|
95 |
+
* @property int $subtotal Total of all subscriptions, invoice items, and prorations on the invoice before any discount or tax is applied.
|
96 |
+
* @property null|int $tax The amount of tax on this invoice. This is the sum of all the tax amounts on this invoice.
|
97 |
+
* @property null|float $tax_percent This percentage of the subtotal has been added to the total amount of the invoice, including invoice line items and discounts. This field is inherited from the subscription's <code>tax_percent</code> field, but can be changed before the invoice is paid. This field defaults to null.
|
98 |
+
* @property \Stripe\StripeObject $threshold_reason
|
99 |
+
* @property int $total Total after discounts and taxes.
|
100 |
+
* @property null|\Stripe\StripeObject[] $total_tax_amounts The aggregate amounts calculated per tax rate for all line items.
|
101 |
+
* @property null|int $webhooks_delivered_at Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until all webhook delivery attempts have <a href="https://stripe.com/docs/billing/webhooks#understand">been exhausted</a>. This field tracks the time when webhooks for this invoice were successfully delivered. If the invoice had no webhooks to deliver, this will be set while the invoice is being created.
|
102 |
*/
|
103 |
class Invoice extends ApiResource
|
104 |
{
|
105 |
+
const OBJECT_NAME = 'invoice';
|
106 |
|
107 |
use ApiOperations\All;
|
108 |
use ApiOperations\Create;
|
110 |
use ApiOperations\Retrieve;
|
111 |
use ApiOperations\Update;
|
112 |
|
113 |
+
const BILLING_CHARGE_AUTOMATICALLY = 'charge_automatically';
|
114 |
+
const BILLING_SEND_INVOICE = 'send_invoice';
|
115 |
+
|
116 |
+
const BILLING_REASON_MANUAL = 'manual';
|
117 |
+
const BILLING_REASON_SUBSCRIPTION = 'subscription';
|
118 |
+
const BILLING_REASON_SUBSCRIPTION_CREATE = 'subscription_create';
|
119 |
+
const BILLING_REASON_SUBSCRIPTION_CYCLE = 'subscription_cycle';
|
|
|
120 |
const BILLING_REASON_SUBSCRIPTION_THRESHOLD = 'subscription_threshold';
|
121 |
+
const BILLING_REASON_SUBSCRIPTION_UPDATE = 'subscription_update';
|
122 |
+
const BILLING_REASON_UPCOMING = 'upcoming';
|
123 |
|
|
|
|
|
|
|
|
|
124 |
const COLLECTION_METHOD_CHARGE_AUTOMATICALLY = 'charge_automatically';
|
125 |
+
const COLLECTION_METHOD_SEND_INVOICE = 'send_invoice';
|
126 |
+
|
127 |
+
const STATUS_DELETED = 'deleted';
|
128 |
+
const STATUS_DRAFT = 'draft';
|
129 |
+
const STATUS_OPEN = 'open';
|
130 |
+
const STATUS_PAID = 'paid';
|
131 |
+
const STATUS_UNCOLLECTIBLE = 'uncollectible';
|
132 |
+
const STATUS_VOID = 'void';
|
133 |
+
|
134 |
+
use ApiOperations\NestedResource;
|
135 |
+
|
136 |
+
const PATH_LINES = '/lines';
|
137 |
|
138 |
/**
|
139 |
+
* @param null|array $params
|
140 |
+
* @param null|array|string $opts
|
141 |
+
*
|
142 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
143 |
+
*
|
144 |
+
* @return \Stripe\Invoice the upcoming invoice
|
145 |
*/
|
146 |
+
public static function upcoming($params = null, $opts = null)
|
147 |
+
{
|
148 |
+
$url = static::classUrl() . '/upcoming';
|
149 |
+
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
|
150 |
+
$obj = Util\Util::convertToStripeObject($response->json, $opts);
|
151 |
+
$obj->setLastResponse($response);
|
152 |
+
|
153 |
+
return $obj;
|
154 |
+
}
|
155 |
|
156 |
/**
|
157 |
+
* @param string $id the ID of the invoice on which to retrieve the lines
|
158 |
+
* @param null|array $params
|
159 |
+
* @param null|array|string $opts
|
160 |
+
*
|
161 |
+
* @throws StripeExceptionApiErrorException if the request fails
|
162 |
+
*
|
163 |
+
* @return \Stripe\Collection the list of lines (InvoiceLineItem)
|
164 |
*/
|
165 |
+
public static function allLines($id, $params = null, $opts = null)
|
166 |
+
{
|
167 |
+
return self::_allNestedResources($id, static::PATH_LINES, $params, $opts);
|
168 |
+
}
|
169 |
|
170 |
/**
|
171 |
+
* @param null|array $params
|
172 |
+
* @param null|array|string $opts
|
173 |
+
*
|
174 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
175 |
*
|
176 |
+
* @return Invoice the finalized invoice
|
177 |
*/
|
178 |
public function finalizeInvoice($params = null, $opts = null)
|
179 |
{
|
180 |
$url = $this->instanceUrl() . '/finalize';
|
181 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
182 |
$this->refreshFrom($response, $opts);
|
183 |
+
|
184 |
return $this;
|
185 |
}
|
186 |
|
187 |
/**
|
188 |
+
* @param null|array $params
|
189 |
+
* @param null|array|string $opts
|
190 |
+
*
|
191 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
192 |
*
|
193 |
+
* @return Invoice the uncollectible invoice
|
194 |
*/
|
195 |
public function markUncollectible($params = null, $opts = null)
|
196 |
{
|
197 |
$url = $this->instanceUrl() . '/mark_uncollectible';
|
198 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
199 |
$this->refreshFrom($response, $opts);
|
200 |
+
|
201 |
return $this;
|
202 |
}
|
203 |
|
204 |
/**
|
205 |
+
* @param null|array $params
|
206 |
+
* @param null|array|string $opts
|
207 |
*
|
208 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
209 |
+
*
|
210 |
+
* @return Invoice the paid invoice
|
211 |
*/
|
212 |
public function pay($params = null, $opts = null)
|
213 |
{
|
214 |
$url = $this->instanceUrl() . '/pay';
|
215 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
216 |
$this->refreshFrom($response, $opts);
|
217 |
+
|
218 |
return $this;
|
219 |
}
|
220 |
|
221 |
/**
|
222 |
+
* @param null|array $params
|
223 |
+
* @param null|array|string $opts
|
224 |
+
*
|
225 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
226 |
*
|
227 |
+
* @return Invoice the sent invoice
|
228 |
*/
|
229 |
public function sendInvoice($params = null, $opts = null)
|
230 |
{
|
231 |
$url = $this->instanceUrl() . '/send';
|
232 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
233 |
$this->refreshFrom($response, $opts);
|
234 |
+
|
235 |
return $this;
|
236 |
}
|
237 |
|
238 |
/**
|
239 |
+
* @param null|array $params
|
240 |
+
* @param null|array|string $opts
|
241 |
*
|
242 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
243 |
*
|
244 |
+
* @return Invoice the voided invoice
|
245 |
*/
|
246 |
public function voidInvoice($params = null, $opts = null)
|
247 |
{
|
248 |
$url = $this->instanceUrl() . '/void';
|
249 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
250 |
$this->refreshFrom($response, $opts);
|
251 |
+
|
252 |
return $this;
|
253 |
}
|
254 |
}
|
lib/stripe-gateway/lib/InvoiceItem.php
CHANGED
@@ -3,33 +3,40 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property string $currency
|
12 |
-
* @property string $customer
|
13 |
-
* @property int $date
|
14 |
-
* @property string $description
|
15 |
-
* @property bool $discountable
|
16 |
-
* @property string $invoice
|
17 |
-
* @property bool $livemode
|
18 |
-
* @property StripeObject $metadata
|
19 |
-
* @property mixed $period
|
20 |
-
* @property Plan $plan
|
21 |
-
* @property bool $proration
|
22 |
-
* @property int $quantity
|
23 |
-
* @property string $subscription
|
24 |
-
* @property string $subscription_item
|
25 |
-
* @property array $tax_rates
|
26 |
-
* @property int $unit_amount
|
27 |
*
|
28 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
*/
|
30 |
class InvoiceItem extends ApiResource
|
31 |
{
|
32 |
-
const OBJECT_NAME =
|
33 |
|
34 |
use ApiOperations\All;
|
35 |
use ApiOperations\Create;
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Sometimes you want to add a charge or credit to a customer, but actually charge
|
7 |
+
* or credit the customer's card only at the end of a regular billing cycle. This
|
8 |
+
* is useful for combining several charges (to minimize per-transaction fees), or
|
9 |
+
* for having Stripe tabulate your usage-based billing totals.
|
10 |
*
|
11 |
+
* Related guide: <a
|
12 |
+
* href="https://stripe.com/docs/billing/invoices/subscription#adding-upcoming-invoice-items">Subscription
|
13 |
+
* Invoices</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
*
|
15 |
+
* @property string $id Unique identifier for the object.
|
16 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
17 |
+
* @property int $amount Amount (in the <code>currency</code> specified) of the invoice item. This should always be equal to <code>unit_amount * quantity</code>.
|
18 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
19 |
+
* @property string|\Stripe\Customer $customer The ID of the customer who will be billed when this invoice item is billed.
|
20 |
+
* @property int $date Time at which the object was created. Measured in seconds since the Unix epoch.
|
21 |
+
* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users.
|
22 |
+
* @property bool $discountable If true, discounts will apply to this invoice item. Always false for prorations.
|
23 |
+
* @property null|string|\Stripe\Invoice $invoice The ID of the invoice this invoice item belongs to.
|
24 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
25 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
26 |
+
* @property \Stripe\StripeObject $period
|
27 |
+
* @property null|\Stripe\Plan $plan If the invoice item is a proration, the plan of the subscription that the proration was computed for.
|
28 |
+
* @property bool $proration Whether the invoice item was created automatically as a proration adjustment when the customer switched plans.
|
29 |
+
* @property int $quantity Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for.
|
30 |
+
* @property null|string|\Stripe\Subscription $subscription The subscription that this invoice item has been created for, if any.
|
31 |
+
* @property string $subscription_item The subscription item that this invoice item has been created for, if any.
|
32 |
+
* @property null|\Stripe\TaxRate[] $tax_rates The tax rates which apply to the invoice item. When set, the <code>default_tax_rates</code> on the invoice do not apply to this invoice item.
|
33 |
+
* @property bool $unified_proration For prorations this indicates whether Stripe automatically grouped multiple related debit and credit line items into a single combined line item.
|
34 |
+
* @property null|int $unit_amount Unit Amount (in the <code>currency</code> specified) of the invoice item.
|
35 |
+
* @property null|string $unit_amount_decimal Same as <code>unit_amount</code>, but contains a decimal value with at most 12 decimal places.
|
36 |
*/
|
37 |
class InvoiceItem extends ApiResource
|
38 |
{
|
39 |
+
const OBJECT_NAME = 'invoiceitem';
|
40 |
|
41 |
use ApiOperations\All;
|
42 |
use ApiOperations\Create;
|
lib/stripe-gateway/lib/InvoiceLineItem.php
CHANGED
@@ -3,30 +3,27 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
7 |
-
*
|
8 |
-
* @property
|
9 |
-
* @property string $
|
10 |
-
* @property
|
11 |
-
* @property
|
12 |
-
* @property string $
|
13 |
-
* @property bool $
|
14 |
-
* @property
|
15 |
-
* @property
|
16 |
-
* @property
|
17 |
-
* @property
|
18 |
-
* @property
|
19 |
-
* @property
|
20 |
-
* @property
|
21 |
-
* @property
|
22 |
-
* @property
|
23 |
-
* @property
|
24 |
-
* @property
|
25 |
-
* @property string $type
|
26 |
-
*
|
27 |
-
* @package Stripe
|
28 |
*/
|
29 |
class InvoiceLineItem extends ApiResource
|
30 |
{
|
31 |
-
const OBJECT_NAME =
|
32 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* @property string $id Unique identifier for the object.
|
7 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
8 |
+
* @property int $amount The amount, in %s.
|
9 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
10 |
+
* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users.
|
11 |
+
* @property bool $discountable If true, discounts will apply to this line item. Always false for prorations.
|
12 |
+
* @property string $invoice_item The ID of the <a href="https://stripe.com/docs/api/invoiceitems">invoice item</a> associated with this line item if any.
|
13 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
14 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with <code>type=subscription</code> this will reflect the metadata of the subscription that caused the line item to be created.
|
15 |
+
* @property \Stripe\StripeObject $period
|
16 |
+
* @property null|\Stripe\Plan $plan The plan of the subscription, if the line item is a subscription or a proration.
|
17 |
+
* @property bool $proration Whether this is a proration.
|
18 |
+
* @property null|int $quantity The quantity of the subscription, if the line item is a subscription or a proration.
|
19 |
+
* @property null|string $subscription The subscription that the invoice item pertains to, if any.
|
20 |
+
* @property string $subscription_item The subscription item that generated this invoice item. Left empty if the line item is not an explicit result of a subscription.
|
21 |
+
* @property null|\Stripe\StripeObject[] $tax_amounts The amount of tax calculated per tax rate for this line item
|
22 |
+
* @property null|\Stripe\TaxRate[] $tax_rates The tax rates which apply to the line item.
|
23 |
+
* @property string $type A string identifying the type of the source of this line item, either an <code>invoiceitem</code> or a <code>subscription</code>.
|
24 |
+
* @property bool $unified_proration For prorations this indicates whether Stripe automatically grouped multiple related debit and credit line items into a single combined line item.
|
|
|
|
|
|
|
25 |
*/
|
26 |
class InvoiceLineItem extends ApiResource
|
27 |
{
|
28 |
+
const OBJECT_NAME = 'line_item';
|
29 |
}
|
lib/stripe-gateway/lib/Issuing/Authorization.php
CHANGED
@@ -3,66 +3,84 @@
|
|
3 |
namespace Stripe\Issuing;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property string $authorization_method
|
12 |
-
* @property int $authorized_amount
|
13 |
-
* @property string $authorized_currency
|
14 |
-
* @property \Stripe\Collection $balance_transactions
|
15 |
-
* @property Card $card
|
16 |
-
* @property Cardholder $cardholder
|
17 |
-
* @property int $created
|
18 |
-
* @property int $held_amount
|
19 |
-
* @property string $held_currency
|
20 |
-
* @property bool $is_held_amount_controllable
|
21 |
-
* @property bool $livemode
|
22 |
-
* @property mixed $merchant_data
|
23 |
-
* @property \Stripe\StripeObject $metadata
|
24 |
-
* @property int $pending_authorized_amount
|
25 |
-
* @property int $pending_held_amount
|
26 |
-
* @property mixed $request_history
|
27 |
-
* @property string $status
|
28 |
-
* @property \Stripe\Collection $transactions
|
29 |
-
* @property mixed $verification_data
|
30 |
*
|
31 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
*/
|
33 |
class Authorization extends \Stripe\ApiResource
|
34 |
{
|
35 |
-
const OBJECT_NAME =
|
36 |
|
37 |
use \Stripe\ApiOperations\All;
|
38 |
use \Stripe\ApiOperations\Retrieve;
|
39 |
use \Stripe\ApiOperations\Update;
|
40 |
|
41 |
/**
|
42 |
-
* @param array
|
43 |
-
* @param array|string
|
44 |
*
|
45 |
-
* @
|
|
|
|
|
46 |
*/
|
47 |
-
public function approve($params = null, $
|
48 |
{
|
49 |
$url = $this->instanceUrl() . '/approve';
|
50 |
-
list($response, $opts) = $this->_request('post', $url, $params, $
|
51 |
$this->refreshFrom($response, $opts);
|
|
|
52 |
return $this;
|
53 |
}
|
54 |
|
55 |
/**
|
56 |
-
* @param array
|
57 |
-
* @param array|string
|
58 |
*
|
59 |
-
* @
|
|
|
|
|
60 |
*/
|
61 |
-
public function decline($params = null, $
|
62 |
{
|
63 |
$url = $this->instanceUrl() . '/decline';
|
64 |
-
list($response, $opts) = $this->_request('post', $url, $params, $
|
65 |
$this->refreshFrom($response, $opts);
|
|
|
66 |
return $this;
|
67 |
}
|
68 |
}
|
3 |
namespace Stripe\Issuing;
|
4 |
|
5 |
/**
|
6 |
+
* When an <a href="https://stripe.com/docs/issuing">issued card</a> is used to
|
7 |
+
* make a purchase, an Issuing <code>Authorization</code> object is created. <a
|
8 |
+
* href="https://stripe.com/docs/issuing/purchases/authorizations">Authorizations</a>
|
9 |
+
* must be approved for the purchase to be completed successfully.
|
10 |
*
|
11 |
+
* Related guide: <a
|
12 |
+
* href="https://stripe.com/docs/issuing/purchases/authorizations">Issued Card
|
13 |
+
* Authorizations</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
*
|
15 |
+
* @property string $id Unique identifier for the object.
|
16 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
17 |
+
* @property int $amount The total amount that was authorized or rejected. This amount is in the card's currency and in the <a href="https://stripe.com/docs/currencies#zero-decimal">smallest currency unit</a>.
|
18 |
+
* @property bool $approved Whether the authorization has been approved.
|
19 |
+
* @property string $authorization_method How the card details were provided.
|
20 |
+
* @property int $authorized_amount [DEPRECATED] The amount that has been authorized. This will be <code>0</code> when the object is created, and increase after it has been approved.
|
21 |
+
* @property string $authorized_currency [DEPRECATED] The currency that was presented to the cardholder for the authorization. Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
22 |
+
* @property \Stripe\BalanceTransaction[] $balance_transactions List of balance transactions associated with this authorization.
|
23 |
+
* @property \Stripe\Issuing\Card $card You can <a href="https://stripe.com/docs/issuing/cards">create physical or virtual cards</a> that are issued to cardholders.
|
24 |
+
* @property null|string|\Stripe\Issuing\Cardholder $cardholder The cardholder to whom this authorization belongs.
|
25 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
26 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
27 |
+
* @property int $held_amount [DEPRECATED] The amount the authorization is expected to be in <code>held_currency</code>. When Stripe holds funds from you, this is the amount reserved for the authorization. This will be <code>0</code> when the object is created, and increase after it has been approved. For multi-currency transactions, <code>held_amount</code> can be used to determine the expected exchange rate.
|
28 |
+
* @property string $held_currency [DEPRECATED] The currency of the <a href="https://stripe.com/docs/api#issuing_authorization_object-held_amount">held amount</a>. This will always be the card currency.
|
29 |
+
* @property bool $is_held_amount_controllable [DEPRECATED] If set <code>true</code>, you may provide <a href="https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-held_amount">held_amount</a> to control how much to hold for the authorization.
|
30 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
31 |
+
* @property int $merchant_amount The total amount that was authorized or rejected. This amount is in the <code>merchant_currency</code> and in the <a href="https://stripe.com/docs/currencies#zero-decimal">smallest currency unit</a>.
|
32 |
+
* @property string $merchant_currency The currency that was presented to the cardholder for the authorization. Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
33 |
+
* @property \Stripe\StripeObject $merchant_data
|
34 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
35 |
+
* @property int $pending_authorized_amount [DEPRECATED] The amount the user is requesting to be authorized. This field will only be non-zero during an <code>issuing_authorization.request</code> webhook.
|
36 |
+
* @property int $pending_held_amount [DEPRECATED] The additional amount Stripe will hold if the authorization is approved. This field will only be non-zero during an <code>issuing_authorization.request</code> webhook.
|
37 |
+
* @property null|\Stripe\StripeObject $pending_request The pending authorization request. This field will only be non-null during an <code>issuing_authorization.request</code> webhook.
|
38 |
+
* @property \Stripe\StripeObject[] $request_history History of every time the authorization was approved/denied (whether approved/denied by you directly, or by Stripe based on your authorization_controls). If the merchant changes the authorization by performing an <a href="https://stripe.com/docs/issuing/purchases/authorizations">incremental authorization or partial capture</a>, you can look at request_history to see the previous states of the authorization.
|
39 |
+
* @property string $status The current status of the authorization in its lifecycle.
|
40 |
+
* @property \Stripe\Issuing\Transaction[] $transactions List of <a href="https://stripe.com/docs/api/issuing/transactions">transactions</a> associated with this authorization.
|
41 |
+
* @property \Stripe\StripeObject $verification_data
|
42 |
+
* @property null|string $wallet What, if any, digital wallet was used for this authorization. One of <code>apple_pay</code>, <code>google_pay</code>, or <code>samsung_pay</code>.
|
43 |
+
* @property null|string $wallet_provider [DEPRECATED] What, if any, digital wallet was used for this authorization. One of <code>apple_pay</code>, <code>google_pay</code>, or <code>samsung_pay</code>.
|
44 |
*/
|
45 |
class Authorization extends \Stripe\ApiResource
|
46 |
{
|
47 |
+
const OBJECT_NAME = 'issuing.authorization';
|
48 |
|
49 |
use \Stripe\ApiOperations\All;
|
50 |
use \Stripe\ApiOperations\Retrieve;
|
51 |
use \Stripe\ApiOperations\Update;
|
52 |
|
53 |
/**
|
54 |
+
* @param null|array $params
|
55 |
+
* @param null|array|string $opts
|
56 |
*
|
57 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
58 |
+
*
|
59 |
+
* @return Authorization the approved authorization
|
60 |
*/
|
61 |
+
public function approve($params = null, $opts = null)
|
62 |
{
|
63 |
$url = $this->instanceUrl() . '/approve';
|
64 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
65 |
$this->refreshFrom($response, $opts);
|
66 |
+
|
67 |
return $this;
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
+
* @param null|array $params
|
72 |
+
* @param null|array|string $opts
|
73 |
*
|
74 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
75 |
+
*
|
76 |
+
* @return Authorization the declined authorization
|
77 |
*/
|
78 |
+
public function decline($params = null, $opts = null)
|
79 |
{
|
80 |
$url = $this->instanceUrl() . '/decline';
|
81 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
82 |
$this->refreshFrom($response, $opts);
|
83 |
+
|
84 |
return $this;
|
85 |
}
|
86 |
}
|
lib/stripe-gateway/lib/Issuing/Card.php
CHANGED
@@ -3,31 +3,35 @@
|
|
3 |
namespace Stripe\Issuing;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
7 |
*
|
8 |
-
* @property string $id
|
9 |
-
* @property string $object
|
10 |
-
* @property
|
11 |
-
* @property
|
12 |
-
* @property string $
|
13 |
-
* @property Cardholder $cardholder
|
14 |
-
* @property int $created
|
15 |
-
* @property string $currency
|
16 |
-
* @property int $exp_month
|
17 |
-
* @property int $exp_year
|
18 |
-
* @property string $last4
|
19 |
-
* @property bool $livemode
|
20 |
-
* @property \Stripe\StripeObject $metadata
|
21 |
-
* @property string $name
|
22 |
-
* @property
|
23 |
-
* @property string $
|
24 |
-
* @property string $
|
25 |
-
*
|
26 |
-
* @
|
|
|
|
|
|
|
27 |
*/
|
28 |
class Card extends \Stripe\ApiResource
|
29 |
{
|
30 |
-
const OBJECT_NAME =
|
31 |
|
32 |
use \Stripe\ApiOperations\All;
|
33 |
use \Stripe\ApiOperations\Create;
|
@@ -35,17 +39,20 @@ class Card extends \Stripe\ApiResource
|
|
35 |
use \Stripe\ApiOperations\Update;
|
36 |
|
37 |
/**
|
38 |
-
* @param array
|
39 |
-
* @param array|string
|
|
|
|
|
40 |
*
|
41 |
-
* @return CardDetails
|
42 |
*/
|
43 |
-
public function details($params = null, $
|
44 |
{
|
45 |
$url = $this->instanceUrl() . '/details';
|
46 |
-
list($response, $opts) = $this->_request('get', $url, $params, $
|
47 |
$obj = \Stripe\Util\Util::convertToStripeObject($response, $opts);
|
48 |
$obj->setLastResponse($response);
|
|
|
49 |
return $obj;
|
50 |
}
|
51 |
}
|
3 |
namespace Stripe\Issuing;
|
4 |
|
5 |
/**
|
6 |
+
* You can <a href="https://stripe.com/docs/issuing/cards">create physical or
|
7 |
+
* virtual cards</a> that are issued to cardholders.
|
8 |
*
|
9 |
+
* @property string $id Unique identifier for the object.
|
10 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
11 |
+
* @property \Stripe\StripeObject $authorization_controls
|
12 |
+
* @property string $brand The brand of the card.
|
13 |
+
* @property null|string $cancellation_reason The reason why the card was canceled.
|
14 |
+
* @property \Stripe\Issuing\Cardholder $cardholder <p>An Issuing <code>Cardholder</code> object represents an individual or business entity who is <a href="https://stripe.com/docs/issuing">issued</a> cards.</p><p>Related guide: <a href="https://stripe.com/docs/issuing/cards#create-cardholder">How to create a Cardholder</a></p>
|
15 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
16 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
17 |
+
* @property int $exp_month The expiration month of the card.
|
18 |
+
* @property int $exp_year The expiration year of the card.
|
19 |
+
* @property string $last4 The last 4 digits of the card number.
|
20 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
21 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
22 |
+
* @property string $name [DEPRECATED] The name of the cardholder, printed on the card. Refer to <code>cardholder.name</code> instead.
|
23 |
+
* @property null|\Stripe\StripeObject $pin Metadata about the PIN on the card.
|
24 |
+
* @property null|string|\Stripe\Issuing\Card $replaced_by The latest card that replaces this card, if any.
|
25 |
+
* @property null|string|\Stripe\Issuing\Card $replacement_for The card this card replaces, if any.
|
26 |
+
* @property null|string $replacement_reason The reason why the previous card needed to be replaced.
|
27 |
+
* @property null|\Stripe\StripeObject $shipping Where and how the card will be shipped.
|
28 |
+
* @property \Stripe\StripeObject $spending_controls
|
29 |
+
* @property string $status Whether authorizations can be approved on this card.
|
30 |
+
* @property string $type The type of the card.
|
31 |
*/
|
32 |
class Card extends \Stripe\ApiResource
|
33 |
{
|
34 |
+
const OBJECT_NAME = 'issuing.card';
|
35 |
|
36 |
use \Stripe\ApiOperations\All;
|
37 |
use \Stripe\ApiOperations\Create;
|
39 |
use \Stripe\ApiOperations\Update;
|
40 |
|
41 |
/**
|
42 |
+
* @param null|array $params
|
43 |
+
* @param null|array|string $opts
|
44 |
+
*
|
45 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
46 |
*
|
47 |
+
* @return \Stripe\Issuing\CardDetails the card details associated with that issuing card
|
48 |
*/
|
49 |
+
public function details($params = null, $opts = null)
|
50 |
{
|
51 |
$url = $this->instanceUrl() . '/details';
|
52 |
+
list($response, $opts) = $this->_request('get', $url, $params, $opts);
|
53 |
$obj = \Stripe\Util\Util::convertToStripeObject($response, $opts);
|
54 |
$obj->setLastResponse($response);
|
55 |
+
|
56 |
return $obj;
|
57 |
}
|
58 |
}
|
lib/stripe-gateway/lib/Issuing/CardDetails.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
namespace Stripe\Issuing;
|
4 |
|
5 |
/**
|
6 |
-
* Class CardDetails
|
7 |
*
|
8 |
* @property string $id
|
9 |
* @property string $object
|
@@ -12,10 +12,8 @@ namespace Stripe\Issuing;
|
|
12 |
* @property int $exp_month
|
13 |
* @property int $exp_year
|
14 |
* @property string $number
|
15 |
-
*
|
16 |
-
* @package Stripe\Issuing
|
17 |
*/
|
18 |
class CardDetails extends \Stripe\ApiResource
|
19 |
{
|
20 |
-
const OBJECT_NAME =
|
21 |
}
|
3 |
namespace Stripe\Issuing;
|
4 |
|
5 |
/**
|
6 |
+
* Class CardDetails.
|
7 |
*
|
8 |
* @property string $id
|
9 |
* @property string $object
|
12 |
* @property int $exp_month
|
13 |
* @property int $exp_year
|
14 |
* @property string $number
|
|
|
|
|
15 |
*/
|
16 |
class CardDetails extends \Stripe\ApiResource
|
17 |
{
|
18 |
+
const OBJECT_NAME = 'issuing.card_details';
|
19 |
}
|
lib/stripe-gateway/lib/Issuing/Cardholder.php
CHANGED
@@ -3,25 +3,34 @@
|
|
3 |
namespace Stripe\Issuing;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property int $created
|
12 |
-
* @property string $email
|
13 |
-
* @property bool $livemode
|
14 |
-
* @property \Stripe\StripeObject $metadata
|
15 |
-
* @property string $name
|
16 |
-
* @property string $phone_number
|
17 |
-
* @property string $status
|
18 |
-
* @property string $type
|
19 |
*
|
20 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
*/
|
22 |
class Cardholder extends \Stripe\ApiResource
|
23 |
{
|
24 |
-
const OBJECT_NAME =
|
25 |
|
26 |
use \Stripe\ApiOperations\All;
|
27 |
use \Stripe\ApiOperations\Create;
|
3 |
namespace Stripe\Issuing;
|
4 |
|
5 |
/**
|
6 |
+
* An Issuing <code>Cardholder</code> object represents an individual or business
|
7 |
+
* entity who is <a href="https://stripe.com/docs/issuing">issued</a> cards.
|
8 |
*
|
9 |
+
* Related guide: <a
|
10 |
+
* href="https://stripe.com/docs/issuing/cards#create-cardholder">How to create a
|
11 |
+
* Cardholder</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
*
|
13 |
+
* @property string $id Unique identifier for the object.
|
14 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
15 |
+
* @property null|\Stripe\StripeObject $authorization_controls [DEPRECATED] Spending rules that give you some control over how this cardholder's cards can be used. Refer to our <a href="https://stripe.com/docs/issuing/purchases/authorizations">authorizations</a> documentation for more details.
|
16 |
+
* @property \Stripe\StripeObject $billing
|
17 |
+
* @property null|\Stripe\StripeObject $company Additional information about a <code>company</code> cardholder.
|
18 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
19 |
+
* @property null|string $email The cardholder's email address.
|
20 |
+
* @property null|\Stripe\StripeObject $individual Additional information about an <code>individual</code> cardholder.
|
21 |
+
* @property bool $is_default [DEPRECATED] Whether or not this cardholder is the default cardholder.
|
22 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
23 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
24 |
+
* @property string $name The cardholder's name. This will be printed on cards issued to them.
|
25 |
+
* @property null|string $phone_number The cardholder's phone number.
|
26 |
+
* @property \Stripe\StripeObject $requirements
|
27 |
+
* @property null|\Stripe\StripeObject $spending_controls Spending rules that give you some control over how this cardholder's cards can be used. Refer to our <a href="https://stripe.com/docs/issuing/purchases/authorizations">authorizations</a> documentation for more details.
|
28 |
+
* @property string $status Specifies whether to permit authorizations on this cardholder's cards.
|
29 |
+
* @property string $type One of <code>individual</code> or <code>company</code>.
|
30 |
*/
|
31 |
class Cardholder extends \Stripe\ApiResource
|
32 |
{
|
33 |
+
const OBJECT_NAME = 'issuing.cardholder';
|
34 |
|
35 |
use \Stripe\ApiOperations\All;
|
36 |
use \Stripe\ApiOperations\Create;
|
lib/stripe-gateway/lib/Issuing/Dispute.php
CHANGED
@@ -3,25 +3,30 @@
|
|
3 |
namespace Stripe\Issuing;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property int $created
|
12 |
-
* @property string $currency
|
13 |
-
* @property mixed $evidence
|
14 |
-
* @property bool $livemode
|
15 |
-
* @property \Stripe\StripeObject $metadata
|
16 |
-
* @property string $reason
|
17 |
-
* @property string $status
|
18 |
-
* @property Transaction $transaction
|
19 |
*
|
20 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
*/
|
22 |
class Dispute extends \Stripe\ApiResource
|
23 |
{
|
24 |
-
const OBJECT_NAME =
|
25 |
|
26 |
use \Stripe\ApiOperations\All;
|
27 |
use \Stripe\ApiOperations\Create;
|
3 |
namespace Stripe\Issuing;
|
4 |
|
5 |
/**
|
6 |
+
* As a <a href="https://stripe.com/docs/issuing">card issuer</a>, you can <a
|
7 |
+
* href="https://stripe.com/docs/issuing/purchases/disputes">dispute</a>
|
8 |
+
* transactions that you do not recognize, suspect to be fraudulent, or have some
|
9 |
+
* other issue.
|
10 |
*
|
11 |
+
* Related guide: <a
|
12 |
+
* href="https://stripe.com/docs/issuing/purchases/disputes">Disputing
|
13 |
+
* Transactions</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
*
|
15 |
+
* @property string $id Unique identifier for the object.
|
16 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
17 |
+
* @property int $amount Disputed amount. Usually the amount of the <code>disputed_transaction</code>, but can differ (usually because of currency fluctuation or because only part of the order is disputed).
|
18 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
19 |
+
* @property string $currency The currency the <code>disputed_transaction</code> was made in.
|
20 |
+
* @property string|\Stripe\Issuing\Transaction $disputed_transaction The transaction being disputed.
|
21 |
+
* @property \Stripe\StripeObject $evidence
|
22 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
23 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
24 |
+
* @property string $reason Reason for this dispute. One of <code>duplicate</code>, <code>product_not_received</code>, <code>fraudulent</code>, or <code>other</code>.
|
25 |
+
* @property string $status Current status of dispute. One of <code>unsubmitted</code>, <code>under_review</code>, <code>won</code>, or <code>lost</code>.
|
26 |
*/
|
27 |
class Dispute extends \Stripe\ApiResource
|
28 |
{
|
29 |
+
const OBJECT_NAME = 'issuing.dispute';
|
30 |
|
31 |
use \Stripe\ApiOperations\All;
|
32 |
use \Stripe\ApiOperations\Create;
|
lib/stripe-gateway/lib/Issuing/Transaction.php
CHANGED
@@ -3,33 +3,37 @@
|
|
3 |
namespace Stripe\Issuing;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property string $authorization
|
12 |
-
* @property string $balance_transaction
|
13 |
-
* @property string $card
|
14 |
-
* @property string $cardholder
|
15 |
-
* @property int $created
|
16 |
-
* @property string $currency
|
17 |
-
* @property string $dispute
|
18 |
-
* @property bool $livemode
|
19 |
-
* @property mixed $merchant_data
|
20 |
-
* @property int $merchant_amount
|
21 |
-
* @property string $merchant_currency
|
22 |
-
* @property \Stripe\StripeObject $metadata
|
23 |
-
* @property string $type
|
24 |
*
|
25 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
*/
|
27 |
class Transaction extends \Stripe\ApiResource
|
28 |
{
|
29 |
-
const OBJECT_NAME =
|
30 |
|
31 |
use \Stripe\ApiOperations\All;
|
32 |
-
use \Stripe\ApiOperations\Create;
|
33 |
use \Stripe\ApiOperations\Retrieve;
|
34 |
use \Stripe\ApiOperations\Update;
|
35 |
}
|
3 |
namespace Stripe\Issuing;
|
4 |
|
5 |
/**
|
6 |
+
* Any use of an <a href="https://stripe.com/docs/issuing">issued card</a> that
|
7 |
+
* results in funds entering or leaving your Stripe account, such as a completed
|
8 |
+
* purchase or refund, is represented by an Issuing <code>Transaction</code>
|
9 |
+
* object.
|
10 |
*
|
11 |
+
* Related guide: <a
|
12 |
+
* href="https://stripe.com/docs/issuing/purchases/transactions">Issued Card
|
13 |
+
* Transactions</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
*
|
15 |
+
* @property string $id Unique identifier for the object.
|
16 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
17 |
+
* @property int $amount The transaction amount, which will be reflected in your balance. This amount is in your currency and in the <a href="https://stripe.com/docs/currencies#zero-decimal">smallest currency unit</a>.
|
18 |
+
* @property null|string|\Stripe\Issuing\Authorization $authorization The <code>Authorization</code> object that led to this transaction.
|
19 |
+
* @property null|string|\Stripe\BalanceTransaction $balance_transaction ID of the <a href="https://stripe.com/docs/api/balance_transactions">balance transaction</a> associated with this transaction.
|
20 |
+
* @property string|\Stripe\Issuing\Card $card The card used to make this transaction.
|
21 |
+
* @property null|string|\Stripe\Issuing\Cardholder $cardholder The cardholder to whom this transaction belongs.
|
22 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
23 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
24 |
+
* @property null|string|\Stripe\Issuing\Dispute $dispute If you've disputed the transaction, the ID of the dispute.
|
25 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
26 |
+
* @property int $merchant_amount The amount that the merchant will receive, denominated in <code>merchant_currency</code> and in the <a href="https://stripe.com/docs/currencies#zero-decimal">smallest currency unit</a>. It will be different from <code>amount</code> if the merchant is taking payment in a different currency.
|
27 |
+
* @property string $merchant_currency The currency with which the merchant is taking payment.
|
28 |
+
* @property \Stripe\StripeObject $merchant_data
|
29 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
30 |
+
* @property string $type The nature of the transaction.
|
31 |
*/
|
32 |
class Transaction extends \Stripe\ApiResource
|
33 |
{
|
34 |
+
const OBJECT_NAME = 'issuing.transaction';
|
35 |
|
36 |
use \Stripe\ApiOperations\All;
|
|
|
37 |
use \Stripe\ApiOperations\Retrieve;
|
38 |
use \Stripe\ApiOperations\Update;
|
39 |
}
|
lib/stripe-gateway/lib/LoginLink.php
CHANGED
@@ -3,15 +3,11 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
7 |
-
*
|
8 |
-
* @property string $
|
9 |
-
* @property int $created
|
10 |
-
* @property string $url
|
11 |
-
*
|
12 |
-
* @package Stripe
|
13 |
*/
|
14 |
class LoginLink extends ApiResource
|
15 |
{
|
16 |
-
const OBJECT_NAME =
|
17 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
7 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
8 |
+
* @property string $url The URL for the login link.
|
|
|
|
|
|
|
|
|
9 |
*/
|
10 |
class LoginLink extends ApiResource
|
11 |
{
|
12 |
+
const OBJECT_NAME = 'login_link';
|
13 |
}
|
lib/stripe-gateway/lib/Mandate.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* A Mandate is a record of the permission a customer has given you to debit their
|
7 |
+
* payment method.
|
8 |
+
*
|
9 |
+
* @property string $id Unique identifier for the object.
|
10 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
11 |
+
* @property \Stripe\StripeObject $customer_acceptance
|
12 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
13 |
+
* @property \Stripe\StripeObject $multi_use
|
14 |
+
* @property string|\Stripe\PaymentMethod $payment_method ID of the payment method associated with this mandate.
|
15 |
+
* @property \Stripe\StripeObject $payment_method_details
|
16 |
+
* @property \Stripe\StripeObject $single_use
|
17 |
+
* @property string $status The status of the mandate, which indicates whether it can be used to initiate a payment.
|
18 |
+
* @property string $type The type of the mandate.
|
19 |
+
*/
|
20 |
+
class Mandate extends ApiResource
|
21 |
+
{
|
22 |
+
const OBJECT_NAME = 'mandate';
|
23 |
+
|
24 |
+
use ApiOperations\Retrieve;
|
25 |
+
}
|
lib/stripe-gateway/lib/OAuth.php
CHANGED
@@ -7,19 +7,19 @@ abstract class OAuth
|
|
7 |
/**
|
8 |
* Generates a URL to Stripe's OAuth form.
|
9 |
*
|
10 |
-
* @param array
|
11 |
-
* @param array
|
12 |
*
|
13 |
-
* @return string
|
14 |
*/
|
15 |
public static function authorizeUrl($params = null, $opts = null)
|
16 |
{
|
17 |
$params = $params ?: [];
|
18 |
|
19 |
-
$base = ($opts && array_key_exists('connect_base', $opts)) ? $opts['connect_base'] : Stripe::$connectBase;
|
20 |
|
21 |
$params['client_id'] = self::_getClientId($params);
|
22 |
-
if (
|
23 |
$params['response_type'] = 'code';
|
24 |
}
|
25 |
$query = Util\Util::encodeParameters($params);
|
@@ -31,14 +31,16 @@ abstract class OAuth
|
|
31 |
* Use an authoriztion code to connect an account to your platform and
|
32 |
* fetch the user's credentials.
|
33 |
*
|
34 |
-
* @param array
|
35 |
-
* @param array
|
36 |
*
|
37 |
-
* @
|
|
|
|
|
38 |
*/
|
39 |
public static function token($params = null, $opts = null)
|
40 |
{
|
41 |
-
$base = ($opts && array_key_exists('connect_base', $opts)) ? $opts['connect_base'] : Stripe::$connectBase;
|
42 |
$requestor = new ApiRequestor(null, $base);
|
43 |
list($response, $apiKey) = $requestor->request(
|
44 |
'post',
|
@@ -46,21 +48,24 @@ abstract class OAuth
|
|
46 |
$params,
|
47 |
null
|
48 |
);
|
|
|
49 |
return Util\Util::convertToStripeObject($response->json, $opts);
|
50 |
}
|
51 |
|
52 |
/**
|
53 |
* Disconnects an account from your platform.
|
54 |
*
|
55 |
-
* @param array
|
56 |
-
* @param array
|
|
|
|
|
57 |
*
|
58 |
-
* @return StripeObject
|
59 |
*/
|
60 |
public static function deauthorize($params = null, $opts = null)
|
61 |
{
|
62 |
$params = $params ?: [];
|
63 |
-
$base = ($opts && array_key_exists('connect_base', $opts)) ? $opts['connect_base'] : Stripe::$connectBase;
|
64 |
$requestor = new ApiRequestor(null, $base);
|
65 |
$params['client_id'] = self::_getClientId($params);
|
66 |
list($response, $apiKey) = $requestor->request(
|
@@ -69,16 +74,17 @@ abstract class OAuth
|
|
69 |
$params,
|
70 |
null
|
71 |
);
|
|
|
72 |
return Util\Util::convertToStripeObject($response->json, $opts);
|
73 |
}
|
74 |
|
75 |
private static function _getClientId($params = null)
|
76 |
{
|
77 |
-
$clientId = ($params && array_key_exists('client_id', $params)) ? $params['client_id'] : null;
|
78 |
-
if (
|
79 |
$clientId = Stripe::getClientId();
|
80 |
}
|
81 |
-
if (
|
82 |
$msg = 'No client_id provided. (HINT: set your client_id using '
|
83 |
. '"Stripe::setClientId(<CLIENT-ID>)". You can find your client_ids '
|
84 |
. 'in your Stripe dashboard at '
|
@@ -86,8 +92,10 @@ abstract class OAuth
|
|
86 |
. 'after registering your account as a platform. See '
|
87 |
. 'https://stripe.com/docs/connect/standard-accounts for details, '
|
88 |
. 'or email support@stripe.com if you have any questions.';
|
89 |
-
|
|
|
90 |
}
|
|
|
91 |
return $clientId;
|
92 |
}
|
93 |
}
|
7 |
/**
|
8 |
* Generates a URL to Stripe's OAuth form.
|
9 |
*
|
10 |
+
* @param null|array $params
|
11 |
+
* @param null|array $opts
|
12 |
*
|
13 |
+
* @return string the URL to Stripe's OAuth form
|
14 |
*/
|
15 |
public static function authorizeUrl($params = null, $opts = null)
|
16 |
{
|
17 |
$params = $params ?: [];
|
18 |
|
19 |
+
$base = ($opts && \array_key_exists('connect_base', $opts)) ? $opts['connect_base'] : Stripe::$connectBase;
|
20 |
|
21 |
$params['client_id'] = self::_getClientId($params);
|
22 |
+
if (!\array_key_exists('response_type', $params)) {
|
23 |
$params['response_type'] = 'code';
|
24 |
}
|
25 |
$query = Util\Util::encodeParameters($params);
|
31 |
* Use an authoriztion code to connect an account to your platform and
|
32 |
* fetch the user's credentials.
|
33 |
*
|
34 |
+
* @param null|array $params
|
35 |
+
* @param null|array $opts
|
36 |
*
|
37 |
+
* @throws \Stripe\Exception\OAuth\OAuthErrorException if the request fails
|
38 |
+
*
|
39 |
+
* @return StripeObject object containing the response from the API
|
40 |
*/
|
41 |
public static function token($params = null, $opts = null)
|
42 |
{
|
43 |
+
$base = ($opts && \array_key_exists('connect_base', $opts)) ? $opts['connect_base'] : Stripe::$connectBase;
|
44 |
$requestor = new ApiRequestor(null, $base);
|
45 |
list($response, $apiKey) = $requestor->request(
|
46 |
'post',
|
48 |
$params,
|
49 |
null
|
50 |
);
|
51 |
+
|
52 |
return Util\Util::convertToStripeObject($response->json, $opts);
|
53 |
}
|
54 |
|
55 |
/**
|
56 |
* Disconnects an account from your platform.
|
57 |
*
|
58 |
+
* @param null|array $params
|
59 |
+
* @param null|array $opts
|
60 |
+
*
|
61 |
+
* @throws \Stripe\Exception\OAuth\OAuthErrorException if the request fails
|
62 |
*
|
63 |
+
* @return StripeObject object containing the response from the API
|
64 |
*/
|
65 |
public static function deauthorize($params = null, $opts = null)
|
66 |
{
|
67 |
$params = $params ?: [];
|
68 |
+
$base = ($opts && \array_key_exists('connect_base', $opts)) ? $opts['connect_base'] : Stripe::$connectBase;
|
69 |
$requestor = new ApiRequestor(null, $base);
|
70 |
$params['client_id'] = self::_getClientId($params);
|
71 |
list($response, $apiKey) = $requestor->request(
|
74 |
$params,
|
75 |
null
|
76 |
);
|
77 |
+
|
78 |
return Util\Util::convertToStripeObject($response->json, $opts);
|
79 |
}
|
80 |
|
81 |
private static function _getClientId($params = null)
|
82 |
{
|
83 |
+
$clientId = ($params && \array_key_exists('client_id', $params)) ? $params['client_id'] : null;
|
84 |
+
if (null === $clientId) {
|
85 |
$clientId = Stripe::getClientId();
|
86 |
}
|
87 |
+
if (null === $clientId) {
|
88 |
$msg = 'No client_id provided. (HINT: set your client_id using '
|
89 |
. '"Stripe::setClientId(<CLIENT-ID>)". You can find your client_ids '
|
90 |
. 'in your Stripe dashboard at '
|
92 |
. 'after registering your account as a platform. See '
|
93 |
. 'https://stripe.com/docs/connect/standard-accounts for details, '
|
94 |
. 'or email support@stripe.com if you have any questions.';
|
95 |
+
|
96 |
+
throw new Exception\AuthenticationException($msg);
|
97 |
}
|
98 |
+
|
99 |
return $clientId;
|
100 |
}
|
101 |
}
|
lib/stripe-gateway/lib/OAuthErrorObject.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class OAuthErrorObject.
|
7 |
+
*
|
8 |
+
* @property string $error
|
9 |
+
* @property string $error_description
|
10 |
+
*/
|
11 |
+
class OAuthErrorObject extends StripeObject
|
12 |
+
{
|
13 |
+
/**
|
14 |
+
* Refreshes this object using the provided values.
|
15 |
+
*
|
16 |
+
* @param array $values
|
17 |
+
* @param null|array|string|Util\RequestOptions $opts
|
18 |
+
* @param bool $partial defaults to false
|
19 |
+
*/
|
20 |
+
public function refreshFrom($values, $opts, $partial = false)
|
21 |
+
{
|
22 |
+
// Unlike most other API resources, the API will omit attributes in
|
23 |
+
// error objects when they have a null value. We manually set default
|
24 |
+
// values here to facilitate generic error handling.
|
25 |
+
$values = \array_merge([
|
26 |
+
'error' => null,
|
27 |
+
'error_description' => null,
|
28 |
+
], $values);
|
29 |
+
parent::refreshFrom($values, $opts, $partial);
|
30 |
+
}
|
31 |
+
}
|
lib/stripe-gateway/lib/Order.php
CHANGED
@@ -3,37 +3,41 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
* @property int $amount
|
11 |
-
* @property int $amount_returned
|
12 |
-
* @property string $application
|
13 |
-
* @property int $application_fee
|
14 |
-
* @property string $charge
|
15 |
-
* @property int $created
|
16 |
-
* @property string $currency
|
17 |
-
* @property string $customer
|
18 |
-
* @property string $email
|
19 |
-
* @property string $external_coupon_code
|
20 |
-
* @property OrderItem[] $items
|
21 |
-
* @property bool $livemode
|
22 |
-
* @property StripeObject $metadata
|
23 |
-
* @property Collection $returns
|
24 |
-
* @property string $selected_shipping_method
|
25 |
-
* @property mixed $shipping
|
26 |
-
* @property array $shipping_methods
|
27 |
-
* @property string $status
|
28 |
-
* @property mixed $status_transitions
|
29 |
-
* @property int $updated
|
30 |
-
* @property string $upstream_id
|
31 |
*
|
32 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
*/
|
34 |
class Order extends ApiResource
|
35 |
{
|
36 |
-
const OBJECT_NAME =
|
37 |
|
38 |
use ApiOperations\All;
|
39 |
use ApiOperations\Create;
|
@@ -41,23 +45,35 @@ class Order extends ApiResource
|
|
41 |
use ApiOperations\Update;
|
42 |
|
43 |
/**
|
44 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
45 |
*/
|
46 |
-
public function
|
47 |
{
|
48 |
-
$url = $this->instanceUrl() . '/
|
49 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
50 |
-
|
51 |
-
return $
|
52 |
}
|
53 |
|
54 |
/**
|
55 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
56 |
*/
|
57 |
-
public function
|
58 |
{
|
59 |
-
$url = $this->instanceUrl() . '/
|
60 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
61 |
-
|
|
|
|
|
62 |
}
|
63 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Order objects are created to handle end customers' purchases of previously
|
7 |
+
* defined <a href="https://stripe.com/docs/api#products">products</a>. You can
|
8 |
+
* create, retrieve, and pay individual orders, as well as list all orders. Orders
|
9 |
+
* are identified by a unique, random ID.
|
10 |
*
|
11 |
+
* Related guide: <a href="https://stripe.com/docs/orders">Tax, Shipping, and
|
12 |
+
* Inventory</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
*
|
14 |
+
* @property string $id Unique identifier for the object.
|
15 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
16 |
+
* @property int $amount A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the order.
|
17 |
+
* @property null|int $amount_returned The total amount that was returned to the customer.
|
18 |
+
* @property null|string $application ID of the Connect Application that created the order.
|
19 |
+
* @property null|int $application_fee A fee in cents that will be applied to the order and transferred to the application owner’s Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees documentation.
|
20 |
+
* @property null|string|\Stripe\Charge $charge The ID of the payment used to pay for the order. Present if the order status is <code>paid</code>, <code>fulfilled</code>, or <code>refunded</code>.
|
21 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
22 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
23 |
+
* @property null|string|\Stripe\Customer $customer The customer used for the order.
|
24 |
+
* @property null|string $email The email address of the customer placing the order.
|
25 |
+
* @property string $external_coupon_code External coupon code to load for this order.
|
26 |
+
* @property \Stripe\OrderItem[] $items List of items constituting the order. An order can have up to 25 items.
|
27 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
28 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
29 |
+
* @property null|\Stripe\Collection $returns A list of returns that have taken place for this order.
|
30 |
+
* @property null|string $selected_shipping_method The shipping method that is currently selected for this order, if any. If present, it is equal to one of the <code>id</code>s of shipping methods in the <code>shipping_methods</code> array. At order creation time, if there are multiple shipping methods, Stripe will automatically selected the first method.
|
31 |
+
* @property null|\Stripe\StripeObject $shipping The shipping address for the order. Present if the order is for goods to be shipped.
|
32 |
+
* @property null|\Stripe\StripeObject[] $shipping_methods A list of supported shipping methods for this order. The desired shipping method can be specified either by updating the order, or when paying it.
|
33 |
+
* @property string $status Current order status. One of <code>created</code>, <code>paid</code>, <code>canceled</code>, <code>fulfilled</code>, or <code>returned</code>. More details in the <a href="https://stripe.com/docs/orders/guide#understanding-order-statuses">Orders Guide</a>.
|
34 |
+
* @property null|\Stripe\StripeObject $status_transitions The timestamps at which the order status was updated.
|
35 |
+
* @property null|int $updated Time at which the object was last updated. Measured in seconds since the Unix epoch.
|
36 |
+
* @property string $upstream_id The user's order ID if it is different from the Stripe order ID.
|
37 |
*/
|
38 |
class Order extends ApiResource
|
39 |
{
|
40 |
+
const OBJECT_NAME = 'order';
|
41 |
|
42 |
use ApiOperations\All;
|
43 |
use ApiOperations\Create;
|
45 |
use ApiOperations\Update;
|
46 |
|
47 |
/**
|
48 |
+
* @param null|array $params
|
49 |
+
* @param null|array|string $opts
|
50 |
+
*
|
51 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
52 |
+
*
|
53 |
+
* @return \Stripe\OrderReturn the newly created return
|
54 |
*/
|
55 |
+
public function returnOrder($params = null, $opts = null)
|
56 |
{
|
57 |
+
$url = $this->instanceUrl() . '/returns';
|
58 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
59 |
+
|
60 |
+
return Util\Util::convertToStripeObject($response, $opts);
|
61 |
}
|
62 |
|
63 |
/**
|
64 |
+
* @param null|array $params
|
65 |
+
* @param null|array|string $opts
|
66 |
+
*
|
67 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
68 |
+
*
|
69 |
+
* @return Order the paid order
|
70 |
*/
|
71 |
+
public function pay($params = null, $opts = null)
|
72 |
{
|
73 |
+
$url = $this->instanceUrl() . '/pay';
|
74 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
75 |
+
$this->refreshFrom($response, $opts);
|
76 |
+
|
77 |
+
return $this;
|
78 |
}
|
79 |
}
|
lib/stripe-gateway/lib/OrderItem.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
* Class OrderItem
|
7 |
*
|
8 |
* @property string $object
|
9 |
* @property int $amount
|
@@ -12,10 +12,8 @@ namespace Stripe;
|
|
12 |
* @property string $parent
|
13 |
* @property int $quantity
|
14 |
* @property string $type
|
15 |
-
*
|
16 |
-
* @package Stripe
|
17 |
*/
|
18 |
class OrderItem extends StripeObject
|
19 |
{
|
20 |
-
const OBJECT_NAME =
|
21 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Class OrderItem.
|
7 |
*
|
8 |
* @property string $object
|
9 |
* @property int $amount
|
12 |
* @property string $parent
|
13 |
* @property int $quantity
|
14 |
* @property string $type
|
|
|
|
|
15 |
*/
|
16 |
class OrderItem extends StripeObject
|
17 |
{
|
18 |
+
const OBJECT_NAME = 'order_item';
|
19 |
}
|
lib/stripe-gateway/lib/OrderReturn.php
CHANGED
@@ -3,23 +3,27 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property int $created
|
12 |
-
* @property string $currency
|
13 |
-
* @property OrderItem[] $items
|
14 |
-
* @property bool $livemode
|
15 |
-
* @property string $order
|
16 |
-
* @property string $refund
|
17 |
*
|
18 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
*/
|
20 |
class OrderReturn extends ApiResource
|
21 |
{
|
22 |
-
const OBJECT_NAME =
|
23 |
|
24 |
use ApiOperations\All;
|
25 |
use ApiOperations\Retrieve;
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* A return represents the full or partial return of a number of <a
|
7 |
+
* href="https://stripe.com/docs/api#order_items">order items</a>. Returns always
|
8 |
+
* belong to an order, and may optionally contain a refund.
|
9 |
*
|
10 |
+
* Related guide: <a
|
11 |
+
* href="https://stripe.com/docs/orders/guide#handling-returns">Handling
|
12 |
+
* Returns</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
*
|
14 |
+
* @property string $id Unique identifier for the object.
|
15 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
16 |
+
* @property int $amount A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the returned line item.
|
17 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
18 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
19 |
+
* @property \Stripe\OrderItem[] $items The items included in this order return.
|
20 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
21 |
+
* @property null|string|\Stripe\Order $order The order that this return includes items from.
|
22 |
+
* @property null|string|\Stripe\Refund $refund The ID of the refund issued for this return.
|
23 |
*/
|
24 |
class OrderReturn extends ApiResource
|
25 |
{
|
26 |
+
const OBJECT_NAME = 'order_return';
|
27 |
|
28 |
use ApiOperations\All;
|
29 |
use ApiOperations\Retrieve;
|
lib/stripe-gateway/lib/PaymentIntent.php
CHANGED
@@ -3,104 +3,121 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
*
|
12 |
-
*
|
13 |
-
*
|
14 |
-
*
|
15 |
-
* @property int $canceled_at
|
16 |
-
* @property string $cancellation_reason
|
17 |
-
* @property string $capture_method
|
18 |
-
* @property Collection $charges
|
19 |
-
* @property string $client_secret
|
20 |
-
* @property string $confirmation_method
|
21 |
-
* @property int $created
|
22 |
-
* @property string $currency
|
23 |
-
* @property string $customer
|
24 |
-
* @property string $description
|
25 |
-
* @property mixed $last_payment_error
|
26 |
-
* @property bool $livemode
|
27 |
-
* @property StripeObject $metadata
|
28 |
-
* @property mixed $next_action
|
29 |
-
* @property string $on_behalf_of
|
30 |
-
* @property string $payment_method
|
31 |
-
* @property string[] $payment_method_types
|
32 |
-
* @property string $receipt_email
|
33 |
-
* @property string $review
|
34 |
-
* @property mixed $shipping
|
35 |
-
* @property string $source
|
36 |
-
* @property string $statement_descriptor
|
37 |
-
* @property string $status
|
38 |
-
* @property mixed $transfer_data
|
39 |
-
* @property string $transfer_group
|
40 |
*
|
41 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
*/
|
43 |
class PaymentIntent extends ApiResource
|
44 |
{
|
45 |
-
const OBJECT_NAME =
|
46 |
|
47 |
use ApiOperations\All;
|
48 |
use ApiOperations\Create;
|
49 |
use ApiOperations\Retrieve;
|
50 |
use ApiOperations\Update;
|
51 |
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
const STATUS_CANCELED = 'canceled';
|
58 |
-
const STATUS_PROCESSING = 'processing';
|
59 |
-
const STATUS_REQUIRES_ACTION = 'requires_action';
|
60 |
-
const STATUS_REQUIRES_CAPTURE = 'requires_capture';
|
61 |
-
const STATUS_REQUIRES_CONFIRMATION = 'requires_confirmation';
|
62 |
const STATUS_REQUIRES_PAYMENT_METHOD = 'requires_payment_method';
|
63 |
-
const STATUS_SUCCEEDED
|
64 |
|
65 |
/**
|
66 |
-
* @param array
|
67 |
-
* @param array|string
|
68 |
*
|
69 |
-
* @
|
|
|
|
|
70 |
*/
|
71 |
-
public function cancel($params = null, $
|
72 |
{
|
73 |
$url = $this->instanceUrl() . '/cancel';
|
74 |
-
list($response, $opts) = $this->_request('post', $url, $params, $
|
75 |
$this->refreshFrom($response, $opts);
|
|
|
76 |
return $this;
|
77 |
}
|
78 |
|
79 |
/**
|
80 |
-
* @param array
|
81 |
-
* @param array|string
|
|
|
|
|
82 |
*
|
83 |
-
* @return PaymentIntent
|
84 |
*/
|
85 |
-
public function capture($params = null, $
|
86 |
{
|
87 |
$url = $this->instanceUrl() . '/capture';
|
88 |
-
list($response, $opts) = $this->_request('post', $url, $params, $
|
89 |
$this->refreshFrom($response, $opts);
|
|
|
90 |
return $this;
|
91 |
}
|
92 |
|
93 |
/**
|
94 |
-
* @param array
|
95 |
-
* @param array|string
|
|
|
|
|
96 |
*
|
97 |
-
* @return PaymentIntent
|
98 |
*/
|
99 |
-
public function confirm($params = null, $
|
100 |
{
|
101 |
$url = $this->instanceUrl() . '/confirm';
|
102 |
-
list($response, $opts) = $this->_request('post', $url, $params, $
|
103 |
$this->refreshFrom($response, $opts);
|
|
|
104 |
return $this;
|
105 |
}
|
106 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* A PaymentIntent guides you through the process of collecting a payment from your
|
7 |
+
* customer. We recommend that you create exactly one PaymentIntent for each order
|
8 |
+
* or customer session in your system. You can reference the PaymentIntent later to
|
9 |
+
* see the history of payment attempts for a particular session.
|
10 |
*
|
11 |
+
* A PaymentIntent transitions through <a
|
12 |
+
* href="https://stripe.com/docs/payments/intents#intent-statuses">multiple
|
13 |
+
* statuses</a> throughout its lifetime as it interfaces with Stripe.js to perform
|
14 |
+
* authentication flows and ultimately creates at most one successful charge.
|
15 |
+
*
|
16 |
+
* Related guide: <a
|
17 |
+
* href="https://stripe.com/docs/payments/payment-intents">Payment Intents API</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
*
|
19 |
+
* @property string $id Unique identifier for the object.
|
20 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
21 |
+
* @property int $amount Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the <a href="https://stripe.com/docs/currencies#zero-decimal">smallest currency unit</a> (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or <a href="https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts">equivalent in charge currency</a>. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
|
22 |
+
* @property int $amount_capturable Amount that can be captured from this PaymentIntent.
|
23 |
+
* @property int $amount_received Amount that was collected by this PaymentIntent.
|
24 |
+
* @property null|string|\Stripe\StripeObject $application ID of the Connect application that created the PaymentIntent.
|
25 |
+
* @property null|int $application_fee_amount The amount of the application fee (if any) for the resulting payment. See the PaymentIntents <a href="https://stripe.com/docs/payments/connected-accounts">use case for connected accounts</a> for details.
|
26 |
+
* @property null|int $canceled_at Populated when <code>status</code> is <code>canceled</code>, this is the time at which the PaymentIntent was canceled. Measured in seconds since the Unix epoch.
|
27 |
+
* @property null|string $cancellation_reason Reason for cancellation of this PaymentIntent, either user-provided (<code>duplicate</code>, <code>fraudulent</code>, <code>requested_by_customer</code>, or <code>abandoned</code>) or generated by Stripe internally (<code>failed_invoice</code>, <code>void_invoice</code>, or <code>automatic</code>).
|
28 |
+
* @property string $capture_method Controls when the funds will be captured from the customer's account.
|
29 |
+
* @property \Stripe\Collection $charges Charges that were created by this PaymentIntent, if any.
|
30 |
+
* @property null|string $client_secret <p>The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key.</p><p>The client secret can be used to complete a payment from your frontend. It should not be stored, logged, embedded in URLs, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.</p><p>Refer to our docs to <a href="https://stripe.com/docs/payments/accept-a-payment">accept a payment</a> and learn about how <code>client_secret</code> should be handled.</p>
|
31 |
+
* @property string $confirmation_method
|
32 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
33 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
34 |
+
* @property null|string|\Stripe\Customer $customer <p>ID of the Customer this PaymentIntent belongs to, if one exists.</p><p>Payment methods attached to other Customers cannot be used with this PaymentIntent.</p><p>If present in combination with <a href="https://stripe.com/docs/api#payment_intent_object-setup_future_usage">setup_future_usage</a>, this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete.</p>
|
35 |
+
* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users.
|
36 |
+
* @property null|string|\Stripe\Invoice $invoice ID of the invoice that created this PaymentIntent, if it exists.
|
37 |
+
* @property null|\Stripe\ErrorObject $last_payment_error The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if the PaymentIntent is later updated for any reason.
|
38 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
39 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. For more information, see the <a href="https://stripe.com/docs/payments/payment-intents/creating-payment-intents#storing-information-in-metadata">documentation</a>.
|
40 |
+
* @property null|\Stripe\StripeObject $next_action If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source.
|
41 |
+
* @property null|string|\Stripe\Account $on_behalf_of The account (if any) for which the funds of the PaymentIntent are intended. See the PaymentIntents <a href="https://stripe.com/docs/payments/connected-accounts">use case for connected accounts</a> for details.
|
42 |
+
* @property null|string|\Stripe\PaymentMethod $payment_method ID of the payment method used in this PaymentIntent.
|
43 |
+
* @property null|\Stripe\StripeObject $payment_method_options Payment-method-specific configuration for this PaymentIntent.
|
44 |
+
* @property string[] $payment_method_types The list of payment method types (e.g. card) that this PaymentIntent is allowed to use.
|
45 |
+
* @property null|string $receipt_email Email address that the receipt for the resulting payment will be sent to.
|
46 |
+
* @property null|string|\Stripe\Review $review ID of the review associated with this PaymentIntent, if any.
|
47 |
+
* @property null|string $setup_future_usage <p>Indicates that you intend to make future payments with this PaymentIntent's payment method.</p><p>Providing this parameter will <a href="https://stripe.com/docs/payments/save-during-payment">attach the payment method</a> to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be <a href="https://stripe.com/docs/api/payment_methods/attach">attached</a> to a Customer after the transaction completes.</p><p>When processing card payments, Stripe also uses <code>setup_future_usage</code> to dynamically optimize your payment flow and comply with regional legislation and network rules, such as <a href="https://stripe.com/docs/strong-customer-authentication">SCA</a>.</p>
|
48 |
+
* @property null|\Stripe\StripeObject $shipping Shipping information for this PaymentIntent.
|
49 |
+
* @property null|string|\Stripe\StripeObject $source This is a legacy field that will be removed in the future. It is the ID of the Source object that is associated with this PaymentIntent, if one was supplied.
|
50 |
+
* @property null|string $statement_descriptor For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
|
51 |
+
* @property null|string $statement_descriptor_suffix Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
|
52 |
+
* @property string $status Status of this PaymentIntent, one of <code>requires_payment_method</code>, <code>requires_confirmation</code>, <code>requires_action</code>, <code>processing</code>, <code>requires_capture</code>, <code>canceled</code>, or <code>succeeded</code>. Read more about each PaymentIntent <a href="https://stripe.com/docs/payments/intents#intent-statuses">status</a>.
|
53 |
+
* @property null|\Stripe\StripeObject $transfer_data The data with which to automatically create a Transfer when the payment is finalized. See the PaymentIntents <a href="https://stripe.com/docs/payments/connected-accounts">use case for connected accounts</a> for details.
|
54 |
+
* @property null|string $transfer_group A string that identifies the resulting payment as part of a group. See the PaymentIntents <a href="https://stripe.com/docs/payments/connected-accounts">use case for connected accounts</a> for details.
|
55 |
*/
|
56 |
class PaymentIntent extends ApiResource
|
57 |
{
|
58 |
+
const OBJECT_NAME = 'payment_intent';
|
59 |
|
60 |
use ApiOperations\All;
|
61 |
use ApiOperations\Create;
|
62 |
use ApiOperations\Retrieve;
|
63 |
use ApiOperations\Update;
|
64 |
|
65 |
+
const STATUS_CANCELED = 'canceled';
|
66 |
+
const STATUS_PROCESSING = 'processing';
|
67 |
+
const STATUS_REQUIRES_ACTION = 'requires_action';
|
68 |
+
const STATUS_REQUIRES_CAPTURE = 'requires_capture';
|
69 |
+
const STATUS_REQUIRES_CONFIRMATION = 'requires_confirmation';
|
|
|
|
|
|
|
|
|
|
|
70 |
const STATUS_REQUIRES_PAYMENT_METHOD = 'requires_payment_method';
|
71 |
+
const STATUS_SUCCEEDED = 'succeeded';
|
72 |
|
73 |
/**
|
74 |
+
* @param null|array $params
|
75 |
+
* @param null|array|string $opts
|
76 |
*
|
77 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
78 |
+
*
|
79 |
+
* @return PaymentIntent the canceled payment intent
|
80 |
*/
|
81 |
+
public function cancel($params = null, $opts = null)
|
82 |
{
|
83 |
$url = $this->instanceUrl() . '/cancel';
|
84 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
85 |
$this->refreshFrom($response, $opts);
|
86 |
+
|
87 |
return $this;
|
88 |
}
|
89 |
|
90 |
/**
|
91 |
+
* @param null|array $params
|
92 |
+
* @param null|array|string $opts
|
93 |
+
*
|
94 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
95 |
*
|
96 |
+
* @return PaymentIntent the captured payment intent
|
97 |
*/
|
98 |
+
public function capture($params = null, $opts = null)
|
99 |
{
|
100 |
$url = $this->instanceUrl() . '/capture';
|
101 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
102 |
$this->refreshFrom($response, $opts);
|
103 |
+
|
104 |
return $this;
|
105 |
}
|
106 |
|
107 |
/**
|
108 |
+
* @param null|array $params
|
109 |
+
* @param null|array|string $opts
|
110 |
+
*
|
111 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
112 |
*
|
113 |
+
* @return PaymentIntent the confirmed payment intent
|
114 |
*/
|
115 |
+
public function confirm($params = null, $opts = null)
|
116 |
{
|
117 |
$url = $this->instanceUrl() . '/confirm';
|
118 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
119 |
$this->refreshFrom($response, $opts);
|
120 |
+
|
121 |
return $this;
|
122 |
}
|
123 |
}
|
lib/stripe-gateway/lib/PaymentMethod.php
CHANGED
@@ -3,26 +3,35 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
*
|
12 |
-
* @property mixed $card_present
|
13 |
-
* @property int $created
|
14 |
-
* @property string $customer
|
15 |
-
* @property mixed $ideal
|
16 |
-
* @property bool $livemode
|
17 |
-
* @property StripeObject $metadata
|
18 |
-
* @property mixed $sepa_debit
|
19 |
-
* @property string $type
|
20 |
*
|
21 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
*/
|
23 |
class PaymentMethod extends ApiResource
|
24 |
{
|
25 |
-
const OBJECT_NAME =
|
26 |
|
27 |
use ApiOperations\All;
|
28 |
use ApiOperations\Create;
|
@@ -30,30 +39,36 @@ class PaymentMethod extends ApiResource
|
|
30 |
use ApiOperations\Update;
|
31 |
|
32 |
/**
|
33 |
-
* @param array
|
34 |
-
* @param array|string
|
35 |
*
|
36 |
-
* @
|
|
|
|
|
37 |
*/
|
38 |
public function attach($params = null, $opts = null)
|
39 |
{
|
40 |
$url = $this->instanceUrl() . '/attach';
|
41 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
42 |
$this->refreshFrom($response, $opts);
|
|
|
43 |
return $this;
|
44 |
}
|
45 |
|
46 |
/**
|
47 |
-
* @param array
|
48 |
-
* @param array|string
|
49 |
*
|
50 |
-
* @
|
|
|
|
|
51 |
*/
|
52 |
public function detach($params = null, $opts = null)
|
53 |
{
|
54 |
$url = $this->instanceUrl() . '/detach';
|
55 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
56 |
$this->refreshFrom($response, $opts);
|
|
|
57 |
return $this;
|
58 |
}
|
59 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* PaymentMethod objects represent your customer's payment instruments. They can be
|
7 |
+
* used with <a
|
8 |
+
* href="https://stripe.com/docs/payments/payment-intents">PaymentIntents</a> to
|
9 |
+
* collect payments or saved to Customer objects to store instrument details for
|
10 |
+
* future payments.
|
11 |
*
|
12 |
+
* Related guides: <a
|
13 |
+
* href="https://stripe.com/docs/payments/payment-methods">Payment Methods</a> and
|
14 |
+
* <a href="https://stripe.com/docs/payments/more-payment-scenarios">More Payment
|
15 |
+
* Scenarios</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
*
|
17 |
+
* @property string $id Unique identifier for the object.
|
18 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
19 |
+
* @property \Stripe\StripeObject $au_becs_debit
|
20 |
+
* @property \Stripe\StripeObject $billing_details
|
21 |
+
* @property \Stripe\StripeObject $card
|
22 |
+
* @property \Stripe\StripeObject $card_present
|
23 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
24 |
+
* @property null|string|\Stripe\Customer $customer The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer.
|
25 |
+
* @property \Stripe\StripeObject $fpx
|
26 |
+
* @property \Stripe\StripeObject $ideal
|
27 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
28 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
29 |
+
* @property \Stripe\StripeObject $sepa_debit
|
30 |
+
* @property string $type The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
|
31 |
*/
|
32 |
class PaymentMethod extends ApiResource
|
33 |
{
|
34 |
+
const OBJECT_NAME = 'payment_method';
|
35 |
|
36 |
use ApiOperations\All;
|
37 |
use ApiOperations\Create;
|
39 |
use ApiOperations\Update;
|
40 |
|
41 |
/**
|
42 |
+
* @param null|array $params
|
43 |
+
* @param null|array|string $opts
|
44 |
*
|
45 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
46 |
+
*
|
47 |
+
* @return PaymentMethod the attached payment method
|
48 |
*/
|
49 |
public function attach($params = null, $opts = null)
|
50 |
{
|
51 |
$url = $this->instanceUrl() . '/attach';
|
52 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
53 |
$this->refreshFrom($response, $opts);
|
54 |
+
|
55 |
return $this;
|
56 |
}
|
57 |
|
58 |
/**
|
59 |
+
* @param null|array $params
|
60 |
+
* @param null|array|string $opts
|
61 |
*
|
62 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
63 |
+
*
|
64 |
+
* @return PaymentMethod the detached payment method
|
65 |
*/
|
66 |
public function detach($params = null, $opts = null)
|
67 |
{
|
68 |
$url = $this->instanceUrl() . '/detach';
|
69 |
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
70 |
$this->refreshFrom($response, $opts);
|
71 |
+
|
72 |
return $this;
|
73 |
}
|
74 |
}
|
lib/stripe-gateway/lib/Payout.php
CHANGED
@@ -3,90 +3,85 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
* @property string $object
|
10 |
-
* @property int $amount
|
11 |
-
* @property int $arrival_date
|
12 |
-
* @property bool $automatic
|
13 |
-
* @property string $balance_transaction
|
14 |
-
* @property int $created
|
15 |
-
* @property string $currency
|
16 |
-
* @property string $description
|
17 |
-
* @property string $destination
|
18 |
-
* @property string $failure_balance_transaction
|
19 |
-
* @property string $failure_code
|
20 |
-
* @property string $failure_message
|
21 |
-
* @property bool $livemode
|
22 |
-
* @property StripeObject $metadata
|
23 |
-
* @property string $method
|
24 |
-
* @property string $source_type
|
25 |
-
* @property string $statement_descriptor
|
26 |
-
* @property string $status
|
27 |
-
* @property string $type
|
28 |
*
|
29 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
*/
|
31 |
class Payout extends ApiResource
|
32 |
{
|
33 |
-
const OBJECT_NAME =
|
34 |
|
35 |
use ApiOperations\All;
|
36 |
use ApiOperations\Create;
|
37 |
use ApiOperations\Retrieve;
|
38 |
use ApiOperations\Update;
|
39 |
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
const
|
45 |
-
const
|
46 |
-
const
|
47 |
-
const FAILURE_BANK_OWNERSHIP_CHANGED = 'bank_ownership_changed';
|
48 |
-
const FAILURE_COULD_NOT_PROCESS = 'could_not_process';
|
49 |
-
const FAILURE_DEBIT_NOT_AUTHORIZED = 'debit_not_authorized';
|
50 |
-
const FAILURE_DECLINED = 'declined';
|
51 |
const FAILURE_INCORRECT_ACCOUNT_HOLDER_NAME = 'incorrect_account_holder_name';
|
52 |
-
const FAILURE_INSUFFICIENT_FUNDS
|
53 |
-
const FAILURE_INVALID_ACCOUNT_NUMBER
|
54 |
-
const FAILURE_INVALID_CURRENCY
|
55 |
-
const FAILURE_NO_ACCOUNT
|
56 |
-
const FAILURE_UNSUPPORTED_CARD
|
57 |
|
58 |
-
|
59 |
-
* Possible string representations of the payout methods.
|
60 |
-
* @link https://stripe.com/docs/api/payouts/object#payout_object-method
|
61 |
-
*/
|
62 |
const METHOD_STANDARD = 'standard';
|
63 |
-
const METHOD_INSTANT = 'instant';
|
64 |
|
65 |
-
|
66 |
-
|
67 |
-
* @link https://stripe.com/docs/api/payouts/object#payout_object-status
|
68 |
-
*/
|
69 |
-
const STATUS_CANCELED = 'canceled';
|
70 |
const STATUS_IN_TRANSIT = 'in_transit';
|
71 |
-
const
|
72 |
-
const
|
73 |
-
const STATUS_PENDING = 'pending';
|
74 |
|
75 |
-
/**
|
76 |
-
* Possible string representations of the type of payout.
|
77 |
-
* @link https://stripe.com/docs/api/payouts/object#payout_object-type
|
78 |
-
*/
|
79 |
const TYPE_BANK_ACCOUNT = 'bank_account';
|
80 |
-
const TYPE_CARD
|
81 |
|
82 |
/**
|
83 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
84 |
*/
|
85 |
-
public function cancel()
|
86 |
{
|
87 |
$url = $this->instanceUrl() . '/cancel';
|
88 |
-
list($response, $opts) = $this->_request('post', $url);
|
89 |
$this->refreshFrom($response, $opts);
|
|
|
90 |
return $this;
|
91 |
}
|
92 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* A <code>Payout</code> object is created when you receive funds from Stripe, or
|
7 |
+
* when you initiate a payout to either a bank account or debit card of a <a
|
8 |
+
* href="/docs/connect/payouts">connected Stripe account</a>. You can retrieve
|
9 |
+
* individual payouts, as well as list all payouts. Payouts are made on <a
|
10 |
+
* href="/docs/payouts#payout-schedule">varying schedules</a>, depending on your
|
11 |
+
* country and industry.
|
12 |
*
|
13 |
+
* Related guide: <a href="https://stripe.com/docs/payouts">Receiving Payouts</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
*
|
15 |
+
* @property string $id Unique identifier for the object.
|
16 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
17 |
+
* @property int $amount Amount (in %s) to be transferred to your bank account or debit card.
|
18 |
+
* @property int $arrival_date Date the payout is expected to arrive in the bank. This factors in delays like weekends or bank holidays.
|
19 |
+
* @property bool $automatic Returns <code>true</code> if the payout was created by an <a href="https://stripe.com/docs/payouts#payout-schedule">automated payout schedule</a>, and <code>false</code> if it was <a href="https://stripe.com/docs/payouts#manual-payouts">requested manually</a>.
|
20 |
+
* @property null|string|\Stripe\BalanceTransaction $balance_transaction ID of the balance transaction that describes the impact of this payout on your account balance.
|
21 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
22 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
23 |
+
* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users.
|
24 |
+
* @property null|string|\Stripe\StripeObject $destination ID of the bank account or card the payout was sent to.
|
25 |
+
* @property null|string|\Stripe\BalanceTransaction $failure_balance_transaction If the payout failed or was canceled, this will be the ID of the balance transaction that reversed the initial balance transaction, and puts the funds from the failed payout back in your balance.
|
26 |
+
* @property null|string $failure_code Error code explaining reason for payout failure if available. See <a href="https://stripe.com/docs/api#payout_failures">Types of payout failures</a> for a list of failure codes.
|
27 |
+
* @property null|string $failure_message Message to user further explaining reason for payout failure if available.
|
28 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
29 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
30 |
+
* @property string $method The method used to send this payout, which can be <code>standard</code> or <code>instant</code>. <code>instant</code> is only supported for payouts to debit cards. (See <a href="https://stripe.com/blog/instant-payouts-for-marketplaces">Instant payouts for marketplaces</a> for more information.)
|
31 |
+
* @property string $source_type The source balance this payout came from. One of <code>card</code>, <code>fpx</code>, or <code>bank_account</code>.
|
32 |
+
* @property null|string $statement_descriptor Extra information about a payout to be displayed on the user's bank statement.
|
33 |
+
* @property string $status Current status of the payout (<code>paid</code>, <code>pending</code>, <code>in_transit</code>, <code>canceled</code> or <code>failed</code>). A payout will be <code>pending</code> until it is submitted to the bank, at which point it becomes <code>in_transit</code>. It will then change to <code>paid</code> if the transaction goes through. If it does not go through successfully, its status will change to <code>failed</code> or <code>canceled</code>.
|
34 |
+
* @property string $type Can be <code>bank_account</code> or <code>card</code>.
|
35 |
*/
|
36 |
class Payout extends ApiResource
|
37 |
{
|
38 |
+
const OBJECT_NAME = 'payout';
|
39 |
|
40 |
use ApiOperations\All;
|
41 |
use ApiOperations\Create;
|
42 |
use ApiOperations\Retrieve;
|
43 |
use ApiOperations\Update;
|
44 |
|
45 |
+
const FAILURE_ACCOUNT_CLOSED = 'account_closed';
|
46 |
+
const FAILURE_ACCOUNT_FROZEN = 'account_frozen';
|
47 |
+
const FAILURE_BANK_ACCOUNT_RESTRICTED = 'bank_account_restricted';
|
48 |
+
const FAILURE_BANK_OWNERSHIP_CHANGED = 'bank_ownership_changed';
|
49 |
+
const FAILURE_COULD_NOT_PROCESS = 'could_not_process';
|
50 |
+
const FAILURE_DEBIT_NOT_AUTHORIZED = 'debit_not_authorized';
|
51 |
+
const FAILURE_DECLINED = 'declined';
|
|
|
|
|
|
|
|
|
52 |
const FAILURE_INCORRECT_ACCOUNT_HOLDER_NAME = 'incorrect_account_holder_name';
|
53 |
+
const FAILURE_INSUFFICIENT_FUNDS = 'insufficient_funds';
|
54 |
+
const FAILURE_INVALID_ACCOUNT_NUMBER = 'invalid_account_number';
|
55 |
+
const FAILURE_INVALID_CURRENCY = 'invalid_currency';
|
56 |
+
const FAILURE_NO_ACCOUNT = 'no_account';
|
57 |
+
const FAILURE_UNSUPPORTED_CARD = 'unsupported_card';
|
58 |
|
59 |
+
const METHOD_INSTANT = 'instant';
|
|
|
|
|
|
|
60 |
const METHOD_STANDARD = 'standard';
|
|
|
61 |
|
62 |
+
const STATUS_CANCELED = 'canceled';
|
63 |
+
const STATUS_FAILED = 'failed';
|
|
|
|
|
|
|
64 |
const STATUS_IN_TRANSIT = 'in_transit';
|
65 |
+
const STATUS_PAID = 'paid';
|
66 |
+
const STATUS_PENDING = 'pending';
|
|
|
67 |
|
|
|
|
|
|
|
|
|
68 |
const TYPE_BANK_ACCOUNT = 'bank_account';
|
69 |
+
const TYPE_CARD = 'card';
|
70 |
|
71 |
/**
|
72 |
+
* @param null|array $params
|
73 |
+
* @param null|array|string $opts
|
74 |
+
*
|
75 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
76 |
+
*
|
77 |
+
* @return Payout the canceled payout
|
78 |
*/
|
79 |
+
public function cancel($params = null, $opts = null)
|
80 |
{
|
81 |
$url = $this->instanceUrl() . '/cancel';
|
82 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
83 |
$this->refreshFrom($response, $opts);
|
84 |
+
|
85 |
return $this;
|
86 |
}
|
87 |
}
|
lib/stripe-gateway/lib/Person.php
CHANGED
@@ -3,69 +3,62 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
7 |
*
|
8 |
-
*
|
|
|
|
|
9 |
*
|
10 |
-
* @property string $id
|
11 |
-
* @property string $object
|
12 |
-
* @property string $account
|
13 |
-
* @property
|
14 |
-
* @property
|
15 |
-
* @property
|
16 |
-
* @property int $created
|
17 |
-
* @property
|
18 |
-
* @property
|
19 |
-
* @property string $
|
20 |
-
* @property string $
|
21 |
-
* @property string $
|
22 |
-
* @property string $
|
23 |
-
* @property
|
24 |
-
* @property
|
25 |
-
* @property string $
|
26 |
-
* @property string $
|
27 |
-
* @property string $
|
28 |
-
* @property
|
29 |
-
* @property
|
30 |
-
* @property
|
31 |
-
* @property
|
32 |
-
* @property
|
33 |
-
* @property
|
34 |
-
* @property mixed $verification
|
35 |
*/
|
36 |
class Person extends ApiResource
|
37 |
{
|
38 |
-
const OBJECT_NAME =
|
39 |
|
40 |
use ApiOperations\Delete;
|
41 |
use ApiOperations\Update;
|
42 |
|
43 |
-
/**
|
44 |
-
* Possible string representations of a person's gender.
|
45 |
-
* @link https://stripe.com/docs/api/persons/object#person_object-gender
|
46 |
-
*/
|
47 |
-
const GENDER_MALE = 'male';
|
48 |
const GENDER_FEMALE = 'female';
|
|
|
49 |
|
50 |
-
|
51 |
-
* Possible string representations of a person's verification status.
|
52 |
-
* @link https://stripe.com/docs/api/persons/object#person_object-verification-status
|
53 |
-
*/
|
54 |
-
const VERIFICATION_STATUS_PENDING = 'pending';
|
55 |
const VERIFICATION_STATUS_UNVERIFIED = 'unverified';
|
56 |
-
const VERIFICATION_STATUS_VERIFIED
|
57 |
|
58 |
/**
|
59 |
-
* @return string
|
60 |
*/
|
61 |
public function instanceUrl()
|
62 |
{
|
63 |
$id = $this['id'];
|
64 |
$account = $this['account'];
|
65 |
if (!$id) {
|
66 |
-
throw new
|
67 |
-
|
68 |
-
"class instance has invalid ID: $id",
|
69 |
null
|
70 |
);
|
71 |
}
|
@@ -73,35 +66,40 @@ class Person extends ApiResource
|
|
73 |
$account = Util\Util::utf8($account);
|
74 |
|
75 |
$base = Account::classUrl();
|
76 |
-
$accountExtn = urlencode($account);
|
77 |
-
$extn = urlencode($id);
|
78 |
-
|
|
|
79 |
}
|
80 |
|
81 |
/**
|
82 |
* @param array|string $_id
|
83 |
-
* @param array|string
|
84 |
*
|
85 |
-
* @throws \Stripe\
|
86 |
*/
|
87 |
public static function retrieve($_id, $_opts = null)
|
88 |
{
|
89 |
-
$msg =
|
90 |
-
"
|
91 |
-
|
|
|
|
|
92 |
}
|
93 |
|
94 |
/**
|
95 |
* @param string $_id
|
96 |
-
* @param array
|
97 |
-
* @param array|string
|
98 |
*
|
99 |
-
* @throws \Stripe\
|
100 |
*/
|
101 |
public static function update($_id, $_params = null, $_options = null)
|
102 |
{
|
103 |
-
$msg =
|
104 |
-
"
|
105 |
-
|
|
|
|
|
106 |
}
|
107 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* This is an object representing a person associated with a Stripe account.
|
7 |
*
|
8 |
+
* Related guide: <a
|
9 |
+
* href="https://stripe.com/docs/connect/identity-verification-api#person-information">Handling
|
10 |
+
* Identity Verification with the API</a>.
|
11 |
*
|
12 |
+
* @property string $id Unique identifier for the object.
|
13 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
14 |
+
* @property string $account The account the person is associated with.
|
15 |
+
* @property \Stripe\StripeObject $address
|
16 |
+
* @property null|\Stripe\StripeObject $address_kana The Kana variation of the person's address (Japan only).
|
17 |
+
* @property null|\Stripe\StripeObject $address_kanji The Kanji variation of the person's address (Japan only).
|
18 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
19 |
+
* @property \Stripe\StripeObject $dob
|
20 |
+
* @property null|string $email The person's email address.
|
21 |
+
* @property null|string $first_name The person's first name.
|
22 |
+
* @property null|string $first_name_kana The Kana variation of the person's first name (Japan only).
|
23 |
+
* @property null|string $first_name_kanji The Kanji variation of the person's first name (Japan only).
|
24 |
+
* @property null|string $gender The person's gender (International regulations require either "male" or "female").
|
25 |
+
* @property bool $id_number_provided Whether the person's <code>id_number</code> was provided.
|
26 |
+
* @property null|string $last_name The person's last name.
|
27 |
+
* @property null|string $last_name_kana The Kana variation of the person's last name (Japan only).
|
28 |
+
* @property null|string $last_name_kanji The Kanji variation of the person's last name (Japan only).
|
29 |
+
* @property null|string $maiden_name The person's maiden name.
|
30 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
31 |
+
* @property null|string $phone The person's phone number.
|
32 |
+
* @property \Stripe\StripeObject $relationship
|
33 |
+
* @property null|\Stripe\StripeObject $requirements Information about the requirements for this person, including what information needs to be collected, and by when.
|
34 |
+
* @property bool $ssn_last_4_provided Whether the last 4 digits of this person's SSN have been provided.
|
35 |
+
* @property \Stripe\StripeObject $verification
|
|
|
36 |
*/
|
37 |
class Person extends ApiResource
|
38 |
{
|
39 |
+
const OBJECT_NAME = 'person';
|
40 |
|
41 |
use ApiOperations\Delete;
|
42 |
use ApiOperations\Update;
|
43 |
|
|
|
|
|
|
|
|
|
|
|
44 |
const GENDER_FEMALE = 'female';
|
45 |
+
const GENDER_MALE = 'male';
|
46 |
|
47 |
+
const VERIFICATION_STATUS_PENDING = 'pending';
|
|
|
|
|
|
|
|
|
48 |
const VERIFICATION_STATUS_UNVERIFIED = 'unverified';
|
49 |
+
const VERIFICATION_STATUS_VERIFIED = 'verified';
|
50 |
|
51 |
/**
|
52 |
+
* @return string the API URL for this Stripe account reversal
|
53 |
*/
|
54 |
public function instanceUrl()
|
55 |
{
|
56 |
$id = $this['id'];
|
57 |
$account = $this['account'];
|
58 |
if (!$id) {
|
59 |
+
throw new Exception\UnexpectedValueException(
|
60 |
+
'Could not determine which URL to request: ' .
|
61 |
+
"class instance has invalid ID: {$id}",
|
62 |
null
|
63 |
);
|
64 |
}
|
66 |
$account = Util\Util::utf8($account);
|
67 |
|
68 |
$base = Account::classUrl();
|
69 |
+
$accountExtn = \urlencode($account);
|
70 |
+
$extn = \urlencode($id);
|
71 |
+
|
72 |
+
return "{$base}/{$accountExtn}/persons/{$extn}";
|
73 |
}
|
74 |
|
75 |
/**
|
76 |
* @param array|string $_id
|
77 |
+
* @param null|array|string $_opts
|
78 |
*
|
79 |
+
* @throws \Stripe\Exception\BadMethodCallException
|
80 |
*/
|
81 |
public static function retrieve($_id, $_opts = null)
|
82 |
{
|
83 |
+
$msg = 'Persons cannot be retrieved without an account ID. Retrieve ' .
|
84 |
+
"a person using `Account::retrievePerson('account_id', " .
|
85 |
+
"'person_id')`.";
|
86 |
+
|
87 |
+
throw new Exception\BadMethodCallException($msg);
|
88 |
}
|
89 |
|
90 |
/**
|
91 |
* @param string $_id
|
92 |
+
* @param null|array $_params
|
93 |
+
* @param null|array|string $_options
|
94 |
*
|
95 |
+
* @throws \Stripe\Exception\BadMethodCallException
|
96 |
*/
|
97 |
public static function update($_id, $_params = null, $_options = null)
|
98 |
{
|
99 |
+
$msg = 'Persons cannot be updated without an account ID. Update ' .
|
100 |
+
"a person using `Account::updatePerson('account_id', " .
|
101 |
+
"'person_id', \$updateParams)`.";
|
102 |
+
|
103 |
+
throw new Exception\BadMethodCallException($msg);
|
104 |
}
|
105 |
}
|
lib/stripe-gateway/lib/Plan.php
CHANGED
@@ -3,33 +3,41 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
|
|
|
|
|
|
|
|
9 |
*
|
10 |
-
* @property string $id
|
11 |
-
* @property string $object
|
12 |
-
* @property bool $active
|
13 |
-
* @property string $aggregate_usage
|
14 |
-
* @property int $amount
|
15 |
-
* @property string $
|
16 |
-
* @property
|
17 |
-
* @property
|
18 |
-
* @property string $
|
19 |
-
* @property
|
20 |
-
* @property
|
21 |
-
* @property
|
22 |
-
* @property
|
23 |
-
* @property string $
|
24 |
-
* @property
|
25 |
-
* @property
|
26 |
-
* @property
|
27 |
-
* @property
|
28 |
-
* @property
|
|
|
29 |
*/
|
30 |
class Plan extends ApiResource
|
31 |
{
|
32 |
-
const OBJECT_NAME =
|
33 |
|
34 |
use ApiOperations\All;
|
35 |
use ApiOperations\Create;
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Plans define the base price, currency, and billing cycle for subscriptions. For
|
7 |
+
* example, you might have a <currency>5</currency>/month plan that
|
8 |
+
* provides limited access to your products, and a
|
9 |
+
* <currency>15</currency>/month plan that allows full access.
|
10 |
*
|
11 |
+
* Related guides: <a
|
12 |
+
* href="https://stripe.com/docs/billing/subscriptions/set-up-subscription">Set up
|
13 |
+
* a subscription</a> and more about <a
|
14 |
+
* href="https://stripe.com/docs/billing/subscriptions/products-and-plans">products
|
15 |
+
* and plans</a>.
|
16 |
*
|
17 |
+
* @property string $id Unique identifier for the object.
|
18 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
19 |
+
* @property bool $active Whether the plan is currently available for new subscriptions.
|
20 |
+
* @property null|string $aggregate_usage Specifies a usage aggregation strategy for plans of <code>usage_type=metered</code>. Allowed values are <code>sum</code> for summing up all usage during a period, <code>last_during_period</code> for using the last usage record reported within a period, <code>last_ever</code> for using the last usage record ever (across period bounds) or <code>max</code> which uses the usage record with the maximum reported usage during a period. Defaults to <code>sum</code>.
|
21 |
+
* @property null|int $amount The amount in %s to be charged on the interval specified.
|
22 |
+
* @property null|string $amount_decimal Same as <code>amount</code>, but contains a decimal value with at most 12 decimal places.
|
23 |
+
* @property string $billing_scheme Describes how to compute the price per period. Either <code>per_unit</code> or <code>tiered</code>. <code>per_unit</code> indicates that the fixed amount (specified in <code>amount</code>) will be charged per unit in <code>quantity</code> (for plans with <code>usage_type=licensed</code>), or per unit of total usage (for plans with <code>usage_type=metered</code>). <code>tiered</code> indicates that the unit pricing will be computed using a tiering strategy as defined using the <code>tiers</code> and <code>tiers_mode</code> attributes.
|
24 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
25 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
26 |
+
* @property string $interval The frequency at which a subscription is billed. One of <code>day</code>, <code>week</code>, <code>month</code> or <code>year</code>.
|
27 |
+
* @property int $interval_count The number of intervals (specified in the <code>interval</code> attribute) between subscription billings. For example, <code>interval=month</code> and <code>interval_count=3</code> bills every 3 months.
|
28 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
29 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
30 |
+
* @property null|string $nickname A brief description of the plan, hidden from customers.
|
31 |
+
* @property null|string|\Stripe\Product $product The product whose pricing this plan determines.
|
32 |
+
* @property null|\Stripe\StripeObject[] $tiers Each element represents a pricing tier. This parameter requires <code>billing_scheme</code> to be set to <code>tiered</code>. See also the documentation for <code>billing_scheme</code>.
|
33 |
+
* @property null|string $tiers_mode Defines if the tiering price should be <code>graduated</code> or <code>volume</code> based. In <code>volume</code>-based tiering, the maximum quantity within a period determines the per unit price. In <code>graduated</code> tiering, pricing can change as the quantity grows.
|
34 |
+
* @property null|\Stripe\StripeObject $transform_usage Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with <code>tiers</code>.
|
35 |
+
* @property null|int $trial_period_days Default number of trial days when subscribing a customer to this plan using <a href="https://stripe.com/docs/api#create_subscription-trial_from_plan"><code>trial_from_plan=true</code></a>.
|
36 |
+
* @property string $usage_type Configures how the quantity per period should be determined. Can be either <code>metered</code> or <code>licensed</code>. <code>licensed</code> automatically bills the <code>quantity</code> set when adding it to a subscription. <code>metered</code> aggregates the total usage based on usage records. Defaults to <code>licensed</code>.
|
37 |
*/
|
38 |
class Plan extends ApiResource
|
39 |
{
|
40 |
+
const OBJECT_NAME = 'plan';
|
41 |
|
42 |
use ApiOperations\All;
|
43 |
use ApiOperations\Create;
|
lib/stripe-gateway/lib/Product.php
CHANGED
@@ -3,33 +3,41 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property string[] $attributes
|
12 |
-
* @property string $caption
|
13 |
-
* @property int $created
|
14 |
-
* @property string[] $deactivate_on
|
15 |
-
* @property string $description
|
16 |
-
* @property string[] $images
|
17 |
-
* @property bool $livemode
|
18 |
-
* @property StripeObject $metadata
|
19 |
-
* @property string $name
|
20 |
-
* @property mixed $package_dimensions
|
21 |
-
* @property bool $shippable
|
22 |
-
* @property string $statement_descriptor
|
23 |
-
* @property string $type
|
24 |
-
* @property string $unit_label
|
25 |
-
* @property int $updated
|
26 |
-
* @property string $url
|
27 |
*
|
28 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
*/
|
30 |
class Product extends ApiResource
|
31 |
{
|
32 |
-
const OBJECT_NAME =
|
33 |
|
34 |
use ApiOperations\All;
|
35 |
use ApiOperations\Create;
|
@@ -37,10 +45,6 @@ class Product extends ApiResource
|
|
37 |
use ApiOperations\Retrieve;
|
38 |
use ApiOperations\Update;
|
39 |
|
40 |
-
|
41 |
-
* Possible string representations of the type of product.
|
42 |
-
* @link https://stripe.com/docs/api/service_products/object#service_product_object-type
|
43 |
-
*/
|
44 |
-
const TYPE_GOOD = 'good';
|
45 |
const TYPE_SERVICE = 'service';
|
46 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Store representations of products you sell in <code>Product</code> objects, used
|
7 |
+
* in conjunction with <a href="https://stripe.com/docs/api#skus">SKUs</a>.
|
8 |
+
* Products may be physical goods, to be shipped, or digital.
|
9 |
*
|
10 |
+
* Documentation on <code>Product</code>s for use with <code>Subscription</code>s
|
11 |
+
* can be found at <a
|
12 |
+
* href="https://stripe.com/docs/api#service_products">Subscription Products</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
*
|
14 |
+
* Related guide: <a
|
15 |
+
* href="https://stripe.com/docs/orders#define-products-skus">Define products and
|
16 |
+
* SKUs</a>
|
17 |
+
*
|
18 |
+
* @property string $id Unique identifier for the object.
|
19 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
20 |
+
* @property bool $active Whether the product is currently available for purchase.
|
21 |
+
* @property null|string[] $attributes A list of up to 5 attributes that each SKU can provide values for (e.g., <code>["color", "size"]</code>).
|
22 |
+
* @property null|string $caption A short one-line description of the product, meant to be displayable to the customer. Only applicable to products of <code>type=good</code>.
|
23 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
24 |
+
* @property string[] $deactivate_on An array of connect application identifiers that cannot purchase this product. Only applicable to products of <code>type=good</code>.
|
25 |
+
* @property null|string $description The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.
|
26 |
+
* @property string[] $images A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
|
27 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
28 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
29 |
+
* @property string $name The product's name, meant to be displayable to the customer. Whenever this product is sold via a subscription, name will show up on associated invoice line item descriptions.
|
30 |
+
* @property null|\Stripe\StripeObject $package_dimensions The dimensions of this product for shipping purposes. A SKU associated with this product can override this value by having its own <code>package_dimensions</code>. Only applicable to products of <code>type=good</code>.
|
31 |
+
* @property null|bool $shippable Whether this product is a shipped good. Only applicable to products of <code>type=good</code>.
|
32 |
+
* @property null|string $statement_descriptor Extra information about a product which will appear on your customer's credit card statement. In the case that multiple products are billed at once, the first statement descriptor will be used.
|
33 |
+
* @property string $type The type of the product. The product is either of type <code>good</code>, which is eligible for use with Orders and SKUs, or <code>service</code>, which is eligible for use with Subscriptions and Plans.
|
34 |
+
* @property null|string $unit_label A label that represents units of this product in Stripe and on customers’ receipts and invoices. When set, this will be included in associated invoice line item descriptions.
|
35 |
+
* @property int $updated Time at which the object was last updated. Measured in seconds since the Unix epoch.
|
36 |
+
* @property null|string $url A URL of a publicly-accessible webpage for this product. Only applicable to products of <code>type=good</code>.
|
37 |
*/
|
38 |
class Product extends ApiResource
|
39 |
{
|
40 |
+
const OBJECT_NAME = 'product';
|
41 |
|
42 |
use ApiOperations\All;
|
43 |
use ApiOperations\Create;
|
45 |
use ApiOperations\Retrieve;
|
46 |
use ApiOperations\Update;
|
47 |
|
48 |
+
const TYPE_GOOD = 'good';
|
|
|
|
|
|
|
|
|
49 |
const TYPE_SERVICE = 'service';
|
50 |
}
|
lib/stripe-gateway/lib/Radar/EarlyFraudWarning.php
CHANGED
@@ -3,34 +3,33 @@
|
|
3 |
namespace Stripe\Radar;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property string $charge
|
12 |
-
* @property int $created
|
13 |
-
* @property string $fraud_type
|
14 |
-
* @property bool $livemode
|
15 |
*
|
16 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
*/
|
18 |
class EarlyFraudWarning extends \Stripe\ApiResource
|
19 |
{
|
20 |
-
const OBJECT_NAME =
|
21 |
|
22 |
use \Stripe\ApiOperations\All;
|
23 |
use \Stripe\ApiOperations\Retrieve;
|
24 |
|
25 |
-
|
26 |
-
* Possible string representations of an early fraud warning's fraud type.
|
27 |
-
* @link https://stripe.com/docs/api/early_fraud_warnings/object#early_fraud_warning_object-fraud_type
|
28 |
-
*/
|
29 |
-
const FRAUD_TYPE_CARD_NEVER_RECEIVED = 'card_never_received';
|
30 |
const FRAUD_TYPE_FRAUDULENT_CARD_APPLICATION = 'fraudulent_card_application';
|
31 |
-
const FRAUD_TYPE_MADE_WITH_COUNTERFEIT_CARD
|
32 |
-
const FRAUD_TYPE_MADE_WITH_LOST_CARD
|
33 |
-
const FRAUD_TYPE_MADE_WITH_STOLEN_CARD
|
34 |
-
const FRAUD_TYPE_MISC
|
35 |
-
const FRAUD_TYPE_UNAUTHORIZED_USE_OF_CARD
|
36 |
}
|
3 |
namespace Stripe\Radar;
|
4 |
|
5 |
/**
|
6 |
+
* An early fraud warning indicates that the card issuer has notified us that a
|
7 |
+
* charge may be fraudulent.
|
8 |
*
|
9 |
+
* Related guide: <a
|
10 |
+
* href="https://stripe.com/docs/disputes/measuring#early-fraud-warnings">Early
|
11 |
+
* Fraud Warnings</a>.
|
|
|
|
|
|
|
|
|
12 |
*
|
13 |
+
* @property string $id Unique identifier for the object.
|
14 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
15 |
+
* @property bool $actionable An EFW is actionable if it has not received a dispute and has not been fully refunded. You may wish to proactively refund a charge that receives an EFW, in order to avoid receiving a dispute later.
|
16 |
+
* @property string|\Stripe\Charge $charge ID of the charge this early fraud warning is for, optionally expanded.
|
17 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
18 |
+
* @property string $fraud_type The type of fraud labelled by the issuer. One of <code>card_never_received</code>, <code>fraudulent_card_application</code>, <code>made_with_counterfeit_card</code>, <code>made_with_lost_card</code>, <code>made_with_stolen_card</code>, <code>misc</code>, <code>unauthorized_use_of_card</code>.
|
19 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
20 |
*/
|
21 |
class EarlyFraudWarning extends \Stripe\ApiResource
|
22 |
{
|
23 |
+
const OBJECT_NAME = 'radar.early_fraud_warning';
|
24 |
|
25 |
use \Stripe\ApiOperations\All;
|
26 |
use \Stripe\ApiOperations\Retrieve;
|
27 |
|
28 |
+
const FRAUD_TYPE_CARD_NEVER_RECEIVED = 'card_never_received';
|
|
|
|
|
|
|
|
|
29 |
const FRAUD_TYPE_FRAUDULENT_CARD_APPLICATION = 'fraudulent_card_application';
|
30 |
+
const FRAUD_TYPE_MADE_WITH_COUNTERFEIT_CARD = 'made_with_counterfeit_card';
|
31 |
+
const FRAUD_TYPE_MADE_WITH_LOST_CARD = 'made_with_lost_card';
|
32 |
+
const FRAUD_TYPE_MADE_WITH_STOLEN_CARD = 'made_with_stolen_card';
|
33 |
+
const FRAUD_TYPE_MISC = 'misc';
|
34 |
+
const FRAUD_TYPE_UNAUTHORIZED_USE_OF_CARD = 'unauthorized_use_of_card';
|
35 |
}
|
lib/stripe-gateway/lib/Radar/ValueList.php
CHANGED
@@ -3,26 +3,27 @@
|
|
3 |
namespace Stripe\Radar;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property int $created
|
12 |
-
* @property string $created_by
|
13 |
-
* @property string $item_type
|
14 |
-
* @property Collection $list_items
|
15 |
-
* @property bool $livemode
|
16 |
-
* @property StripeObject $metadata
|
17 |
-
* @property mixed $name
|
18 |
-
* @property int $updated
|
19 |
-
* @property string $updated_by
|
20 |
*
|
21 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
*/
|
23 |
class ValueList extends \Stripe\ApiResource
|
24 |
{
|
25 |
-
const OBJECT_NAME =
|
26 |
|
27 |
use \Stripe\ApiOperations\All;
|
28 |
use \Stripe\ApiOperations\Create;
|
3 |
namespace Stripe\Radar;
|
4 |
|
5 |
/**
|
6 |
+
* Value lists allow you to group values together which can then be referenced in
|
7 |
+
* rules.
|
8 |
*
|
9 |
+
* Related guide: <a
|
10 |
+
* href="https://stripe.com/docs/radar/lists#managing-list-items">Default Stripe
|
11 |
+
* Lists</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
*
|
13 |
+
* @property string $id Unique identifier for the object.
|
14 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
15 |
+
* @property string $alias The name of the value list for use in rules.
|
16 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
17 |
+
* @property string $created_by The name or email address of the user who created this value list.
|
18 |
+
* @property string $item_type The type of items in the value list. One of <code>card_fingerprint</code>, <code>card_bin</code>, <code>email</code>, <code>ip_address</code>, <code>country</code>, <code>string</code>, or <code>case_sensitive_string</code>.
|
19 |
+
* @property \Stripe\Collection $list_items List of items contained within this value list.
|
20 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
21 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
22 |
+
* @property string $name The name of the value list.
|
23 |
*/
|
24 |
class ValueList extends \Stripe\ApiResource
|
25 |
{
|
26 |
+
const OBJECT_NAME = 'radar.value_list';
|
27 |
|
28 |
use \Stripe\ApiOperations\All;
|
29 |
use \Stripe\ApiOperations\Create;
|
lib/stripe-gateway/lib/Radar/ValueListItem.php
CHANGED
@@ -3,21 +3,24 @@
|
|
3 |
namespace Stripe\Radar;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property string $created_by
|
12 |
-
* @property string $list
|
13 |
-
* @property bool $livemode
|
14 |
-
* @property string $value
|
15 |
*
|
16 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
*/
|
18 |
class ValueListItem extends \Stripe\ApiResource
|
19 |
{
|
20 |
-
const OBJECT_NAME =
|
21 |
|
22 |
use \Stripe\ApiOperations\All;
|
23 |
use \Stripe\ApiOperations\Create;
|
3 |
namespace Stripe\Radar;
|
4 |
|
5 |
/**
|
6 |
+
* Value list items allow you to add specific values to a given Radar value list,
|
7 |
+
* which can then be used in rules.
|
8 |
*
|
9 |
+
* Related guide: <a
|
10 |
+
* href="https://stripe.com/docs/radar/lists#managing-list-items">Managing List
|
11 |
+
* Items</a>.
|
|
|
|
|
|
|
|
|
12 |
*
|
13 |
+
* @property string $id Unique identifier for the object.
|
14 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
15 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
16 |
+
* @property string $created_by The name or email address of the user who added this item to the value list.
|
17 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
18 |
+
* @property string $value The value of the item.
|
19 |
+
* @property string $value_list The identifier of the value list this item belongs to.
|
20 |
*/
|
21 |
class ValueListItem extends \Stripe\ApiResource
|
22 |
{
|
23 |
+
const OBJECT_NAME = 'radar.value_list_item';
|
24 |
|
25 |
use \Stripe\ApiOperations\All;
|
26 |
use \Stripe\ApiOperations\Create;
|
lib/stripe-gateway/lib/Recipient.php
CHANGED
@@ -3,45 +3,43 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
*
|
10 |
-
* @property string $id
|
11 |
-
* @property string $object
|
12 |
-
* @property
|
13 |
-
* @property Collection $cards
|
14 |
-
* @property int $created
|
15 |
-
* @property string $default_card
|
16 |
-
* @property string $description
|
17 |
-
* @property string $email
|
18 |
-
* @property bool $livemode
|
19 |
-
* @property StripeObject $metadata
|
20 |
-
* @property string $migrated_to
|
21 |
-
* @property string $name
|
22 |
-
* @property string $rolled_back_from
|
23 |
-
* @property string $type
|
|
|
24 |
*/
|
25 |
class Recipient extends ApiResource
|
26 |
{
|
27 |
-
const OBJECT_NAME =
|
28 |
|
29 |
use ApiOperations\All;
|
30 |
use ApiOperations\Create;
|
31 |
use ApiOperations\Delete;
|
32 |
use ApiOperations\Retrieve;
|
33 |
use ApiOperations\Update;
|
34 |
-
|
35 |
-
/**
|
36 |
-
* @param array|null $params
|
37 |
-
*
|
38 |
-
* @return Collection of the Recipient's Transfers
|
39 |
-
*/
|
40 |
-
public function transfers($params = null)
|
41 |
-
{
|
42 |
-
$params = $params ?: [];
|
43 |
-
$params['recipient'] = $this->id;
|
44 |
-
$transfers = Transfer::all($params, $this->_opts);
|
45 |
-
return $transfers;
|
46 |
-
}
|
47 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* With <code>Recipient</code> objects, you can transfer money from your Stripe
|
7 |
+
* account to a third-party bank account or debit card. The API allows you to
|
8 |
+
* create, delete, and update your recipients. You can retrieve individual
|
9 |
+
* recipients as well as a list of all your recipients.
|
10 |
*
|
11 |
+
* <strong><code>Recipient</code> objects have been deprecated in favor of <a
|
12 |
+
* href="https://stripe.com/docs/connect">Connect</a>, specifically Connect's much
|
13 |
+
* more powerful <a href="https://stripe.com/docs/api#account">Account objects</a>.
|
14 |
+
* Stripe accounts that don't already use recipients can no longer begin doing so.
|
15 |
+
* Please use <code>Account</code> objects instead. If you are already using
|
16 |
+
* recipients, please see our <a
|
17 |
+
* href="https://stripe.com/docs/connect/recipient-account-migrations">migration
|
18 |
+
* guide</a> for more information.</strong>
|
19 |
*
|
20 |
+
* @property string $id Unique identifier for the object.
|
21 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
22 |
+
* @property null|\Stripe\BankAccount $active_account Hash describing the current account on the recipient, if there is one.
|
23 |
+
* @property null|\Stripe\Collection $cards
|
24 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
25 |
+
* @property null|string|\Stripe\Card $default_card The default card to use for creating transfers to this recipient.
|
26 |
+
* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users.
|
27 |
+
* @property null|string $email
|
28 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
29 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
30 |
+
* @property null|string|\Stripe\Account $migrated_to The ID of the <a href="https://stripe.com/docs/connect/custom-accounts">Custom account</a> this recipient was migrated to. If set, the recipient can no longer be updated, nor can transfers be made to it: use the Custom account instead.
|
31 |
+
* @property null|string $name Full, legal name of the recipient.
|
32 |
+
* @property string|\Stripe\Account $rolled_back_from
|
33 |
+
* @property string $type Type of the recipient, one of <code>individual</code> or <code>corporation</code>.
|
34 |
+
* @property bool $verified Whether the recipient has been verified. This field is non-standard, and maybe removed in the future
|
35 |
*/
|
36 |
class Recipient extends ApiResource
|
37 |
{
|
38 |
+
const OBJECT_NAME = 'recipient';
|
39 |
|
40 |
use ApiOperations\All;
|
41 |
use ApiOperations\Create;
|
42 |
use ApiOperations\Delete;
|
43 |
use ApiOperations\Retrieve;
|
44 |
use ApiOperations\Update;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
}
|
lib/stripe-gateway/lib/RecipientTransfer.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
* Class RecipientTransfer
|
7 |
*
|
8 |
* @property string $id
|
9 |
* @property string $object
|
@@ -20,19 +20,17 @@ namespace Stripe;
|
|
20 |
* @property string $failure_code
|
21 |
* @property string $failure_message
|
22 |
* @property bool $livemode
|
23 |
-
* @property StripeObject $metadata
|
24 |
* @property string $method
|
25 |
* @property string $recipient
|
26 |
-
* @property
|
27 |
* @property bool $reversed
|
28 |
* @property string $source_type
|
29 |
* @property string $statement_descriptor
|
30 |
* @property string $status
|
31 |
* @property string $type
|
32 |
-
*
|
33 |
-
* @package Stripe
|
34 |
*/
|
35 |
class RecipientTransfer extends ApiResource
|
36 |
{
|
37 |
-
const OBJECT_NAME =
|
38 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Class RecipientTransfer.
|
7 |
*
|
8 |
* @property string $id
|
9 |
* @property string $object
|
20 |
* @property string $failure_code
|
21 |
* @property string $failure_message
|
22 |
* @property bool $livemode
|
23 |
+
* @property \Stripe\StripeObject $metadata
|
24 |
* @property string $method
|
25 |
* @property string $recipient
|
26 |
+
* @property \Stripe\Collection $reversals
|
27 |
* @property bool $reversed
|
28 |
* @property string $source_type
|
29 |
* @property string $statement_descriptor
|
30 |
* @property string $status
|
31 |
* @property string $type
|
|
|
|
|
32 |
*/
|
33 |
class RecipientTransfer extends ApiResource
|
34 |
{
|
35 |
+
const OBJECT_NAME = 'recipient_transfer';
|
36 |
}
|
lib/stripe-gateway/lib/Refund.php
CHANGED
@@ -3,58 +3,54 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
* @property string $object
|
10 |
-
* @property int $amount
|
11 |
-
* @property string $balance_transaction
|
12 |
-
* @property string $charge
|
13 |
-
* @property int $created
|
14 |
-
* @property string $currency
|
15 |
-
* @property string $description
|
16 |
-
* @property string $failure_balance_transaction
|
17 |
-
* @property string $failure_reason
|
18 |
-
* @property StripeObject $metadata
|
19 |
-
* @property string $reason
|
20 |
-
* @property string $receipt_number
|
21 |
-
* @property string $source_transfer_reversal
|
22 |
-
* @property string $status
|
23 |
-
* @property string $transfer_reversal
|
24 |
*
|
25 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
*/
|
27 |
class Refund extends ApiResource
|
28 |
{
|
29 |
-
const OBJECT_NAME =
|
30 |
|
31 |
use ApiOperations\All;
|
32 |
use ApiOperations\Create;
|
33 |
use ApiOperations\Retrieve;
|
34 |
use ApiOperations\Update;
|
35 |
|
36 |
-
|
37 |
-
* Possible string representations of the failure reason.
|
38 |
-
* @link https://stripe.com/docs/api/refunds/object#refund_object-failure_reason
|
39 |
-
*/
|
40 |
-
const FAILURE_REASON = 'expired_or_canceled_card';
|
41 |
const FAILURE_REASON_LOST_OR_STOLEN_CARD = 'lost_or_stolen_card';
|
42 |
-
const FAILURE_REASON_UNKNOWN
|
43 |
|
44 |
-
|
45 |
-
|
46 |
-
* @link https://stripe.com/docs/api/refunds/object#refund_object-reason
|
47 |
-
*/
|
48 |
-
const REASON_DUPLICATE = 'duplicate';
|
49 |
-
const REASON_FRAUDULENT = 'fraudulent';
|
50 |
const REASON_REQUESTED_BY_CUSTOMER = 'requested_by_customer';
|
51 |
|
|
|
|
|
|
|
|
|
|
|
52 |
/**
|
53 |
-
*
|
54 |
-
* @link https://stripe.com/docs/api/refunds/object#refund_object-status
|
55 |
*/
|
56 |
-
const
|
57 |
-
const STATUS_FAILED = 'failed';
|
58 |
-
const STATUS_PENDING = 'pending';
|
59 |
-
const STATUS_SUCCEEDED = 'succeeded';
|
60 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* <code>Refund</code> objects allow you to refund a charge that has previously
|
7 |
+
* been created but not yet refunded. Funds will be refunded to the credit or debit
|
8 |
+
* card that was originally charged.
|
9 |
*
|
10 |
+
* Related guide: <a href="https://stripe.com/docs/refunds">Refunds</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
*
|
12 |
+
* @property string $id Unique identifier for the object.
|
13 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
14 |
+
* @property int $amount Amount, in %s.
|
15 |
+
* @property null|string|\Stripe\BalanceTransaction $balance_transaction Balance transaction that describes the impact on your account balance.
|
16 |
+
* @property null|string|\Stripe\Charge $charge ID of the charge that was refunded.
|
17 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
18 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
19 |
+
* @property string $description An arbitrary string attached to the object. Often useful for displaying to users. (Available on non-card refunds only)
|
20 |
+
* @property string|\Stripe\BalanceTransaction $failure_balance_transaction If the refund failed, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction.
|
21 |
+
* @property string $failure_reason If the refund failed, the reason for refund failure if known. Possible values are <code>lost_or_stolen_card</code>, <code>expired_or_canceled_card</code>, or <code>unknown</code>.
|
22 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
23 |
+
* @property null|string|\Stripe\PaymentIntent $payment_intent ID of the PaymentIntent that was refunded.
|
24 |
+
* @property null|string $reason Reason for the refund, either user-provided (<code>duplicate</code>, <code>fraudulent</code>, or <code>requested_by_customer</code>) or generated by Stripe internally (<code>expired_uncaptured_charge</code>).
|
25 |
+
* @property null|string $receipt_number This is the transaction number that appears on email receipts sent for this refund.
|
26 |
+
* @property null|string|\Stripe\TransferReversal $source_transfer_reversal The transfer reversal that is associated with the refund. Only present if the charge came from another Stripe account. See the Connect documentation for details.
|
27 |
+
* @property null|string $status Status of the refund. For credit card refunds, this can be <code>pending</code>, <code>succeeded</code>, or <code>failed</code>. For other types of refunds, it can be <code>pending</code>, <code>succeeded</code>, <code>failed</code>, or <code>canceled</code>. Refer to our <a href="https://stripe.com/docs/refunds#failed-refunds">refunds</a> documentation for more details.
|
28 |
+
* @property null|string|\Stripe\TransferReversal $transfer_reversal If the accompanying transfer was reversed, the transfer reversal object. Only applicable if the charge was created using the destination parameter.
|
29 |
*/
|
30 |
class Refund extends ApiResource
|
31 |
{
|
32 |
+
const OBJECT_NAME = 'refund';
|
33 |
|
34 |
use ApiOperations\All;
|
35 |
use ApiOperations\Create;
|
36 |
use ApiOperations\Retrieve;
|
37 |
use ApiOperations\Update;
|
38 |
|
39 |
+
const FAILURE_REASON_EXPIRED_OR_CANCELED_CARD = 'expired_or_canceled_card';
|
|
|
|
|
|
|
|
|
40 |
const FAILURE_REASON_LOST_OR_STOLEN_CARD = 'lost_or_stolen_card';
|
41 |
+
const FAILURE_REASON_UNKNOWN = 'unknown';
|
42 |
|
43 |
+
const REASON_DUPLICATE = 'duplicate';
|
44 |
+
const REASON_FRAUDULENT = 'fraudulent';
|
|
|
|
|
|
|
|
|
45 |
const REASON_REQUESTED_BY_CUSTOMER = 'requested_by_customer';
|
46 |
|
47 |
+
const STATUS_CANCELED = 'canceled';
|
48 |
+
const STATUS_FAILED = 'failed';
|
49 |
+
const STATUS_PENDING = 'pending';
|
50 |
+
const STATUS_SUCCEEDED = 'succeeded';
|
51 |
+
|
52 |
/**
|
53 |
+
* @deprecated use FAILURE_REASON_EXPIRED_OR_CANCELED_CARD instead
|
|
|
54 |
*/
|
55 |
+
const FAILURE_REASON = 'expired_or_canceled_card';
|
|
|
|
|
|
|
56 |
}
|
lib/stripe-gateway/lib/Reporting/ReportRun.php
CHANGED
@@ -3,24 +3,31 @@
|
|
3 |
namespace Stripe\Reporting;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property string $error
|
12 |
-
* @property bool $livemode
|
13 |
-
* @property mixed $parameters
|
14 |
-
* @property string $report_type
|
15 |
-
* @property mixed $result
|
16 |
-
* @property string $status
|
17 |
-
* @property int $succeeded_at
|
18 |
*
|
19 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
*/
|
21 |
class ReportRun extends \Stripe\ApiResource
|
22 |
{
|
23 |
-
const OBJECT_NAME =
|
24 |
|
25 |
use \Stripe\ApiOperations\All;
|
26 |
use \Stripe\ApiOperations\Create;
|
3 |
namespace Stripe\Reporting;
|
4 |
|
5 |
/**
|
6 |
+
* The Report Run object represents an instance of a report type generated with
|
7 |
+
* specific run parameters. Once the object is created, Stripe begins processing
|
8 |
+
* the report. When the report has finished running, it will give you a reference
|
9 |
+
* to a file where you can retrieve your results. For an overview, see <a
|
10 |
+
* href="https://stripe.com/docs/reporting/statements/api">API Access to
|
11 |
+
* Reports</a>.
|
12 |
*
|
13 |
+
* Note that reports can only be run based on your live-mode data (not test-mode
|
14 |
+
* data), and thus related requests must be made with a <a
|
15 |
+
* href="https://stripe.com/docs/keys#test-live-modes">live-mode API key</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
*
|
17 |
+
* @property string $id Unique identifier for the object.
|
18 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
19 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
20 |
+
* @property null|string $error If something should go wrong during the run, a message about the failure (populated when <code>status=failed</code>).
|
21 |
+
* @property bool $livemode Always <code>true</code>: reports can only be run on live-mode data.
|
22 |
+
* @property \Stripe\StripeObject $parameters
|
23 |
+
* @property string $report_type The ID of the <a href="https://stripe.com/docs/reporting/statements/api#report-types">report type</a> to run, such as <code>"balance.summary.1"</code>.
|
24 |
+
* @property null|\Stripe\File $result The file object representing the result of the report run (populated when <code>status=succeeded</code>).
|
25 |
+
* @property string $status Status of this report run. This will be <code>pending</code> when the run is initially created. When the run finishes, this will be set to <code>succeeded</code> and the <code>result</code> field will be populated. Rarely, we may encounter an error, at which point this will be set to <code>failed</code> and the <code>error</code> field will be populated.
|
26 |
+
* @property null|int $succeeded_at Timestamp at which this run successfully finished (populated when <code>status=succeeded</code>). Measured in seconds since the Unix epoch.
|
27 |
*/
|
28 |
class ReportRun extends \Stripe\ApiResource
|
29 |
{
|
30 |
+
const OBJECT_NAME = 'reporting.report_run';
|
31 |
|
32 |
use \Stripe\ApiOperations\All;
|
33 |
use \Stripe\ApiOperations\Create;
|
lib/stripe-gateway/lib/Reporting/ReportType.php
CHANGED
@@ -3,21 +3,29 @@
|
|
3 |
namespace Stripe\Reporting;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property int $data_available_start
|
12 |
-
* @property string $name
|
13 |
-
* @property int $updated
|
14 |
-
* @property string $version
|
15 |
*
|
16 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
*/
|
18 |
class ReportType extends \Stripe\ApiResource
|
19 |
{
|
20 |
-
const OBJECT_NAME =
|
21 |
|
22 |
use \Stripe\ApiOperations\All;
|
23 |
use \Stripe\ApiOperations\Retrieve;
|
3 |
namespace Stripe\Reporting;
|
4 |
|
5 |
/**
|
6 |
+
* The Report Type resource corresponds to a particular type of report, such as the
|
7 |
+
* "Activity summary" or "Itemized payouts" reports. These
|
8 |
+
* objects are identified by an ID belonging to a set of enumerated values. See <a
|
9 |
+
* href="https://stripe.com/docs/reporting/statements/api">API Access to Reports
|
10 |
+
* documentation</a> for those Report Type IDs, along with required and optional
|
11 |
+
* parameters.
|
12 |
*
|
13 |
+
* Note that reports can only be run based on your live-mode data (not test-mode
|
14 |
+
* data), and thus related requests must be made with a <a
|
15 |
+
* href="https://stripe.com/docs/keys#test-live-modes">live-mode API key</a>.
|
|
|
|
|
|
|
|
|
16 |
*
|
17 |
+
* @property string $id The <a href="https://stripe.com/docs/reporting/statements/api#available-report-types">ID of the Report Type</a>, such as <code>balance.summary.1</code>.
|
18 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
19 |
+
* @property int $data_available_end Most recent time for which this Report Type is available. Measured in seconds since the Unix epoch.
|
20 |
+
* @property int $data_available_start Earliest time for which this Report Type is available. Measured in seconds since the Unix epoch.
|
21 |
+
* @property null|string[] $default_columns List of column names that are included by default when this Report Type gets run. (If the Report Type doesn't support the <code>columns</code> parameter, this will be null.)
|
22 |
+
* @property string $name Human-readable name of the Report Type
|
23 |
+
* @property int $updated When this Report Type was latest updated. Measured in seconds since the Unix epoch.
|
24 |
+
* @property int $version Version of the Report Type. Different versions report with the same ID will have the same purpose, but may take different run parameters or have different result schemas.
|
25 |
*/
|
26 |
class ReportType extends \Stripe\ApiResource
|
27 |
{
|
28 |
+
const OBJECT_NAME = 'reporting.report_type';
|
29 |
|
30 |
use \Stripe\ApiOperations\All;
|
31 |
use \Stripe\ApiOperations\Retrieve;
|
lib/stripe-gateway/lib/RequestTelemetry.php
CHANGED
@@ -3,10 +3,9 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
* Class RequestTelemetry
|
7 |
*
|
8 |
* Tracks client request telemetry
|
9 |
-
* @package Stripe
|
10 |
*/
|
11 |
class RequestTelemetry
|
12 |
{
|
@@ -16,8 +15,8 @@ class RequestTelemetry
|
|
16 |
/**
|
17 |
* Initialize a new telemetry object.
|
18 |
*
|
19 |
-
* @param string $requestId
|
20 |
-
* @param int $requestDuration
|
21 |
*/
|
22 |
public function __construct($requestId, $requestDuration)
|
23 |
{
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Class RequestTelemetry.
|
7 |
*
|
8 |
* Tracks client request telemetry
|
|
|
9 |
*/
|
10 |
class RequestTelemetry
|
11 |
{
|
15 |
/**
|
16 |
* Initialize a new telemetry object.
|
17 |
*
|
18 |
+
* @param string $requestId the request's request ID
|
19 |
+
* @param int $requestDuration the request's duration in milliseconds
|
20 |
*/
|
21 |
public function __construct($requestId, $requestDuration)
|
22 |
{
|
lib/stripe-gateway/lib/Review.php
CHANGED
@@ -3,28 +3,30 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
* @property string $billing_zip
|
11 |
-
* @property string $charge
|
12 |
-
* @property string $closed_reason
|
13 |
-
* @property int $created
|
14 |
-
* @property string $ip_address
|
15 |
-
* @property mixed $ip_address_location
|
16 |
-
* @property bool $livemode
|
17 |
-
* @property bool $open
|
18 |
-
* @property string $opened_reason
|
19 |
-
* @property string $payment_intent
|
20 |
-
* @property string $reason
|
21 |
-
* @property mixed $session
|
22 |
*
|
23 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
*/
|
25 |
class Review extends ApiResource
|
26 |
{
|
27 |
-
const OBJECT_NAME =
|
28 |
|
29 |
use ApiOperations\All;
|
30 |
use ApiOperations\Retrieve;
|
@@ -33,25 +35,30 @@ class Review extends ApiResource
|
|
33 |
* Possible string representations of the current, the opening or the closure reason of the review.
|
34 |
* Not all of these enumeration apply to all of the ´reason´ fields. Please consult the Review object to
|
35 |
* determine where these are apply.
|
36 |
-
*
|
|
|
37 |
*/
|
38 |
-
const REASON_APPROVED
|
39 |
-
const REASON_DISPUTED
|
40 |
-
const REASON_MANUAL
|
41 |
-
const REASON_REFUNDED
|
42 |
const REASON_REFUNDED_AS_FRAUD = 'refunded_as_fraud';
|
43 |
-
const REASON_RULE
|
44 |
|
45 |
/**
|
46 |
-
* @param array
|
|
|
|
|
|
|
47 |
*
|
48 |
-
* @return Review
|
49 |
*/
|
50 |
-
public function approve($params = null, $
|
51 |
{
|
52 |
$url = $this->instanceUrl() . '/approve';
|
53 |
-
list($response, $opts) = $this->_request('post', $url, $params, $
|
54 |
$this->refreshFrom($response, $opts);
|
|
|
55 |
return $this;
|
56 |
}
|
57 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Reviews can be used to supplement automated fraud detection with human
|
7 |
+
* expertise.
|
8 |
*
|
9 |
+
* Learn more about <a href="/radar">Radar</a> and reviewing payments <a
|
10 |
+
* href="https://stripe.com/docs/radar/reviews">here</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
*
|
12 |
+
* @property string $id Unique identifier for the object.
|
13 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
14 |
+
* @property null|string $billing_zip The ZIP or postal code of the card used, if applicable.
|
15 |
+
* @property null|string|\Stripe\Charge $charge The charge associated with this review.
|
16 |
+
* @property null|string $closed_reason The reason the review was closed, or null if it has not yet been closed. One of <code>approved</code>, <code>refunded</code>, <code>refunded_as_fraud</code>, or <code>disputed</code>.
|
17 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
18 |
+
* @property null|string $ip_address The IP address where the payment originated.
|
19 |
+
* @property null|\Stripe\StripeObject $ip_address_location Information related to the location of the payment. Note that this information is an approximation and attempts to locate the nearest population center - it should not be used to determine a specific address.
|
20 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
21 |
+
* @property bool $open If <code>true</code>, the review needs action.
|
22 |
+
* @property string $opened_reason The reason the review was opened. One of <code>rule</code> or <code>manual</code>.
|
23 |
+
* @property string|\Stripe\PaymentIntent $payment_intent The PaymentIntent ID associated with this review, if one exists.
|
24 |
+
* @property string $reason The reason the review is currently open or closed. One of <code>rule</code>, <code>manual</code>, <code>approved</code>, <code>refunded</code>, <code>refunded_as_fraud</code>, or <code>disputed</code>.
|
25 |
+
* @property null|\Stripe\StripeObject $session Information related to the browsing session of the user who initiated the payment.
|
26 |
*/
|
27 |
class Review extends ApiResource
|
28 |
{
|
29 |
+
const OBJECT_NAME = 'review';
|
30 |
|
31 |
use ApiOperations\All;
|
32 |
use ApiOperations\Retrieve;
|
35 |
* Possible string representations of the current, the opening or the closure reason of the review.
|
36 |
* Not all of these enumeration apply to all of the ´reason´ fields. Please consult the Review object to
|
37 |
* determine where these are apply.
|
38 |
+
*
|
39 |
+
* @see https://stripe.com/docs/api/radar/reviews/object
|
40 |
*/
|
41 |
+
const REASON_APPROVED = 'approved';
|
42 |
+
const REASON_DISPUTED = 'disputed';
|
43 |
+
const REASON_MANUAL = 'manual';
|
44 |
+
const REASON_REFUNDED = 'refunded';
|
45 |
const REASON_REFUNDED_AS_FRAUD = 'refunded_as_fraud';
|
46 |
+
const REASON_RULE = 'rule';
|
47 |
|
48 |
/**
|
49 |
+
* @param null|array $params
|
50 |
+
* @param null|array|string $opts
|
51 |
+
*
|
52 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
53 |
*
|
54 |
+
* @return Review the approved review
|
55 |
*/
|
56 |
+
public function approve($params = null, $opts = null)
|
57 |
{
|
58 |
$url = $this->instanceUrl() . '/approve';
|
59 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
60 |
$this->refreshFrom($response, $opts);
|
61 |
+
|
62 |
return $this;
|
63 |
}
|
64 |
}
|
lib/stripe-gateway/lib/SKU.php
CHANGED
@@ -3,28 +3,36 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
* @property string $object
|
10 |
-
* @property bool $active
|
11 |
-
* @property mixed $attributes
|
12 |
-
* @property int $created
|
13 |
-
* @property string $currency
|
14 |
-
* @property string $image
|
15 |
-
* @property mixed $inventory
|
16 |
-
* @property bool $livemode
|
17 |
-
* @property StripeObject $metadata
|
18 |
-
* @property mixed $package_dimensions
|
19 |
-
* @property int $price
|
20 |
-
* @property string $product
|
21 |
-
* @property int $updated
|
22 |
*
|
23 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
*/
|
25 |
class SKU extends ApiResource
|
26 |
{
|
27 |
-
const OBJECT_NAME =
|
28 |
|
29 |
use ApiOperations\All;
|
30 |
use ApiOperations\Create;
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Stores representations of <a
|
7 |
+
* href="http://en.wikipedia.org/wiki/Stock_keeping_unit">stock keeping units</a>.
|
8 |
+
* SKUs describe specific product variations, taking into account any combination
|
9 |
+
* of: attributes, currency, and cost. For example, a product may be a T-shirt,
|
10 |
+
* whereas a specific SKU represents the <code>size: large</code>, <code>color:
|
11 |
+
* red</code> version of that shirt.
|
12 |
*
|
13 |
+
* Can also be used to manage inventory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
*
|
15 |
+
* Related guide: <a href="https://stripe.com/docs/orders">Tax, Shipping, and
|
16 |
+
* Inventory</a>.
|
17 |
+
*
|
18 |
+
* @property string $id Unique identifier for the object.
|
19 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
20 |
+
* @property bool $active Whether the SKU is available for purchase.
|
21 |
+
* @property \Stripe\StripeObject $attributes A dictionary of attributes and values for the attributes defined by the product. If, for example, a product's attributes are <code>["size", "gender"]</code>, a valid SKU has the following dictionary of attributes: <code>{"size": "Medium", "gender": "Unisex"}</code>.
|
22 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
23 |
+
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
24 |
+
* @property null|string $image The URL of an image for this SKU, meant to be displayable to the customer.
|
25 |
+
* @property \Stripe\StripeObject $inventory
|
26 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
27 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
28 |
+
* @property null|\Stripe\StripeObject $package_dimensions The dimensions of this SKU for shipping purposes.
|
29 |
+
* @property int $price The cost of the item as a positive integer in the smallest currency unit (that is, 100 cents to charge $1.00, or 100 to charge ¥100, Japanese Yen being a zero-decimal currency).
|
30 |
+
* @property string|\Stripe\Product $product The ID of the product this SKU is associated with. The product must be currently active.
|
31 |
+
* @property int $updated Time at which the object was last updated. Measured in seconds since the Unix epoch.
|
32 |
*/
|
33 |
class SKU extends ApiResource
|
34 |
{
|
35 |
+
const OBJECT_NAME = 'sku';
|
36 |
|
37 |
use ApiOperations\All;
|
38 |
use ApiOperations\Create;
|
lib/stripe-gateway/lib/SetupIntent.php
CHANGED
@@ -3,72 +3,109 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
*
|
12 |
-
*
|
13 |
-
* @property string $customer
|
14 |
-
* @property string $description
|
15 |
-
* @property mixed $last_setup_error
|
16 |
-
* @property bool $livemode
|
17 |
-
* @property StripeObject $metadata
|
18 |
-
* @property mixed $next_action
|
19 |
-
* @property string $on_behalf_of
|
20 |
-
* @property string $payment_method
|
21 |
-
* @property string[] $payment_method_types
|
22 |
-
* @property string $status
|
23 |
*
|
24 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
*/
|
26 |
class SetupIntent extends ApiResource
|
27 |
{
|
28 |
-
const OBJECT_NAME =
|
29 |
|
30 |
use ApiOperations\All;
|
31 |
use ApiOperations\Create;
|
32 |
use ApiOperations\Retrieve;
|
33 |
use ApiOperations\Update;
|
34 |
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
*/
|
40 |
-
const STATUS_CANCELED = 'canceled';
|
41 |
-
const STATUS_PROCESSING = 'processing';
|
42 |
-
const STATUS_REQUIRES_ACTION = 'requires_action';
|
43 |
-
const STATUS_REQUIRES_CONFIRMATION = 'requires_confirmation';
|
44 |
const STATUS_REQUIRES_PAYMENT_METHOD = 'requires_payment_method';
|
45 |
-
const STATUS_SUCCEEDED
|
46 |
|
47 |
/**
|
48 |
-
* @param array
|
49 |
-
* @param array|string
|
|
|
|
|
50 |
*
|
51 |
-
* @return SetupIntent
|
52 |
*/
|
53 |
-
public function cancel($params = null, $
|
54 |
{
|
55 |
$url = $this->instanceUrl() . '/cancel';
|
56 |
-
list($response, $opts) = $this->_request('post', $url, $params, $
|
57 |
$this->refreshFrom($response, $opts);
|
|
|
58 |
return $this;
|
59 |
}
|
60 |
|
61 |
/**
|
62 |
-
* @param array
|
63 |
-
* @param array|string
|
64 |
*
|
65 |
-
* @
|
|
|
|
|
66 |
*/
|
67 |
-
public function confirm($params = null, $
|
68 |
{
|
69 |
$url = $this->instanceUrl() . '/confirm';
|
70 |
-
list($response, $opts) = $this->_request('post', $url, $params, $
|
71 |
$this->refreshFrom($response, $opts);
|
|
|
72 |
return $this;
|
73 |
}
|
74 |
}
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* A SetupIntent guides you through the process of setting up and saving a
|
7 |
+
* customer's payment credentials for future payments. For example, you could use a
|
8 |
+
* SetupIntent to set up and save your customer's card without immediately
|
9 |
+
* collecting a payment. Later, you can use <a
|
10 |
+
* href="https://stripe.com/docs/api#payment_intents">PaymentIntents</a> to drive
|
11 |
+
* the payment flow.
|
12 |
*
|
13 |
+
* Create a SetupIntent as soon as you're ready to collect your customer's payment
|
14 |
+
* credentials. Do not maintain long-lived, unconfirmed SetupIntents as they may no
|
15 |
+
* longer be valid. The SetupIntent then transitions through multiple <a
|
16 |
+
* href="https://stripe.com/docs/payments/intents#intent-statuses">statuses</a> as
|
17 |
+
* it guides you through the setup process.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
*
|
19 |
+
* Successful SetupIntents result in payment credentials that are optimized for
|
20 |
+
* future payments. For example, cardholders in <a
|
21 |
+
* href="/guides/strong-customer-authentication">certain regions</a> may need to be
|
22 |
+
* run through <a
|
23 |
+
* href="https://stripe.com/docs/strong-customer-authentication">Strong Customer
|
24 |
+
* Authentication</a> at the time of payment method collection in order to
|
25 |
+
* streamline later <a
|
26 |
+
* href="https://stripe.com/docs/payments/setup-intents">off-session payments</a>.
|
27 |
+
* If the SetupIntent is used with a <a
|
28 |
+
* href="https://stripe.com/docs/api#setup_intent_object-customer">Customer</a>,
|
29 |
+
* upon success, it will automatically attach the resulting payment method to that
|
30 |
+
* Customer. We recommend using SetupIntents or <a
|
31 |
+
* href="https://stripe.com/docs/api#payment_intent_object-setup_future_usage">setup_future_usage</a>
|
32 |
+
* on PaymentIntents to save payment methods in order to prevent saving invalid or
|
33 |
+
* unoptimized payment methods.
|
34 |
+
*
|
35 |
+
* By using SetupIntents, you ensure that your customers experience the minimum set
|
36 |
+
* of required friction, even as regulations change over time.
|
37 |
+
*
|
38 |
+
* Related guide: <a href="https://stripe.com/docs/payments/setup-intents">Setup
|
39 |
+
* Intents API</a>.
|
40 |
+
*
|
41 |
+
* @property string $id Unique identifier for the object.
|
42 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
43 |
+
* @property null|string|\Stripe\StripeObject $application ID of the Connect application that created the SetupIntent.
|
44 |
+
* @property null|string $cancellation_reason Reason for cancellation of this SetupIntent, one of <code>abandoned</code>, <code>requested_by_customer</code>, or <code>duplicate</code>.
|
45 |
+
* @property null|string $client_secret <p>The client secret of this SetupIntent. Used for client-side retrieval using a publishable key.</p><p>The client secret can be used to complete payment setup from your frontend. It should not be stored, logged, embedded in URLs, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.</p>
|
46 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
47 |
+
* @property null|string|\Stripe\Customer $customer <p>ID of the Customer this SetupIntent belongs to, if one exists.</p><p>If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.</p>
|
48 |
+
* @property null|string $description An arbitrary string attached to the object. Often useful for displaying to users.
|
49 |
+
* @property null|\Stripe\ErrorObject $last_setup_error The error encountered in the previous SetupIntent confirmation.
|
50 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
51 |
+
* @property null|string|\Stripe\Mandate $mandate ID of the multi use Mandate generated by the SetupIntent.
|
52 |
+
* @property \Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
53 |
+
* @property null|\Stripe\StripeObject $next_action If present, this property tells you what actions you need to take in order for your customer to continue payment setup.
|
54 |
+
* @property null|string|\Stripe\Account $on_behalf_of The account (if any) for which the setup is intended.
|
55 |
+
* @property null|string|\Stripe\PaymentMethod $payment_method ID of the payment method used with this SetupIntent.
|
56 |
+
* @property null|\Stripe\StripeObject $payment_method_options Payment-method-specific configuration for this SetupIntent.
|
57 |
+
* @property string[] $payment_method_types The list of payment method types (e.g. card) that this SetupIntent is allowed to set up.
|
58 |
+
* @property null|string|\Stripe\Mandate $single_use_mandate ID of the single_use Mandate generated by the SetupIntent.
|
59 |
+
* @property string $status <a href="https://stripe.com/docs/payments/intents#intent-statuses">Status</a> of this SetupIntent, one of <code>requires_payment_method</code>, <code>requires_confirmation</code>, <code>requires_action</code>, <code>processing</code>, <code>canceled</code>, or <code>succeeded</code>.
|
60 |
+
* @property string $usage <p>Indicates how the payment method is intended to be used in the future.</p><p>Use <code>on_session</code> if you intend to only reuse the payment method when the customer is in your checkout flow. Use <code>off_session</code> if your customer may or may not be in your checkout flow. If not provided, this value defaults to <code>off_session</code>.</p>
|
61 |
*/
|
62 |
class SetupIntent extends ApiResource
|
63 |
{
|
64 |
+
const OBJECT_NAME = 'setup_intent';
|
65 |
|
66 |
use ApiOperations\All;
|
67 |
use ApiOperations\Create;
|
68 |
use ApiOperations\Retrieve;
|
69 |
use ApiOperations\Update;
|
70 |
|
71 |
+
const STATUS_CANCELED = 'canceled';
|
72 |
+
const STATUS_PROCESSING = 'processing';
|
73 |
+
const STATUS_REQUIRES_ACTION = 'requires_action';
|
74 |
+
const STATUS_REQUIRES_CONFIRMATION = 'requires_confirmation';
|
|
|
|
|
|
|
|
|
|
|
75 |
const STATUS_REQUIRES_PAYMENT_METHOD = 'requires_payment_method';
|
76 |
+
const STATUS_SUCCEEDED = 'succeeded';
|
77 |
|
78 |
/**
|
79 |
+
* @param null|array $params
|
80 |
+
* @param null|array|string $opts
|
81 |
+
*
|
82 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
83 |
*
|
84 |
+
* @return SetupIntent the canceled setup intent
|
85 |
*/
|
86 |
+
public function cancel($params = null, $opts = null)
|
87 |
{
|
88 |
$url = $this->instanceUrl() . '/cancel';
|
89 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
90 |
$this->refreshFrom($response, $opts);
|
91 |
+
|
92 |
return $this;
|
93 |
}
|
94 |
|
95 |
/**
|
96 |
+
* @param null|array $params
|
97 |
+
* @param null|array|string $opts
|
98 |
*
|
99 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
100 |
+
*
|
101 |
+
* @return SetupIntent the confirmed setup intent
|
102 |
*/
|
103 |
+
public function confirm($params = null, $opts = null)
|
104 |
{
|
105 |
$url = $this->instanceUrl() . '/confirm';
|
106 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
107 |
$this->refreshFrom($response, $opts);
|
108 |
+
|
109 |
return $this;
|
110 |
}
|
111 |
}
|
lib/stripe-gateway/lib/Sigma/ScheduledQueryRun.php
CHANGED
@@ -3,31 +3,33 @@
|
|
3 |
namespace Stripe\Sigma;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
|
|
7 |
*
|
8 |
-
* @property string $id
|
9 |
-
* @property string $object
|
10 |
-
* @property int $created
|
11 |
-
* @property int $data_load_time
|
12 |
-
* @property
|
13 |
-
* @property
|
14 |
-
* @property bool $livemode
|
15 |
-
* @property int $result_available_until
|
16 |
-
* @property string $sql
|
17 |
-
* @property string $status
|
18 |
-
* @property string $title
|
19 |
-
*
|
20 |
-
* @package Stripe\Sigma
|
21 |
*/
|
22 |
class ScheduledQueryRun extends \Stripe\ApiResource
|
23 |
{
|
24 |
-
const OBJECT_NAME =
|
25 |
|
26 |
use \Stripe\ApiOperations\All;
|
27 |
use \Stripe\ApiOperations\Retrieve;
|
28 |
|
29 |
public static function classUrl()
|
30 |
{
|
31 |
-
return
|
32 |
}
|
33 |
}
|
3 |
namespace Stripe\Sigma;
|
4 |
|
5 |
/**
|
6 |
+
* If you have <a href="https://stripe.com/docs/sigma/scheduled-queries">scheduled
|
7 |
+
* a Sigma query</a>, you'll receive a
|
8 |
+
* <code>sigma.scheduled_query_run.created</code> webhook each time the query runs.
|
9 |
+
* The webhook contains a <code>ScheduledQueryRun</code> object, which you can use
|
10 |
+
* to retrieve the query results.
|
11 |
*
|
12 |
+
* @property string $id Unique identifier for the object.
|
13 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
14 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
15 |
+
* @property int $data_load_time When the query was run, Sigma contained a snapshot of your Stripe data at this time.
|
16 |
+
* @property \Stripe\StripeObject $error
|
17 |
+
* @property null|\Stripe\File $file The file object representing the results of the query.
|
18 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
19 |
+
* @property int $result_available_until Time at which the result expires and is no longer available for download.
|
20 |
+
* @property string $sql SQL for the query.
|
21 |
+
* @property string $status The query's execution status, which will be <code>completed</code> for successful runs, and <code>canceled</code>, <code>failed</code>, or <code>timed_out</code> otherwise.
|
22 |
+
* @property string $title Title of the query.
|
|
|
|
|
23 |
*/
|
24 |
class ScheduledQueryRun extends \Stripe\ApiResource
|
25 |
{
|
26 |
+
const OBJECT_NAME = 'scheduled_query_run';
|
27 |
|
28 |
use \Stripe\ApiOperations\All;
|
29 |
use \Stripe\ApiOperations\Retrieve;
|
30 |
|
31 |
public static function classUrl()
|
32 |
{
|
33 |
+
return '/v1/sigma/scheduled_query_runs';
|
34 |
}
|
35 |
}
|
lib/stripe-gateway/lib/SingletonApiResource.php
CHANGED
@@ -3,9 +3,7 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
* Class SingletonApiResource
|
7 |
-
*
|
8 |
-
* @package Stripe
|
9 |
*/
|
10 |
abstract class SingletonApiResource extends ApiResource
|
11 |
{
|
@@ -14,22 +12,24 @@ abstract class SingletonApiResource extends ApiResource
|
|
14 |
$opts = Util\RequestOptions::parse($options);
|
15 |
$instance = new static(null, $opts);
|
16 |
$instance->refresh();
|
|
|
17 |
return $instance;
|
18 |
}
|
19 |
|
20 |
/**
|
21 |
-
* @return string
|
22 |
*/
|
23 |
public static function classUrl()
|
24 |
{
|
25 |
// Replace dots with slashes for namespaced resources, e.g. if the object's name is
|
26 |
// "foo.bar", then its URL will be "/v1/foo/bar".
|
27 |
-
$base = str_replace('.', '/', static::OBJECT_NAME);
|
28 |
-
|
|
|
29 |
}
|
30 |
|
31 |
/**
|
32 |
-
* @return string
|
33 |
*/
|
34 |
public function instanceUrl()
|
35 |
{
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* Class SingletonApiResource.
|
|
|
|
|
7 |
*/
|
8 |
abstract class SingletonApiResource extends ApiResource
|
9 |
{
|
12 |
$opts = Util\RequestOptions::parse($options);
|
13 |
$instance = new static(null, $opts);
|
14 |
$instance->refresh();
|
15 |
+
|
16 |
return $instance;
|
17 |
}
|
18 |
|
19 |
/**
|
20 |
+
* @return string the endpoint associated with this singleton class
|
21 |
*/
|
22 |
public static function classUrl()
|
23 |
{
|
24 |
// Replace dots with slashes for namespaced resources, e.g. if the object's name is
|
25 |
// "foo.bar", then its URL will be "/v1/foo/bar".
|
26 |
+
$base = \str_replace('.', '/', static::OBJECT_NAME);
|
27 |
+
|
28 |
+
return "/v1/{$base}";
|
29 |
}
|
30 |
|
31 |
/**
|
32 |
+
* @return string the endpoint associated with this singleton API resource
|
33 |
*/
|
34 |
public function instanceUrl()
|
35 |
{
|
lib/stripe-gateway/lib/Source.php
CHANGED
@@ -3,151 +3,164 @@
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
-
*
|
|
|
|
|
|
|
7 |
*
|
8 |
-
*
|
9 |
-
*
|
10 |
-
*
|
11 |
-
* @property
|
12 |
-
* @property
|
13 |
-
* @property
|
14 |
-
* @property
|
15 |
-
* @property
|
16 |
-
* @property
|
17 |
-
* @property
|
18 |
-
* @property
|
19 |
-
* @property
|
20 |
-
* @property
|
21 |
-
* @property
|
22 |
-
* @property
|
23 |
-
* @property
|
24 |
-
* @property
|
25 |
-
* @property
|
26 |
-
* @property
|
27 |
-
* @property StripeObject $
|
28 |
-
* @property
|
29 |
-
* @property
|
30 |
-
* @property
|
31 |
-
* @property
|
32 |
-
* @property
|
33 |
-
* @property
|
34 |
-
* @property
|
35 |
-
* @property
|
36 |
-
* @property
|
37 |
-
* @property
|
38 |
-
* @property
|
39 |
-
* @property
|
40 |
-
* @property
|
41 |
-
|
42 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
*/
|
44 |
class Source extends ApiResource
|
45 |
{
|
46 |
-
const OBJECT_NAME =
|
47 |
|
48 |
use ApiOperations\Create;
|
49 |
use ApiOperations\Retrieve;
|
50 |
use ApiOperations\Update;
|
51 |
|
52 |
-
/**
|
53 |
-
* Possible string representations of source flows.
|
54 |
-
* @link https://stripe.com/docs/api#source_object-flow
|
55 |
-
*/
|
56 |
-
const FLOW_REDIRECT = 'redirect';
|
57 |
-
const FLOW_RECEIVER = 'receiver';
|
58 |
const FLOW_CODE_VERIFICATION = 'code_verification';
|
59 |
-
const FLOW_NONE
|
|
|
|
|
60 |
|
61 |
-
|
62 |
-
* Possible string representations of source statuses.
|
63 |
-
* @link https://stripe.com/docs/api#source_object-status
|
64 |
-
*/
|
65 |
-
const STATUS_CANCELED = 'canceled';
|
66 |
const STATUS_CHARGEABLE = 'chargeable';
|
67 |
-
const STATUS_CONSUMED
|
68 |
-
const STATUS_FAILED
|
69 |
-
const STATUS_PENDING
|
70 |
|
71 |
-
|
72 |
-
* Possible string representations of source usage.
|
73 |
-
* @link https://stripe.com/docs/api#source_object-usage
|
74 |
-
*/
|
75 |
-
const USAGE_REUSABLE = 'reusable';
|
76 |
const USAGE_SINGLE_USE = 'single_use';
|
77 |
|
|
|
|
|
78 |
/**
|
79 |
-
* @param array
|
80 |
-
* @param array|string
|
|
|
|
|
|
|
81 |
*
|
82 |
-
* @return Source
|
83 |
*/
|
84 |
-
public function detach($params = null, $
|
85 |
{
|
86 |
self::_validateParams($params);
|
87 |
|
88 |
$id = $this['id'];
|
89 |
if (!$id) {
|
90 |
-
$class = get_class($this);
|
91 |
-
$msg = "Could not determine which URL to request: $class instance "
|
92 |
-
. "has invalid ID: $id";
|
93 |
-
|
|
|
94 |
}
|
95 |
|
96 |
if ($this['customer']) {
|
97 |
$base = Customer::classUrl();
|
98 |
-
$parentExtn = urlencode(Util\Util::utf8($this['customer']));
|
99 |
-
$extn = urlencode(Util\Util::utf8($id));
|
100 |
-
$url = "$base
|
101 |
|
102 |
-
list($response, $opts) = $this->_request('delete', $url, $params, $
|
103 |
$this->refreshFrom($response, $opts);
|
|
|
104 |
return $this;
|
105 |
-
} else {
|
106 |
-
$message = "This source object does not appear to be currently attached "
|
107 |
-
. "to a customer object.";
|
108 |
-
throw new Error\Api($message);
|
109 |
}
|
|
3 |
namespace Stripe;
|
4 |
|
5 |
/**
|
6 |
+
* <code>Source</code> objects allow you to accept a variety of payment methods.
|
7 |
+
* They represent a customer's payment instrument, and can be used with the Stripe
|
8 |
+
* API just like a <code>Card</code> object: once chargeable, they can be charged,
|
9 |
+
* or can be attached to customers.
|
10 |
*
|
11 |
+
* Related guides: <a href="https://stripe.com/docs/sources">Sources API</a> and <a
|
12 |
+
* href="https://stripe.com/docs/sources/customers">Sources & Customers</a>.
|
13 |
+
*
|
14 |
+
* @property string $id Unique identifier for the object.
|
15 |
+
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
16 |
+
* @property \Stripe\StripeObject $ach_credit_transfer
|
17 |
+
* @property \Stripe\StripeObject $ach_debit
|
18 |
+
* @property \Stripe\StripeObject $acss_debit
|
19 |
+
* @property \Stripe\StripeObject $alipay
|
20 |
+
* @property null|int $amount A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for <code>single_use</code> sources.
|
21 |
+
* @property \Stripe\StripeObject $au_becs_debit
|
22 |
+
* @property \Stripe\StripeObject $bancontact
|
23 |
+
* @property \Stripe\StripeObject $card
|
24 |
+
* @property \Stripe\StripeObject $card_present
|
25 |
+
* @property string $client_secret The client secret of the source. Used for client-side retrieval using a publishable key.
|
26 |
+
* @property \Stripe\StripeObject $code_verification
|
27 |
+
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
28 |
+
* @property null|string $currency Three-letter <a href="https://stripe.com/docs/currencies">ISO code for the currency</a> associated with the source. This is the currency for which the source will be chargeable once ready. Required for <code>single_use</code> sources.
|
29 |
+
* @property string $customer The ID of the customer to which this source is attached. This will not be present when the source has not been attached to a customer.
|
30 |
+
* @property \Stripe\StripeObject $eps
|
31 |
+
* @property string $flow The authentication <code>flow</code> of the source. <code>flow</code> is one of <code>redirect</code>, <code>receiver</code>, <code>code_verification</code>, <code>none</code>.
|
32 |
+
* @property \Stripe\StripeObject $giropay
|
33 |
+
* @property \Stripe\StripeObject $ideal
|
34 |
+
* @property \Stripe\StripeObject $klarna
|
35 |
+
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
36 |
+
* @property null|\Stripe\StripeObject $metadata Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
37 |
+
* @property \Stripe\StripeObject $multibanco
|
38 |
+
* @property null|\Stripe\StripeObject $owner Information about the owner of the payment instrument that may be used or required by particular source types.
|
39 |
+
* @property \Stripe\StripeObject $p24
|
40 |
+
* @property \Stripe\StripeObject $receiver
|
41 |
+
* @property \Stripe\StripeObject $redirect
|
42 |
+
* @property \Stripe\StripeObject $sepa_credit_transfer
|
43 |
+
* @property \Stripe\StripeObject $sepa_debit
|
44 |
+
* @property \Stripe\StripeObject $sofort
|
45 |
+
* @property \Stripe\StripeObject $source_order
|
46 |
+
* @property null|string $statement_descriptor Extra information about a source. This will appear on your customer's statement every time you charge the source.
|
47 |
+
* @property string $status The status of the source, one of <code>canceled</code>, <code>chargeable</code>, <code>consumed</code>, <code>failed</code>, or <code>pending</code>. Only <code>chargeable</code> sources can be used to create a charge.
|
48 |
+
* @property \Stripe\StripeObject $three_d_secure
|
49 |
+
* @property string $type The <code>type</code> of the source. The <code>type</code> is a payment method, one of <code>ach_credit_transfer</code>, <code>ach_debit</code>, <code>alipay</code>, <code>bancontact</code>, <code>card</code>, <code>card_present</code>, <code>eps</code>, <code>giropay</code>, <code>ideal</code>, <code>multibanco</code>, <code>klarna</code>, <code>p24</code>, <code>sepa_debit</code>, <code>sofort</code>, <code>three_d_secure</code>, or <code>wechat</code>. An additional hash is included on the source with a name matching this value. It contains additional information specific to the <a href="https://stripe.com/docs/sources">payment method</a> used.
|
50 |
+
* @property null|string $usage Either <code>reusable</code> or <code>single_use</code>. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned.
|
51 |
+
* @property \Stripe\StripeObject $wechat
|
52 |
*/
|
53 |
class Source extends ApiResource
|
54 |
{
|
55 |
+
const OBJECT_NAME = 'source';
|
56 |
|
57 |
use ApiOperations\Create;
|
58 |
use ApiOperations\Retrieve;
|
59 |
use ApiOperations\Update;
|
60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
const FLOW_CODE_VERIFICATION = 'code_verification';
|
62 |
+
const FLOW_NONE = 'none';
|
63 |
+
const FLOW_RECEIVER = 'receiver';
|
64 |
+
const FLOW_REDIRECT = 'redirect';
|
65 |
|
66 |
+
const STATUS_CANCELED = 'canceled';
|
|
|
|
|
|
|
|
|
67 |
const STATUS_CHARGEABLE = 'chargeable';
|
68 |
+
const STATUS_CONSUMED = 'consumed';
|
69 |
+
const STATUS_FAILED = 'failed';
|
70 |
+
const STATUS_PENDING = 'pending';
|
71 |
|
72 |
+
const USAGE_REUSABLE = 'reusable';
|
|
|
|
|
|
|
|
|
73 |
const USAGE_SINGLE_USE = 'single_use';
|
74 |
|
75 |
+
use ApiOperations\NestedResource;
|
76 |
+
|
77 |
/**
|
78 |
+
* @param null|array $params
|
79 |
+
* @param null|array|string $opts
|
80 |
+
*
|
81 |
+
* @throws \Stripe\Exception\UnexpectedValueException if the source is not attached to a customer
|
82 |
+
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
83 |
*
|
84 |
+
* @return \Stripe\Source the detached source
|
85 |
*/
|
86 |
+
public function detach($params = null, $opts = null)
|
87 |
{
|
88 |
self::_validateParams($params);
|
89 |
|
90 |
$id = $this['id'];
|
91 |
if (!$id) {
|
92 |
+
$class = \get_class($this);
|
93 |
+
$msg = "Could not determine which URL to request: {$class} instance "
|
94 |
+
. "has invalid ID: {$id}";
|
95 |
+
|
96 |
+
throw new Exception\UnexpectedValueException($msg, null);
|
97 |
}
|
98 |
|
99 |
if ($this['customer']) {
|
100 |
$base = Customer::classUrl();
|
101 |
+
$parentExtn = \urlencode(Util\Util::utf8($this['customer']));
|
102 |
+
$extn = \urlencode(Util\Util::utf8($id));
|
103 |
+
$url = "{$base}/{$parentExtn}/sources/{$extn}";
|
104 |
|
105 |
+
list($response, $opts) = $this->_request('delete', $url, $params, $opts);
|
106 |
$this->refreshFrom($response, $opts);
|
107 |
+
|
108 |
return $this;
|
|
|
|
|
|
|
|
|
109 |
}
|
110 |
+
$message = 'This source object does not appear
|