https://wiki.mikrotik.com/index.php?title=User_Manager/User_payments&feed=atom&action=historyUser Manager/User payments - Revision history2024-03-28T15:38:17ZRevision history for this page on the wikiMediaWiki 1.38.2https://wiki.mikrotik.com/index.php?title=User_Manager/User_payments&diff=13126&oldid=prevSergejsB: /* PayPal */ Add Waleld Garden2009-07-21T13:26:41Z<p><span dir="auto"><span class="autocomment">PayPal: </span> Add Waleld Garden</span></p>
<p><b>New page</b></p><div>== Supported payment methods ==<br />
[http://authorize.net/ Authorize.Net] (since version 2.9.40 or 3.0beta5) and [https://www.paypal.com/ PayPal] (since version 2.9.41 or 3.0beta6) payments are supported.<br />
<br />
== Authorize.Net ==<br />
<br />
=== Authorize.Net requirements ===<br />
To allow Authorize.Net [[User Manager/Payments | payments]] for [[User Manager/Users | users]] the following requirements must be met:<br />
* User Manager v3.0 (or v2.9.x, >= 2.9.40) package installed on the router. See: [[User Manager/Getting started | Getting started]];<br />
* User Manager [[User Manager/Subscribers | subscriber]] created (See: [[User Manager/Getting started | Getting started]]);<br />
* Subscriber must have merchant account in [https://authorize.net Authorize.Net] gateway;<br />
* Web server on the router must be configured to support secure SSL connections (See [[#HTTPS connection enabling | HTTPS connection enabling]]);<br />
* HotSpot router should contain entries in 'walled-garden to User Manager router and Authorize.net webpage,<br />
/ ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept <br />
where x.x.x.x is address of User-Manager server,<br />
/ ip hotspot walled-garden add dst-host=:^secure\\.authorize\\.net dst-port=443 action=allow<br />
These entry is used to allow access to Authorize.net<br />
<br />
=== Authorize.Net setup ===<br />
==== Authorize.Net merchant account configuration ====<br />
===== Relay URL =====<br />
Relay URL list must either be empty or contain URL to the User Manager router. For example, if you are using userman.mt.lv as User Manager router, then Relay URL list must contain URL https://userman.mt.lv/ (works with and without trailing slash). Relay URL list can be configured in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > Response/Receipt URLs<br />
<br />
===== API Login ID =====<br />
API Login ID is shown in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > <br />
API Login ID and Transaction Key.<br />
<br />
===== Transaction Key =====<br />
Transaction Key can be obtained in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > Obtain Transaction Key.<br />
<br />
===== MD5-Hash value =====<br />
MD5-Hash value can be set in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > MD5-Hash.<br />
<br />
WARNING!: Standard MD5 hash values are 32 characters long, however, the Authorize.net MD5-Hash input fields only allow 20 characters. Best chance of success if you paste your md5sum into the Authorize.net input field, then copy it back out to paste into User Manager configuration. By re-copying from the Authorize.net input field, you are selecting only the 20 characters that the field length allows.<br />
<br />
===== Payment Form =====<br />
Payment Form configuration can be found in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > Payment Form. The look of this form is customizable here. While the only required fields for processing transaction are credit card number and expiration date, another fields are allowed to be shown in the form. Form customization is up to merchant.<br />
<br />
==== Authorize.Net subscriber configuration ====<br />
[[User Manager/Subscribers | Subscriber]] attribute values can be edited using [[User Manager/Customer page #Customer detail form | customer detail form]] in customer page.<br />
<br />
===== Subscriber Authorize.Net attributes =====<br />
Subscribers have a set of specific Authorize.Net attributes which must be configured properly to allow Authorize.Net payments:<br />
* Only [[User Manager/Subscribers | subscribers]] have Authorize.Net attributes, other [[User Manager/Customers | customers]] don't;<br />
* Attribute values can be changed only in [[User Manager/Customer page | customer web page]], not in console. There is only possibility to change values, not to see them. As these attributes contain sensitive data, their values are encrypted on the router;<br />
* [[User Manager/Customer page | Customer web page]] must be opened using secure SSL connection (https) to change attribute values;<br />
<br />
All the attributes can be found in Authorize.Net attribute group:<br />
<br />
[[Image: UserManCustAuthNet.png | Authorize.Net attribute group]]<br />
<br />
# "Allow Payments" must be checked to allow this payment method;<br />
# Login ID, Transaction Key and MD5 Value must have same values as set in [[#Merchant account configuration | Authorize.Net merchant gateway]].<br />
# Title is optional. It specifies the text shown to users as the name of this payment method. Default title is "Authorize.Net", but it can be changed to something more used to users, for example "Credit Card". The value of this field '''does not''' affect the payment process it is only user interface element.<br />
# Return URL (optional, added in version 3.24): address to which user is redirected when pressing "Return to User Manager" button after successful payment. Can be used to redirect user to HotSpot login page;<br />
# Use Test Gateway (optional): when checked, payment information is sent to test gateway of Authorize.Net and no real money is charged. This mode can be used to test Authorize.Net payments before User Manager deployment.<br />
<br />
===== Other subscriber requirements =====<br />
* [[User Manager/Subscribers | Subscriber]] must have at least one [[User Manager/Credits | credit]] with price other than zero. [[User Manager/Credits | Credit]] price will be used as transaction amount for the [[User Manager/Payments | payment]];<br />
* Correct currency must be specified for [[User Manager/Subscribers | subscriber]]. If USD is accepted by Authorize.Net merchant, currency attribute can be left unchanged for [[User Manager/Subscribers | subscriber]]:<br />
<br />
[[Image: UserManCustCurrency.png | Subscriber's currency]]<br />
<br />
* If [[User Manager/Users | users]] access [[User Manager/User page | User Manager page]] through a local IP address, public host attribute must be specified. It must contain a public address of User Manager router which is acceptable as Relay URL for Authorize.Net gateway (See: [[# Merchant account configuration | Authorize.Net Merchant account configuration]]). Domain name or IP address can be used. Only the address must be specified, not URL (for example, userman.mt.lv, not https://userman.mt.lv/ and not https://userman.mt.lv/userman):<br />
<br />
[[Image: UserManCustPublicHost.png | Subscriber's public host]]<br />
<br />
=== Authorize.Net usage ===<br />
* [[User Manager/Users | User]] can buy [[User Manager/Credits | credits]] in User Manager page. First he/she has to log on the page. See: [[User Manager/User page | User page]].<br />
<br />
* Secure connection must be used for web page, so [[User Manager/Users | user]] has to use https://router_IP/user instead of http://router_IP/user (https instead of http).<br />
<br />
* Payment section is available on main menu only if [[User Manager/Subscribers | subscriber]] has allowed any payment method.<br />
<br />
* To buy [[User Manager/Credits | credit]] [[User Manager/Users | user]] chooses "Buy credit" from "Payments" section:<br />
<br />
[[Image: UserManUserBuyCredit.png | Buy credit]]<br />
<br />
* If https connection is not used for web session, a message with error and link to https site will be opened:<br />
<br />
[[Image: UserManHttpsWarning.png | Warning about https]]<br />
<br />
* In this form [[User Manager/Users | user]] chooses [[User Manager/Credits | credit]] he/she wishes to buy;<br />
<br />
[[Image: UserManUserBuyCreditCredit.png | User chooses credit]]<br />
<br />
* Current balance is also shown:<br />
<br />
[[Image: UserManUserBuyCreditBalance.png | Current balance]]<br />
<br />
* [[User Manager/Users | User]] chooses Authorize.Net as payment method:<br />
<br />
[[Image: UserManUserBuyCreditMethodAuthnet.png | Payment method]]<br />
<br />
* When the [[User Manager/Credits | credit]] is chosen, "Buy" button must be pressed to start [[User Manager/Payments | payment]] transaction:<br />
<br />
[[Image: UserManUserBuyCreditButton.png | Buy button]]<br />
<br />
* [[User Manager/Users | User]] is redirected to Authorize.Net gateway payment form, which should look similar to following:<br />
<br />
[[Image: UserManAuthNetPaymentForm.png | Authorize.Net Payment form]]<br />
<br />
* The actual look of this form can be configured in [[#Merchant account configuration | Authorize.Net merchant gateway]]<br />
<br />
* [[User Manager/Users | User]] fills in credit card number and expiry date. Other fields are optional:<br />
<br />
[[Image: UserManAuthNetFormFilled.png | Authorize.Net Payment form filled]]<br />
<br />
* [[User Manager/Users | User]] submits the form::<br />
<br />
[[Image: UserManAuthNetFormSubmit.png | Authorize.Net Payment form submit]]<br />
<br />
* The data is transmitted directly to Authorize.Net gateway via secure connection. Neither credit card number nor expiry date is submitted to User Manager router.<br />
<br />
* Authorize.Net gateway processes the data and sends response to specified User Manager router. This response contains only data required to identify payment in User Manager and detect result status of transaction - was it successful or not. It does not contain any information about the user - credit card number, expiry date or other sensitive data.<br />
<br />
* User Manager processes the response and updates [[User Manager/Payments | payment]] record status;<br />
<br />
* If the transaction was successful requested [[User Manager/Credits | credit]] is added to [[User Manager/Users | user]]'s account;<br />
<br />
* A message describing [[User Manager/Payments | payment]] result is shown to user:<br />
<br />
[[Image: UserManPaymentSuccess.png | Payment successful]]<br />
<br />
* Click on the button redirects the [[User Manager/Users | user]] back to [[User Manager/User page | User Manager page]]:<br />
<br />
[[Image: UserManPaymentReturnButton.png | Payment finished, return button]]<br />
<br />
* [[User Manager/Users | User]] is returned to [[User Manager/Payments | payment]] section displaying [[User Manager/Tables | table]] with [[User Manager/Payments | payment]] history:<br />
<br />
[[Image: UserManUserPayments.png | Payment history table]]<br />
<br />
== PayPal ==<br />
<br />
=== PayPal requirements ===<br />
To allow PayPal [[User Manager/Payments | payments]] for [[User Manager/Users | users]] the following requirements must be met:<br />
* User Manager v3.0 (>= 3.0beta6) or v2.9.x (>= 2.9.41) package installed on the router. See: [[User Manager/Getting started | Getting started]];<br />
* User Manager [[User Manager/Subscribers | subscriber]] created (See: [[User Manager/Getting started | Getting started]]);<br />
* Subscriber must have merchant [https://www.paypal.com PayPal] account;<br />
* Web server on the router must be configured to support secure SSL connections (See [[#HTTPS connection enabling | HTTPS connection enabling]]);<br />
* HotSpot router should contain entries in 'walled-garden to User Manager router and Paypal webpage,<br />
/ ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept <br />
where x.x.x.x is address of User-Manager server;<br />
* '''version v2.9'''<br />
/ ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow <br />
/ ip hotspot walled-garden add dst-host=:^content\\.paypalobjects\\.com\$ dst-port=443 action=allow <br />
/ ip hotspot walled-garden add dst-host=*.akamaiedge.net action=allow<br />
/ ip hotspot walled-garden add dst-host=paypal.112.2O7.net action=allow<br />
* '''version v3'''<br />
/ ip hotspot walled-garden add dst-host=":^www\\.paypal\\.com\$" dst-port=443 action=allow <br />
/ ip hotspot walled-garden add dst-host=":^content\\.paypalobjects\\.com\$" dst-port=443 action=allow <br />
/ ip hotspot walled-garden add dst-host=*.akamaiedge.net action=allow<br />
/ ip hotspot walled-garden add dst-host=paypal.112.2O7.net<br />
These two entries are used to allow access to Paypal system.<br />
<br />
=== PayPal setup ===<br />
==== PayPal merchant account configuration ====<br />
Basically there is no specific PayPal account configuration that must be done. The only requirement is to have PayPal account which is allowed to receive money.<br />
<br />
'''Warning!''' User Manager accepts payment as successful only when it receives status "Completed" from PayPal gateway. If the status is "Pending" and some manual operations must be done by merchant (or the merchant has not verified the account) to accept payment, the credit will be transfered to User Manager [[User Manager/Users | user]] account only when the payment will be accepted.<br />
<br />
'''Note:''' Since version 2.9.45 and 3.0beta11 it is possible to also [[User_Manager/User_payments#Subscriber_PayPal_attributes | accept payments with "Pending"]] status, except for those with pending reason "unilateral".<br />
<br />
==== PayPal subscriber configuration ====<br />
[[User Manager/Subscribers | Subscriber]] attribute values can be edited using [[User Manager/Customer page #Customer detail form | customer detail form]] in customer page.<br />
<br />
===== Subscriber PayPal attributes =====<br />
The only PayPal attribute [[User Manager/Subscribers | subscribers]] have is business login. It is the login (usually an email address) merchants use to log on their account. Only [[User Manager/Subscribers | subscribers]] have this business login, other [[User Manager/Customers | customers]] don't;<br />
<br />
Since versions 2.9.45 and 3.0beta11 there are also options that refer to PayPal payment processing: "Secure Response" and "Accept Pending".<br />
<br />
Field "Return URL" added in version 3.11.<br />
<br />
All the attributes can be found in PayPal attribute group:<br />
<br />
[[Image: UserManCustPayPal.png | PayPal attribute group]]<br />
<br />
# "Allow Payments" must be checked to allow this payment method;<br />
# Login (email) must be the PayPal merchant account login.<br />
# Secure response. When checked, PayPal will send response via HTTPS. Otherwise response will be send via HTTP;<br />
# Accept pending. When checked, User Manager will also add [[User Manager/Credits | credit]] to [[User Manager/Users | user]] if the [[User Manager/Payments | payment]] status is "Pending", except for [[User Manager/Payments | payments]] with pending reason "unilateral".<br />
<br />
===== Other subscriber requirements =====<br />
* [[User Manager/Subscribers | Subscriber]] must have at least one [[User Manager/Credits | credit]] with price other than zero. [[User Manager/Credits | Credit]] price will be used as transaction amount for the [[User Manager/Payments | payment]];<br />
* Correct currency must be specified for [[User Manager/Subscribers | subscriber]]. If USD is accepted by PayPal merchant, currency attribute can be left unchanged for [[User Manager/Subscribers | subscriber]]:<br />
<br />
[[Image: UserManCustCurrency.png | Subscriber's currency]]<br />
<br />
* If [[User Manager/Users | users]] access [[User Manager/User page | User Manager page]] through a local IP address, public host attribute must be specified. It must contain a public address of User Manager router which is acceptable as response URL for PayPal gateway (PayPal will send payment result to this address). Domain name or IP address can be used. Only the address must be specified, not complete URL (for example, userman.mt.lv, not https://userman.mt.lv/ and not https://userman.mt.lv/userman):<br />
<br />
[[Image: UserManCustPublicHost.png | Subscriber's public host]]<br />
<br />
=== PayPal usage ===<br />
* [[User Manager/Users | User]] can buy [[User Manager/Credits | credits]] in User Manager page. First he/she has to log on the page. See: [[User Manager/User page | User page]].<br />
<br />
* Secure connection must be used for web page, so [[User Manager/Users | user]] has to use https://router_IP/user instead of http://router_IP/user (https instead of http).<br />
<br />
* Payment section is available on main menu only if [[User Manager/Subscribers | subscriber]] has allowed any payment method.<br />
<br />
* To buy [[User Manager/Credits | credit]] [[User Manager/Users | user]] chooses "Buy credit" from "Payments" section:<br />
<br />
[[Image: UserManUserBuyCredit.png | Buy credit]]<br />
<br />
* If https connection is not used for web session, a message with error and link to https site will be opened:<br />
<br />
[[Image: UserManHttpsWarning.png | Warning about https]]<br />
<br />
* In this form [[User Manager/Users | user]] chooses [[User Manager/Credits | credit]] he/she wishes to buy;<br />
<br />
[[Image: UserManUserBuyCreditCredit.png | User chooses credit]]<br />
<br />
* Current balance is also shown:<br />
<br />
[[Image: UserManUserBuyCreditBalance.png | Current balance]]<br />
<br />
* [[User Manager/Users | User]] chooses PayPal as payment method:<br />
<br />
[[Image: UserManUserBuyCreditMethodPayPal.png | Payment method]]<br />
<br />
* When the [[User Manager/Credits | credit]] is chosen, "Buy" button must be pressed to start [[User Manager/Payments | payment]] transaction:<br />
<br />
[[Image: UserManUserBuyCreditButtonPP.png | Buy button]]<br />
<br />
* [[User Manager/Users | User]] is redirected to PayPal gateway payment form, which should look similar to following (PayPal web site can change, these screen shots may differ from actual page):<br />
<br />
[[Image: UserManPayPalPaymentForm.png | PayPal Payment form]]<br />
<br />
* [[User Manager/Users | User]] logs on to the account. Payment is now displayed with the Pay button:<br />
<br />
[[Image: UserManPayPalFormLogged.png | PayPal Payment form, user logged in]]<br />
<br />
* When [[User Manager/Users | user]] presses Pay button, PayPal starts to process data. On successful payment result page is displayed:<br />
<br />
[[Image: UserManPayPalSuccess.png | PayPal success page]]<br />
<br />
* This page contains button "Return to merchant" pressing which returns user to User Manager [[User Manager/Payments | payment]] history page:<br />
<br />
[[Image: UserManUserPayments.png | Payment history table]]<br />
<br />
* User Manager receives data from PayPal indicating [[User Manager/Payments | Payment]] status.<br />
<br />
* On a successful [[User Manager/Payments | payment]] the appropriate [[User Manager/Payments | credit]] is added to user.<br />
<br />
=== PayPal chargeback ===<br />
When a [[User Manager/Payments | payment]] changes status from "Approved" to "Aborted" (For example, "Reversed") User Manager tries to remove credit bought for this money. This is however possible only if the two following requirements are met:<br />
* The credit is not started yet;<br />
* The credit is last for current user, i.e., no other credit is bought after this one.<br />
<br />
=== PayPal payment process description ===<br />
* The payment data is transmitted directly to PayPal gateway. All operation with money and accounts is processed by PayPal. User Manager knows nothing about it.<br />
<br />
* PayPal gateway processes the data and after that sends response to specified User Manager router. It may take time, usually not more than one minute. That means that [[User Manager/Payments | payment]] may have status "Started" for a few seconds, the status is updated only when PayPal sends response to User Manager; <br />
<br />
* If the option [[User_Manager/User_payments#Subscriber_PayPal_attributes | "Secure response"]] is enabled, secure connection (https) is established between PayPal and User Manager;<br />
<br />
* When experiencing problems with HTTPS response from PayPal, [[User_Manager/User_payments#Subscriber_PayPal_attributes | "Secure response"]] may be disabled. Then no certificate will be needed on User Manager router to receive PayPal response;<br />
<br />
* Again - PayPal response contains only data required to identify payment in User Manager and detect result status of transaction - was it successful or not. It does not contain any information about the user - credit card number, expiry date or other sensitive data;<br />
<br />
* User Manager sends request to PayPal to verify that this payment response comes from PayPal and not from a hacker. Because of this verification it is not necessary to receive response from PayPal via https - if a [http://en.wikipedia.org/wiki/Man_in_the_middle Man-In-The-Middle] catches data and sends wrong response to User Manager, the verification fails;<br />
<br />
* Response verification requires SSL certificate of root [http://en.wikipedia.org/wiki/Certification_authority certification authority] who has signed PayPal certificate. This root CA certificate is imported automatically and can bee seen in certificate section on the router (console or Winbox);<br />
<br />
* User Manager processes the response and updates [[User Manager/Payments | payment]] record status;<br />
<br />
* If the transaction was successful requested [[User Manager/Credits | credit]] is added to [[User Manager/Users | user]]'s account;<br />
<br />
The payment processing is shown in the following picture:<br />
<br />
[[Image: UserManPayPalPaymentProcess.png | PayPal payment process description]]<br />
<br />
== Related activities ==<br />
==== HTTPS connection enabling ====<br />
===== Creating certificate =====<br />
Trusted SSL Certificate can be bought from trusted authorities, for example, [http://www.verisign.com VeriSign]. An unsigned certificate can be generated by hand, using OpenSSL on a Linux box. To do it issue following commands in the shell:<br />
<pre><br />
openssl genrsa -des3 -out server.key 1024<br />
openssl req -new -key server.key -out server.csr<br />
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt<br />
</pre><br />
<br />
Two important things:<br />
# Enter the '''same pass phrase''' always when asked for "Enter pass phrase for server.key" (Should be 4 times);<br />
# Enter your '''server's domain name''', when asked for '''"Common Name (eg, YOUR name) []"'''. This is important, because otherwise some browsers may refuse your certificate. For example, if the User Manager server's address is http://userman.mt.lv/userman, then "userman.mt.lv" must be specified as Common Name for the certificate.<br />
<br />
After doing this three files will be created:<br />
# server.crt - Certificate, must be uploaded to router;<br />
# server.key - Private key, must be uploaded to router;<br />
# server.csr - Signature request, can/should be deleted;<br />
<br />
Upload server.crt and server.key to the router and import them, using the same pass phrase again when asked. '''server.crt must be imported before server.key.'''<br />
<br />
===== Importing certificate =====<br />
Certificate file can be then uploaded to the router and imported with command <br />
/certificate import file-name=...<br />
<br />
The command should return<br />
certificates-imported: 1<br />
private-keys-imported: 1<br />
files-imported: 1<br />
decryption-failures: 0<br />
keys-with-no-certificate: 0<br />
<br />
If it doesn't, could happen that the file contains private key and certificate sections in incorrect order. In this situation the output should be <br />
certificates-imported: 1<br />
private-keys-imported: 0<br />
files-imported: 1<br />
decryption-failures: 0<br />
keys-with-no-certificate: 1<br />
<br />
Just repeat the same command <br />
/certificate import file-name=...<br />
<br />
once again and the output should be this time<br />
certificates-imported: 0<br />
private-keys-imported: 1<br />
files-imported: 1<br />
decryption-failures: 0<br />
keys-with-no-certificate: 0<br />
<br />
Now certificate is imported correctly and ready for use;<br />
<br />
===== Enabling WWW SSL =====<br />
SSL connections for WWW server can be enabled with command<br />
/ip service set www-ssl disabled=no certificate=cert1<br />
where cert1 must be replaced by a correct certificate name (from /certificate section)<br />
<br />
<br />
=====Troubleshooting=====<br />
1. Authorize.net requires that time time on the server be within 15 minutes of UTC or you will get a failed transaction, use NTP client.<br />
<br />
2. Your user manager must be accessible from the internet on port 443, make sure you have DNS setup properly or use the IP address for all of your references. Don't forget to open your firewall for port 443 and use NAT to get to your user manager if behind a firewall.<br />
<br />
3. You must put the URL of your UserManager instance in your Authorize.net control panel. For example:<br />
Response Reason Code: 14 <br />
<br />
Response Reason Text: The Referrer or Relay Response URL is invalid. <br />
<br />
Notes: Applicable only to SIM and WebLink APIs. The Relay Response or Referrer URL does not match the merchant?s configured value(s) or is absent. <br />
<pre><br />
To add a valid Response/Receipt URL, please follow these steps:<br />
1: Login to your Merchant Interface at https://account.authorize.net. <br />
2: Click Settings in the main left side menu. <br />
3: Click Response/Receipt URLs. <br />
4: Click Add URL. <br />
5: Enter your Response URL. <br />
6: Click Submit.<br />
</pre><br />
<br />
4. When inputting the above URL, use only the base URL, not /userman or it won't work.</div>SergejsBhttps://wiki.mikrotik.com/index.php?title=User_Manager/User_payments&diff=7053&oldid=prevSergejsB: /* PayPal requirements */ Update for V3 and New entry for walled-garden.2008-03-13T07:49:17Z<p><span dir="auto"><span class="autocomment">PayPal requirements: </span> Update for V3 and New entry for walled-garden.</span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 07:49, 13 March 2008</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l138">Line 138:</td>
<td colspan="2" class="diff-lineno">Line 138:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept </div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server;</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server;</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* '''version <del style="font-weight: bold; text-decoration: none;">2</del>.9'''</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* '''version <ins style="font-weight: bold; text-decoration: none;">v2</ins>.9'''</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow </div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^content\\.paypalobjects\\.com\$ dst-port=443 action=allow </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^content\\.paypalobjects\\.com\$ dst-port=443 action=allow </div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> / ip hotspot walled-garden add dst-host=*.akamaiedge.net action=allow</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* '''version v3'''</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> / ip hotspot walled-garden add dst-host=":^www\\.paypal\\.com\$" dst-port=443 action=allow </ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> / ip hotspot walled-garden add dst-host=":^content\\.paypalobjects\\.com\$" dst-port=443 action=allow </ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> / ip hotspot walled-garden add dst-host=*.akamaiedge.net action=allow</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>These two entries are used to allow access to Paypal system.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>These two entries are used to allow access to Paypal system.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
</table>SergejsBhttps://wiki.mikrotik.com/index.php?title=User_Manager/User_payments&diff=7052&oldid=prevSergejsB: /* PayPal requirements */2008-03-13T07:46:51Z<p><span dir="auto"><span class="autocomment">PayPal requirements</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 07:46, 13 March 2008</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l138">Line 138:</td>
<td colspan="2" class="diff-lineno">Line 138:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept </div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server;</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server;</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''version 2.9'''</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* </ins>'''version 2.9'''</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow </div></td></tr>
</table>SergejsBhttps://wiki.mikrotik.com/index.php?title=User_Manager/User_payments&diff=7051&oldid=prevSergejsB: /* PayPal requirements */2008-03-13T07:46:35Z<p><span dir="auto"><span class="autocomment">PayPal requirements</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 07:46, 13 March 2008</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l138">Line 138:</td>
<td colspan="2" class="diff-lineno">Line 138:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept </div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server;</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server;</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"> </del>'''version 2.9'''</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''version 2.9'''</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow </div></td></tr>
</table>SergejsBhttps://wiki.mikrotik.com/index.php?title=User_Manager/User_payments&diff=7050&oldid=prevSergejsB: /* PayPal requirements */2008-03-13T07:46:01Z<p><span dir="auto"><span class="autocomment">PayPal requirements</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 07:46, 13 March 2008</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l139">Line 139:</td>
<td colspan="2" class="diff-lineno">Line 139:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server;</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server;</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '''version 2.9'''</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '''version 2.9'''</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow </div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^content\\.paypalobjects\\.com\$ dst-port=443 action=allow </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^content\\.paypalobjects\\.com\$ dst-port=443 action=allow </div></td></tr>
</table>SergejsBhttps://wiki.mikrotik.com/index.php?title=User_Manager/User_payments&diff=7049&oldid=prevSergejsB: /* PayPal requirements */2008-03-13T07:45:38Z<p><span dir="auto"><span class="autocomment">PayPal requirements</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 07:45, 13 March 2008</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l138">Line 138:</td>
<td colspan="2" class="diff-lineno">Line 138:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept </div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server;</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server;</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''version 2.9'''</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> </ins>'''version 2.9'''</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow </div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^content\\.paypalobjects\\.com\$ dst-port=443 action=allow </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^content\\.paypalobjects\\.com\$ dst-port=443 action=allow </div></td></tr>
</table>SergejsBhttps://wiki.mikrotik.com/index.php?title=User_Manager/User_payments&diff=7048&oldid=prevSergejsB: /* PayPal requirements */2008-03-13T07:45:16Z<p><span dir="auto"><span class="autocomment">PayPal requirements</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 07:45, 13 March 2008</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l137">Line 137:</td>
<td colspan="2" class="diff-lineno">Line 137:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* HotSpot router should contain entries in 'walled-garden to User Manager router and Paypal webpage,</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* HotSpot router should contain entries in 'walled-garden to User Manager router and Paypal webpage,</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept </div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server<del style="font-weight: bold; text-decoration: none;">,</del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server<ins style="font-weight: bold; text-decoration: none;">;</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''version 2.9'''</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''version 2.9'''</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow </div></td></tr>
</table>SergejsBhttps://wiki.mikrotik.com/index.php?title=User_Manager/User_payments&diff=7047&oldid=prevSergejsB: /* PayPal requirements */2008-03-13T07:44:28Z<p><span dir="auto"><span class="autocomment">PayPal requirements</span></span></p>
<p><b>New page</b></p><div>== Supported payment methods ==<br />
[http://authorize.net/ Authorize.Net] (since version 2.9.40 or 3.0beta5) and [https://www.paypal.com/ PayPal] (since version 2.9.41 or 3.0beta6) payments are supported.<br />
<br />
== Authorize.Net ==<br />
<br />
=== Authorize.Net requirements ===<br />
To allow Authorize.Net [[User Manager/Payments | payments]] for [[User Manager/Users | users]] the following requirements must be met:<br />
* User Manager v3.0 (or v2.9.x, >= 2.9.40) package installed on the router. See: [[User Manager/Getting started | Getting started]];<br />
* User Manager [[User Manager/Subscribers | subscriber]] created (See: [[User Manager/Getting started | Getting started]]);<br />
* Subscriber must have merchant account in [https://authorize.net Authorize.Net] gateway;<br />
* Web server on the router must be configured to support secure SSL connections (See [[#HTTPS connection enabling | HTTPS connection enabling]]);<br />
* HotSpot router should contain entries in 'walled-garden to User Manager router and Authorize.net webpage,<br />
/ ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept <br />
where x.x.x.x is address of User-Manager server,<br />
/ ip hotspot walled-garden add dst-host=:^secure\\.authorize\\.net dst-port=443 action=allow<br />
These entry is used to allow access to Authorize.net<br />
<br />
=== Authorize.Net setup ===<br />
==== Authorize.Net merchant account configuration ====<br />
===== Relay URL =====<br />
Relay URL list must either be empty or contain URL to the User Manager router. For example, if you are using userman.mt.lv as User Manager router, then Relay URL list must contain URL https://userman.mt.lv/ (works with and without trailing slash). Relay URL list can be configured in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > Response/Receipt URLs<br />
<br />
===== API Login ID =====<br />
API Login ID is shown in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > <br />
API Login ID and Transaction Key.<br />
<br />
===== Transaction Key =====<br />
Transaction Key can be obtained in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > Obtain Transaction Key.<br />
<br />
===== MD5-Hash value =====<br />
MD5-Hash value can be set in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > MD5-Hash.<br />
<br />
WARNING!: Standard MD5 hash values are 32 characters long, however, the Authorize.net MD5-Hash input fields only allow 20 characters. Best chance of success if you paste your md5sum into the Authorize.net input field, then copy it back out to paste into User Manager configuration. By re-copying from the Authorize.net input field, you are selecting only the 20 characters that the field length allows.<br />
<br />
===== Payment Form =====<br />
Payment Form configuration can be found in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > Payment Form. The look of this form is customizable here. While the only required fields for processing transaction are credit card number and expiration date, another fields are allowed to be shown in the form. Form customization is up to merchant.<br />
<br />
==== Authorize.Net subscriber configuration ====<br />
[[User Manager/Subscribers | Subscriber]] attribute values can be edited using [[User Manager/Customer page #Customer detail form | customer detail form]] in customer page.<br />
<br />
===== Subscriber Authorize.Net attributes =====<br />
Subscribers have a set of specific Authorize.Net attributes which must be configured properly to allow Authorize.Net payments:<br />
* Only [[User Manager/Subscribers | subscribers]] have Authorize.Net attributes, other [[User Manager/Customers | customers]] don't;<br />
* Attribute values can be changed only in [[User Manager/Customer page | customer web page]], not in console. There is only possibility to change values, not to see them. As these attributes contain sensitive data, their values are encrypted on the router;<br />
* [[User Manager/Customer page | Customer web page]] must be opened using secure SSL connection (https) to change attribute values;<br />
<br />
All the attributes can be found in Authorize.Net attribute group:<br />
[[Image: UserManCustAuthNet.png | Authorize.Net attribute group]]<br />
<br />
# "Allow Payments" must be checked to allow this payment method;<br />
# Login ID, Transaction Key and MD5 Value must have same values as set in [[#Merchant account configuration | Authorize.Net merchant gateway]].<br />
# Title is optional. It specifies the text shown to users as the name of this payment method. Default title is "Authorize.Net", but it can be changed to something more used to users, for example "Credit Card". The value of this field '''does not''' affect the payment process it is only user interface element.<br />
<br />
===== Other subscriber requirements =====<br />
* [[User Manager/Subscribers | Subscriber]] must have at least one [[User Manager/Credits | credit]] with price other than zero. [[User Manager/Credits | Credit]] price will be used as transaction amount for the [[User Manager/Payments | payment]];<br />
* Correct currency must be specified for [[User Manager/Subscribers | subscriber]]. If USD is accepted by Authorize.Net merchant, currency attribute can be left unchanged for [[User Manager/Subscribers | subscriber]]:<br />
<br />
[[Image: UserManCustCurrency.png | Subscriber's currency]]<br />
<br />
* If [[User Manager/Users | users]] access [[User Manager/User page | User Manager page]] through a local IP address, public host attribute must be specified. It must contain a public address of User Manager router which is acceptable as Relay URL for Authorize.Net gateway (See: [[# Merchant account configuration | Authorize.Net Merchant account configuration]]). Domain name or IP address can be used. Only the address must be specified, not URL (for example, userman.mt.lv, not https://userman.mt.lv/ and not https://userman.mt.lv/userman):<br />
<br />
[[Image: UserManCustPublicHost.png | Subscriber's public host]]<br />
<br />
=== Authorize.Net usage ===<br />
* [[User Manager/Users | User]] can buy [[User Manager/Credits | credits]] in User Manager page. First he/she has to log on the page. See: [[User Manager/User page | User page]].<br />
<br />
* Secure connection must be used for web page, so [[User Manager/Users | user]] has to use https://router_IP/user instead of http://router_IP/user (https instead of http).<br />
<br />
* Payment section is available on main menu only if [[User Manager/Subscribers | subscriber]] has allowed any payment method.<br />
<br />
* To buy [[User Manager/Credits | credit]] [[User Manager/Users | user]] chooses "Buy credit" from "Payments" section:<br />
<br />
[[Image: UserManUserBuyCredit.png | Buy credit]]<br />
<br />
* If https connection is not used for web session, a message with error and link to https site will be opened:<br />
<br />
[[Image: UserManHttpsWarning.png | Warning about https]]<br />
<br />
* In this form [[User Manager/Users | user]] chooses [[User Manager/Credits | credit]] he/she wishes to buy;<br />
<br />
[[Image: UserManUserBuyCreditCredit.png | User chooses credit]]<br />
<br />
* Current balance is also shown:<br />
<br />
[[Image: UserManUserBuyCreditBalance.png | Current balance]]<br />
<br />
* [[User Manager/Users | User]] chooses Authorize.Net as payment method:<br />
<br />
[[Image: UserManUserBuyCreditMethodAuthnet.png | Payment method]]<br />
<br />
* When the [[User Manager/Credits | credit]] is chosen, "Buy" button must be pressed to start [[User Manager/Payments | payment]] transaction:<br />
<br />
[[Image: UserManUserBuyCreditButton.png | Buy button]]<br />
<br />
* [[User Manager/Users | User]] is redirected to Authorize.Net gateway payment form, which should look similar to following:<br />
<br />
[[Image: UserManAuthNetPaymentForm.png | Authorize.Net Payment form]]<br />
<br />
* The actual look of this form can be configured in [[#Merchant account configuration | Authorize.Net merchant gateway]]<br />
<br />
* [[User Manager/Users | User]] fills in credit card number and expiry date. Other fields are optional:<br />
<br />
[[Image: UserManAuthNetFormFilled.png | Authorize.Net Payment form filled]]<br />
<br />
* [[User Manager/Users | User]] submits the form::<br />
<br />
[[Image: UserManAuthNetFormSubmit.png | Authorize.Net Payment form submit]]<br />
<br />
* The data is transmitted directly to Authorize.Net gateway via secure connection. Neither credit card number nor expiry date is submitted to User Manager router.<br />
<br />
* Authorize.Net gateway processes the data and sends response to specified User Manager router. This response contains only data required to identify payment in User Manager and detect result status of transaction - was it successful or not. It does not contain any information about the user - credit card number, expiry date or other sensitive data.<br />
<br />
* User Manager processes the response and updates [[User Manager/Payments | payment]] record status;<br />
<br />
* If the transaction was successful requested [[User Manager/Credits | credit]] is added to [[User Manager/Users | user]]'s account;<br />
<br />
* A message describing [[User Manager/Payments | payment]] result is shown to user:<br />
<br />
[[Image: UserManPaymentSuccess.png | Payment successful]]<br />
<br />
* Click on the button redirects the [[User Manager/Users | user]] back to [[User Manager/User page | User Manager page]]:<br />
<br />
[[Image: UserManPaymentReturnButton.png | Payment finished, return button]]<br />
<br />
* [[User Manager/Users | User]] is returned to [[User Manager/Payments | payment]] section displaying [[User Manager/Tables | table]] with [[User Manager/Payments | payment]] history:<br />
<br />
[[Image: UserManUserPayments.png | Payment history table]]<br />
<br />
== PayPal ==<br />
<br />
=== PayPal requirements ===<br />
To allow PayPal [[User Manager/Payments | payments]] for [[User Manager/Users | users]] the following requirements must be met:<br />
* User Manager v3.0 (>= 3.0beta6) or v2.9.x (>= 2.9.41) package installed on the router. See: [[User Manager/Getting started | Getting started]];<br />
* User Manager [[User Manager/Subscribers | subscriber]] created (See: [[User Manager/Getting started | Getting started]]);<br />
* Subscriber must have merchant [https://www.paypal.com PayPal] account;<br />
* Web server on the router must be configured to support secure SSL connections (See [[#HTTPS connection enabling | HTTPS connection enabling]]);<br />
* HotSpot router should contain entries in 'walled-garden to User Manager router and Paypal webpage,<br />
/ ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept <br />
where x.x.x.x is address of User-Manager server,<br />
'''version 2.9'''<br />
/ ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow <br />
/ ip hotspot walled-garden add dst-host=:^content\\.paypalobjects\\.com\$ dst-port=443 action=allow <br />
These two entries are used to allow access to Paypal system.<br />
<br />
=== PayPal setup ===<br />
==== PayPal merchant account configuration ====<br />
Basically there is no specific PayPal account configuration that must be done. The only requirement is to have PayPal account which is allowed to receive money.<br />
<br />
'''Warning!''' User Manager accepts payment as successful only when it receives status "Completed" from PayPal gateway. If the status is "Pending" and some manual operations must be done by merchant (or the merchant has not verified the account) to accept payment, the credit will be transfered to User Manager [[User Manager/Users | user]] account only when the payment will be accepted.<br />
<br />
'''Note:''' Since version 2.9.45 and 3.0beta11 it is possible to also [[User_Manager/User_payments#Subscriber_PayPal_attributes | accept payments with "Pending"]] status, except for those with pending reason "unilateral".<br />
<br />
==== PayPal subscriber configuration ====<br />
[[User Manager/Subscribers | Subscriber]] attribute values can be edited using [[User Manager/Customer page #Customer detail form | customer detail form]] in customer page.<br />
<br />
===== Subscriber PayPal attributes =====<br />
The only PayPal attribute [[User Manager/Subscribers | subscribers]] have is business login. It is the login (usually an email address) merchants use to log on their account. Only [[User Manager/Subscribers | subscribers]] have this business login, other [[User Manager/Customers | customers]] don't;<br />
<br />
Since versions 2.9.45 and 3.0beta11 there are also options that refer to PayPal payment processing: "Secure Response" and "Accept Pending".<br />
<br />
All the attributes can be found in PayPal attribute group:<br />
<br />
[[Image: UserManCustPayPal.png | PayPal attribute group]]<br />
<br />
# "Allow Payments" must be checked to allow this payment method;<br />
# Login (email) must be the PayPal merchant account login.<br />
# Secure response. When checked, PayPal will send response via HTTPS. Otherwise response will be send via HTTP;<br />
# Accept pending. When checked, User Manager will also add [[User Manager/Credits | credit]] to [[User Manager/Users | user]] if the [[User Manager/Payments | payment]] status is "Pending", except for [[User Manager/Payments | payments]] with pending reason "unilateral".<br />
<br />
===== Other subscriber requirements =====<br />
* [[User Manager/Subscribers | Subscriber]] must have at least one [[User Manager/Credits | credit]] with price other than zero. [[User Manager/Credits | Credit]] price will be used as transaction amount for the [[User Manager/Payments | payment]];<br />
* Correct currency must be specified for [[User Manager/Subscribers | subscriber]]. If USD is accepted by PayPal merchant, currency attribute can be left unchanged for [[User Manager/Subscribers | subscriber]]:<br />
<br />
[[Image: UserManCustCurrency.png | Subscriber's currency]]<br />
<br />
* If [[User Manager/Users | users]] access [[User Manager/User page | User Manager page]] through a local IP address, public host attribute must be specified. It must contain a public address of User Manager router which is acceptable as response URL for PayPal gateway (PayPal will send payment result to this address). Domain name or IP address can be used. Only the address must be specified, not complete URL (for example, userman.mt.lv, not https://userman.mt.lv/ and not https://userman.mt.lv/userman):<br />
<br />
[[Image: UserManCustPublicHost.png | Subscriber's public host]]<br />
<br />
=== PayPal usage ===<br />
* [[User Manager/Users | User]] can buy [[User Manager/Credits | credits]] in User Manager page. First he/she has to log on the page. See: [[User Manager/User page | User page]].<br />
<br />
* Secure connection must be used for web page, so [[User Manager/Users | user]] has to use https://router_IP/user instead of http://router_IP/user (https instead of http).<br />
<br />
* Payment section is available on main menu only if [[User Manager/Subscribers | subscriber]] has allowed any payment method.<br />
<br />
* To buy [[User Manager/Credits | credit]] [[User Manager/Users | user]] chooses "Buy credit" from "Payments" section:<br />
<br />
[[Image: UserManUserBuyCredit.png | Buy credit]]<br />
<br />
* If https connection is not used for web session, a message with error and link to https site will be opened:<br />
<br />
[[Image: UserManHttpsWarning.png | Warning about https]]<br />
<br />
* In this form [[User Manager/Users | user]] chooses [[User Manager/Credits | credit]] he/she wishes to buy;<br />
<br />
[[Image: UserManUserBuyCreditCredit.png | User chooses credit]]<br />
<br />
* Current balance is also shown:<br />
<br />
[[Image: UserManUserBuyCreditBalance.png | Current balance]]<br />
<br />
* [[User Manager/Users | User]] chooses PayPal as payment method:<br />
<br />
[[Image: UserManUserBuyCreditMethodPayPal.png | Payment method]]<br />
<br />
* When the [[User Manager/Credits | credit]] is chosen, "Buy" button must be pressed to start [[User Manager/Payments | payment]] transaction:<br />
<br />
[[Image: UserManUserBuyCreditButtonPP.png | Buy button]]<br />
<br />
* [[User Manager/Users | User]] is redirected to PayPal gateway payment form, which should look similar to following (PayPal web site can change, these screen shots may differ from actual page):<br />
<br />
[[Image: UserManPayPalPaymentForm.png | PayPal Payment form]]<br />
<br />
* [[User Manager/Users | User]] logs on to the account. Payment is now displayed with the Pay button:<br />
<br />
[[Image: UserManPayPalFormLogged.png | PayPal Payment form, user logged in]]<br />
<br />
* When [[User Manager/Users | user]] presses Pay button, PayPal starts to process data. On successful payment result page is displayed:<br />
<br />
[[Image: UserManPayPalSuccess.png | PayPal success page]]<br />
<br />
* This page contains button "Return to merchant" pressing which returns user to User Manager [[User Manager/Payments | payment]] history page:<br />
<br />
[[Image: UserManUserPayments.png | Payment history table]]<br />
<br />
* User Manager receives data from PayPal indicating [[User Manager/Payments | Payment]] status.<br />
<br />
* On a successful [[User Manager/Payments | payment]] the appropriate [[User Manager/Payments | credit]] is added to user.<br />
<br />
=== PayPal chargeback ===<br />
When a [[User Manager/Payments | payment]] changes status from "Approved" to "Aborted" (For example, "Reversed") User Manager tries to remove credit bought for this money. This is however possible only if the two following requirements are met:<br />
* The credit is not started yet;<br />
* The credit is last for current user, i.e., no other credit is bought after this one.<br />
<br />
=== PayPal payment process description ===<br />
* The payment data is transmitted directly to PayPal gateway. All operation with money and accounts is processed by PayPal. User Manager knows nothing about it.<br />
<br />
* PayPal gateway processes the data and after that sends response to specified User Manager router. It may take time, usually not more than one minute. That means that [[User Manager/Payments | payment]] may have status "Started" for a few seconds, the status is updated only when PayPal sends response to User Manager; <br />
<br />
* If the option [[User_Manager/User_payments#Subscriber_PayPal_attributes | "Secure response"]] is enabled, secure connection (https) is established between PayPal and User Manager;<br />
<br />
* When experiencing problems with HTTPS response from PayPal, [[User_Manager/User_payments#Subscriber_PayPal_attributes | "Secure response"]] may be disabled. Then no certificate will be needed on User Manager router to receive PayPal response;<br />
<br />
* Again - PayPal response contains only data required to identify payment in User Manager and detect result status of transaction - was it successful or not. It does not contain any information about the user - credit card number, expiry date or other sensitive data;<br />
<br />
* User Manager sends request to PayPal to verify that this payment response comes from PayPal and not from a hacker. Because of this verification it is not necessary to receive response from PayPal via https - if a [http://en.wikipedia.org/wiki/Man_in_the_middle Man-In-The-Middle] catches data and sends wrong response to User Manager, the verification fails;<br />
<br />
* Response verification requires SSL certificate of root [http://en.wikipedia.org/wiki/Certification_authority certification authority] who has signed PayPal certificate. This root CA certificate is imported automatically and can bee seen in certificate section on the router (console or Winbox);<br />
<br />
* User Manager processes the response and updates [[User Manager/Payments | payment]] record status;<br />
<br />
* If the transaction was successful requested [[User Manager/Credits | credit]] is added to [[User Manager/Users | user]]'s account;<br />
<br />
The payment processing is shown in the following picture:<br />
<br />
[[Image: UserManPayPalPaymentProcess.png | PayPal payment process description]]<br />
<br />
== Related activities ==<br />
==== HTTPS connection enabling ====<br />
===== Creating certificate =====<br />
Trusted SSL Certificate can be bought from trusted authorities, for example, [http://www.verisign.com VeriSign]. An unsigned certificate can be generated by hand, using OpenSSL on a Linux box. To do it issue following commands in the shell:<br />
<pre><br />
openssl genrsa -des3 -out server.key 1024<br />
openssl req -new -key server.key -out server.csr<br />
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt<br />
</pre><br />
<br />
Two important things:<br />
# Enter the '''same pass phrase''' always when asked for "Enter pass phrase for server.key" (Should be 4 times);<br />
# Enter your '''server's domain name''', when asked for '''"Common Name (eg, YOUR name) []"'''. This is important, because otherwise some browsers may refuse your certificate. For example, if the User Manager server's address is http://userman.mt.lv/userman, then "userman.mt.lv" must be specified as Common Name for the certificate.<br />
<br />
After doing this three files will be created:<br />
# server.crt - Certificate, must be uploaded to router;<br />
# server.key - Private key, must be uploaded to router;<br />
# server.csr - Signature request, can/should be deleted;<br />
<br />
Upload server.crt and server.key to the router and import them, using the same pass phrase again when asked. '''server.crt must be imported before server.key.'''<br />
<br />
===== Importing certificate =====<br />
Certificate file can be then uploaded to the router and imported with command <br />
/certificate import file-name=...<br />
<br />
The command should return<br />
certificates-imported: 1<br />
private-keys-imported: 1<br />
files-imported: 1<br />
decryption-failures: 0<br />
keys-with-no-certificate: 0<br />
<br />
If it doesn't, could happen that the file contains private key and certificate sections in incorrect order. In this situation the output should be <br />
certificates-imported: 1<br />
private-keys-imported: 0<br />
files-imported: 1<br />
decryption-failures: 0<br />
keys-with-no-certificate: 1<br />
<br />
Just repeat the same command <br />
/certificate import file-name=...<br />
<br />
once again and the output should be this time<br />
certificates-imported: 0<br />
private-keys-imported: 1<br />
files-imported: 1<br />
decryption-failures: 0<br />
keys-with-no-certificate: 0<br />
<br />
Now certificate is imported correctly and ready for use;<br />
<br />
===== Enabling WWW SSL =====<br />
SSL connections for WWW server can be enabled with command<br />
/ip service set www-ssl disabled=no certificate=cert1<br />
where cert1 must be replaced by a correct certificate name (from /certificate section)</div>SergejsBhttps://wiki.mikrotik.com/index.php?title=User_Manager/User_payments&diff=5243&oldid=prevNormis: Reverted edits by WruAqo (Talk); changed back to last version by Girts2007-08-13T08:22:32Z<p>Reverted edits by <a href="/wiki/Special:Contributions/WruAqo" title="Special:Contributions/WruAqo">WruAqo</a> (<a href="/index.php?title=User_talk:WruAqo&action=edit&redlink=1" class="new" title="User talk:WruAqo (page does not exist)">Talk</a>); changed back to last version by <a href="/index.php?title=User:Girts&action=edit&redlink=1" class="new" title="User:Girts (page does not exist)">Girts</a></p>
<p><b>New page</b></p><div>== Supported payment methods ==<br />
[http://authorize.net/ Authorize.Net] (since version 2.9.40 or 3.0beta5) and [https://www.paypal.com/ PayPal] (since version 2.9.41 or 3.0beta6) payments are supported.<br />
<br />
== Authorize.Net ==<br />
<br />
=== Authorize.Net requirements ===<br />
To allow Authorize.Net [[User Manager/Payments | payments]] for [[User Manager/Users | users]] the following requirements must be met:<br />
* User Manager v3.0 (or v2.9.x, >= 2.9.40) package installed on the router. See: [[User Manager/Getting started | Getting started]];<br />
* User Manager [[User Manager/Subscribers | subscriber]] created (See: [[User Manager/Getting started | Getting started]]);<br />
* Subscriber must have merchant account in [https://authorize.net Authorize.Net] gateway;<br />
* Web server on the router must be configured to support secure SSL connections (See [[#HTTPS connection enabling | HTTPS connection enabling]]);<br />
* HotSpot router should contain entries in 'walled-garden to User Manager router and Authorize.net webpage,<br />
/ ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept <br />
where x.x.x.x is address of User-Manager server,<br />
/ ip hotspot walled-garden add dst-host=:^secure\\.authorize\\.net dst-port=443 action=allow<br />
These entry is used to allow access to Authorize.net<br />
<br />
=== Authorize.Net setup ===<br />
==== Authorize.Net merchant account configuration ====<br />
===== Relay URL =====<br />
Relay URL list must either be empty or contain URL to the User Manager router. For example, if you are using userman.mt.lv as User Manager router, then Relay URL list must contain URL https://userman.mt.lv/ (works with and without trailing slash). Relay URL list can be configured in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > Response/Receipt URLs<br />
<br />
===== API Login ID =====<br />
API Login ID is shown in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > <br />
API Login ID and Transaction Key.<br />
<br />
===== Transaction Key =====<br />
Transaction Key can be obtained in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > Obtain Transaction Key.<br />
<br />
===== MD5-Hash value =====<br />
MD5-Hash value can be set in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > MD5-Hash.<br />
<br />
===== Payment Form =====<br />
Payment Form configuration can be found in [https://authorize.net Authorize.Net] merchant gateway under Account > Settings > Payment Form. The look of this form is customizable here. While the only required fields for processing transaction are credit card number and expiration date, another fields are allowed to be shown in the form. Form customization is up to merchant.<br />
<br />
==== Authorize.Net subscriber configuration ====<br />
[[User Manager/Subscribers | Subscriber]] attribute values can be edited using [[User Manager/Customer page #Customer detail form | customer detail form]] in customer page.<br />
<br />
===== Subscriber Authorize.Net attributes =====<br />
Subscribers have a set of specific Authorize.Net attributes which must be configured properly to allow Authorize.Net payments:<br />
* Only [[User Manager/Subscribers | subscribers]] have Authorize.Net attributes, other [[User Manager/Customers | customers]] don't;<br />
* Attribute values can be changed only in [[User Manager/Customer page | customer web page]], not in console. There is only possibility to change values, not to see them. As these attributes contain sensitive data, their values are encrypted on the router;<br />
* [[User Manager/Customer page | Customer web page]] must be opened using secure SSL connection (https) to change attribute values;<br />
<br />
All the attributes can be found in Authorize.Net attribute group:<br />
[[Image: UserManCustAuthNet.png | Authorize.Net attribute group]]<br />
<br />
# "Allow Payments" must be checked to allow this payment method;<br />
# Login ID, Transaction Key and MD5 Value must have same values as set in [[#Merchant account configuration | Authorize.Net merchant gateway]].<br />
<br />
===== Other subscriber requirements =====<br />
* [[User Manager/Subscribers | Subscriber]] must have at least one [[User Manager/Credits | credit]] with price other than zero. [[User Manager/Credits | Credit]] price will be used as transaction amount for the [[User Manager/Payments | payment]];<br />
* Correct currency must be specified for [[User Manager/Subscribers | subscriber]]. If USD is accepted by Authorize.Net merchant, currency attribute can be left unchanged for [[User Manager/Subscribers | subscriber]]:<br />
<br />
[[Image: UserManCustCurrency.png | Subscriber's currency]]<br />
<br />
* If [[User Manager/Users | users]] access [[User Manager/User page | User Manager page]] through a local IP address, public host attribute must be specified. It must contain a public address of User Manager router which is acceptable as Relay URL for Authorize.Net gateway (See: [[# Merchant account configuration | Authorize.Net Merchant account configuration]]). Domain name or IP address can be used. Only the address must be specified, not URL (for example, userman.mt.lv, not https://userman.mt.lv/ and not https://userman.mt.lv/userman):<br />
<br />
[[Image: UserManCustPublicHost.png | Subscriber's public host]]<br />
<br />
=== Authorize.Net usage ===<br />
* [[User Manager/Users | User]] can buy [[User Manager/Credits | credits]] in User Manager page. First he/she has to log on the page. See: [[User Manager/User page | User page]].<br />
<br />
* Secure connection must be used for web page, so [[User Manager/Users | user]] has to use https://router_IP/user instead of http://router_IP/user (https instead of http).<br />
<br />
* Payment section is available on main menu only if [[User Manager/Subscribers | subscriber]] has allowed any payment method.<br />
<br />
* To buy [[User Manager/Credits | credit]] [[User Manager/Users | user]] chooses "Buy credit" from "Payments" section:<br />
<br />
[[Image: UserManUserBuyCredit.png | Buy credit]]<br />
<br />
* If https connection is not used for web session, a message with error and link to https site will be opened:<br />
<br />
[[Image: UserManHttpsWarning.png | Warning about https]]<br />
<br />
* In this form [[User Manager/Users | user]] chooses [[User Manager/Credits | credit]] he/she wishes to buy;<br />
<br />
[[Image: UserManUserBuyCreditCredit.png | User chooses credit]]<br />
<br />
* Current balance is also shown:<br />
<br />
[[Image: UserManUserBuyCreditBalance.png | Current balance]]<br />
<br />
* [[User Manager/Users | User]] chooses Authorize.Net as payment method:<br />
<br />
[[Image: UserManUserBuyCreditMethodAuthnet.png | Payment method]]<br />
<br />
* When the [[User Manager/Credits | credit]] is chosen, "Buy" button must be pressed to start [[User Manager/Payments | payment]] transaction:<br />
<br />
[[Image: UserManUserBuyCreditButton.png | Buy button]]<br />
<br />
* [[User Manager/Users | User]] is redirected to Authorize.Net gateway payment form, which should look similar to following:<br />
<br />
[[Image: UserManAuthNetPaymentForm.png | Authorize.Net Payment form]]<br />
<br />
* The actual look of this form can be configured in [[#Merchant account configuration | Authorize.Net merchant gateway]]<br />
<br />
* [[User Manager/Users | User]] fills in credit card number and expiry date. Other fields are optional:<br />
<br />
[[Image: UserManAuthNetFormFilled.png | Authorize.Net Payment form filled]]<br />
<br />
* [[User Manager/Users | User]] submits the form::<br />
<br />
[[Image: UserManAuthNetFormSubmit.png | Authorize.Net Payment form submit]]<br />
<br />
* The data is transmitted directly to Authorize.Net gateway via secure connection. Neither credit card number nor expiry date is submitted to User Manager router.<br />
<br />
* Authorize.Net gateway processes the data and sends response to specified User Manager router. This response contains only data required to identify payment in User Manager and detect result status of transaction - was it successful or not. It does not contain any information about the user - credit card number, expiry date or other sensitive data.<br />
<br />
* User Manager processes the response and updates [[User Manager/Payments | payment]] record status;<br />
<br />
* If the transaction was successful requested [[User Manager/Credits | credit]] is added to [[User Manager/Users | user]]'s account;<br />
<br />
* A message describing [[User Manager/Payments | payment]] result is shown to user:<br />
<br />
[[Image: UserManPaymentSuccess.png | Payment successful]]<br />
<br />
* Click on the button redirects the [[User Manager/Users | user]] back to [[User Manager/User page | User Manager page]]:<br />
<br />
[[Image: UserManPaymentReturnButton.png | Payment finished, return button]]<br />
<br />
* [[User Manager/Users | User]] is returned to [[User Manager/Payments | payment]] section displaying [[User Manager/Tables | table]] with [[User Manager/Payments | payment]] history:<br />
<br />
[[Image: UserManUserPayments.png | Payment history table]]<br />
<br />
== PayPal ==<br />
<br />
=== PayPal requirements ===<br />
To allow PayPal [[User Manager/Payments | payments]] for [[User Manager/Users | users]] the following requirements must be met:<br />
* User Manager v3.0 (>= 3.0beta6) or v2.9.x (>= 2.9.41) package installed on the router. See: [[User Manager/Getting started | Getting started]];<br />
* User Manager [[User Manager/Subscribers | subscriber]] created (See: [[User Manager/Getting started | Getting started]]);<br />
* Subscriber must have merchant [https://www.paypal.com PayPal] account;<br />
* Web server on the router must be configured to support secure SSL connections (See [[#HTTPS connection enabling | HTTPS connection enabling]]);<br />
* HotSpot router should contain entries in 'walled-garden to User Manager router and Paypal webpage,<br />
/ ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept <br />
where x.x.x.x is address of User-Manager server,<br />
/ ip hotspot walled-garden add dst-host=:^www\\.paypal\\.com\$ dst-port=443 action=allow <br />
/ ip hotspot walled-garden add dst-host=:^content\\.paypalobjects\\.com\$ dst-port=443 action=allow <br />
These two entries are used to allow access to Paypal system.<br />
<br />
=== PayPal setup ===<br />
==== PayPal merchant account configuration ====<br />
Basically there is no specific PayPal account configuration that must be done. The only requirement is to have PayPal account which is allowed to receive money.<br />
<br />
'''Warning!''' User Manager accepts payment as successful only when it receives status "Completed" from PayPal gateway. If the status is "Pending" and some manual operations must be done by merchant (or the merchant has not verified the account) to accept payment, the credit will be transfered to User Manager [[User Manager/Users | user]] account only when the payment will be accepted.<br />
<br />
'''Note:''' Since version 2.9.45 and 3.0beta11 it is possible to also [[User_Manager/User_payments#Subscriber_PayPal_attributes | accept payments with "Pending"]] status, except for those with pending reason "unilateral".<br />
<br />
==== PayPal subscriber configuration ====<br />
[[User Manager/Subscribers | Subscriber]] attribute values can be edited using [[User Manager/Customer page #Customer detail form | customer detail form]] in customer page.<br />
<br />
===== Subscriber PayPal attributes =====<br />
The only PayPal attribute [[User Manager/Subscribers | subscribers]] have is business login. It is the login (usually an email address) merchants use to log on their account. Only [[User Manager/Subscribers | subscribers]] have this business login, other [[User Manager/Customers | customers]] don't;<br />
<br />
Since versions 2.9.45 and 3.0beta11 there are also options that refer to PayPal payment processing: "Secure Response" and "Accept Pending".<br />
<br />
All the attributes can be found in PayPal attribute group:<br />
<br />
[[Image: UserManCustPayPal.png | PayPal attribute group]]<br />
<br />
# "Allow Payments" must be checked to allow this payment method;<br />
# Login (email) must be the PayPal merchant account login.<br />
# Secure response. When checked, PayPal will send response via HTTPS. Otherwise response will be send via HTTP;<br />
# Accept pending. When checked, User Manager will also add [[User Manager/Credits | credit]] to [[User Manager/Users | user]] if the [[User Manager/Payments | payment]] status is "Pending", except for [[User Manager/Payments | payments]] with pending reason "unilateral".<br />
<br />
===== Other subscriber requirements =====<br />
* [[User Manager/Subscribers | Subscriber]] must have at least one [[User Manager/Credits | credit]] with price other than zero. [[User Manager/Credits | Credit]] price will be used as transaction amount for the [[User Manager/Payments | payment]];<br />
* Correct currency must be specified for [[User Manager/Subscribers | subscriber]]. If USD is accepted by PayPal merchant, currency attribute can be left unchanged for [[User Manager/Subscribers | subscriber]]:<br />
<br />
[[Image: UserManCustCurrency.png | Subscriber's currency]]<br />
<br />
* If [[User Manager/Users | users]] access [[User Manager/User page | User Manager page]] through a local IP address, public host attribute must be specified. It must contain a public address of User Manager router which is acceptable as response URL for PayPal gateway (PayPal will send payment result to this address). Domain name or IP address can be used. Only the address must be specified, not complete URL (for example, userman.mt.lv, not https://userman.mt.lv/ and not https://userman.mt.lv/userman):<br />
<br />
[[Image: UserManCustPublicHost.png | Subscriber's public host]]<br />
<br />
=== PayPal usage ===<br />
* [[User Manager/Users | User]] can buy [[User Manager/Credits | credits]] in User Manager page. First he/she has to log on the page. See: [[User Manager/User page | User page]].<br />
<br />
* Secure connection must be used for web page, so [[User Manager/Users | user]] has to use https://router_IP/user instead of http://router_IP/user (https instead of http).<br />
<br />
* Payment section is available on main menu only if [[User Manager/Subscribers | subscriber]] has allowed any payment method.<br />
<br />
* To buy [[User Manager/Credits | credit]] [[User Manager/Users | user]] chooses "Buy credit" from "Payments" section:<br />
<br />
[[Image: UserManUserBuyCredit.png | Buy credit]]<br />
<br />
* If https connection is not used for web session, a message with error and link to https site will be opened:<br />
<br />
[[Image: UserManHttpsWarning.png | Warning about https]]<br />
<br />
* In this form [[User Manager/Users | user]] chooses [[User Manager/Credits | credit]] he/she wishes to buy;<br />
<br />
[[Image: UserManUserBuyCreditCredit.png | User chooses credit]]<br />
<br />
* Current balance is also shown:<br />
<br />
[[Image: UserManUserBuyCreditBalance.png | Current balance]]<br />
<br />
* [[User Manager/Users | User]] chooses PayPal as payment method:<br />
<br />
[[Image: UserManUserBuyCreditMethodPayPal.png | Payment method]]<br />
<br />
* When the [[User Manager/Credits | credit]] is chosen, "Buy" button must be pressed to start [[User Manager/Payments | payment]] transaction:<br />
<br />
[[Image: UserManUserBuyCreditButtonPP.png | Buy button]]<br />
<br />
* [[User Manager/Users | User]] is redirected to PayPal gateway payment form, which should look similar to following (PayPal web site can change, these screen shots may differ from actual page):<br />
<br />
[[Image: UserManPayPalPaymentForm.png | PayPal Payment form]]<br />
<br />
* [[User Manager/Users | User]] logs on to the account. Payment is now displayed with the Pay button:<br />
<br />
[[Image: UserManPayPalFormLogged.png | PayPal Payment form, user logged in]]<br />
<br />
* When [[User Manager/Users | user]] presses Pay button, PayPal starts to process data. On successful payment result page is displayed:<br />
<br />
[[Image: UserManPayPalSuccess.png | PayPal success page]]<br />
<br />
* This page contains button "Return to merchant" pressing which returns user to User Manager [[User Manager/Payments | payment]] history page:<br />
<br />
[[Image: UserManUserPayments.png | Payment history table]]<br />
<br />
* User Manager receives data from PayPal indicating [[User Manager/Payments | Payment]] status.<br />
<br />
* On a successful [[User Manager/Payments | payment]] the appropriate [[User Manager/Payments | credit]] is added to user.<br />
<br />
=== PayPal chargeback ===<br />
When a [[User Manager/Payments | payment]] changes status from "Approved" to "Aborted" (For example, "Reversed") User Manager tries to remove credit bought for this money. This is however possible only if the two following requirements are met:<br />
* The credit is not started yet;<br />
* The credit is last for current user, i.e., no other credit is bought after this one.<br />
<br />
=== PayPal payment process description ===<br />
* The payment data is transmitted directly to PayPal gateway. All operation with money and accounts is processed by PayPal. User Manager knows nothing about it.<br />
<br />
* PayPal gateway processes the data and after that sends response to specified User Manager router. It may take time, usually not more than one minute. That means that [[User Manager/Payments | payment]] may have status "Started" for a few seconds, the status is updated only when PayPal sends response to User Manager; <br />
<br />
* If the option [[User_Manager/User_payments#Subscriber_PayPal_attributes | "Secure response"]] is enabled, secure connection (https) is established between PayPal and User Manager;<br />
<br />
* When experiencing problems with HTTPS response from PayPal, [[User_Manager/User_payments#Subscriber_PayPal_attributes | "Secure response"]] may be disabled. Then no certificate will be needed on User Manager router to receive PayPal response;<br />
<br />
* Again - PayPal response contains only data required to identify payment in User Manager and detect result status of transaction - was it successful or not. It does not contain any information about the user - credit card number, expiry date or other sensitive data;<br />
<br />
* User Manager sends request to PayPal to verify that this payment response comes from PayPal and not from a hacker. Because of this verification it is not necessary to receive response from PayPal via https - if a [http://en.wikipedia.org/wiki/Man_in_the_middle Man-In-The-Middle] catches data and sends wrong response to User Manager, the verification fails;<br />
<br />
* Response verification requires SSL certificate of root [http://en.wikipedia.org/wiki/Certification_authority certification authority] who has signed PayPal certificate. This root CA certificate is imported automatically and can bee seen in certificate section on the router (console or Winbox);<br />
<br />
* User Manager processes the response and updates [[User Manager/Payments | payment]] record status;<br />
<br />
* If the transaction was successful requested [[User Manager/Credits | credit]] is added to [[User Manager/Users | user]]'s account;<br />
<br />
The payment processing is shown in the following picture:<br />
<br />
[[Image: UserManPayPalPaymentProcess.png | PayPal payment process description]]<br />
<br />
== Related activities ==<br />
==== HTTPS connection enabling ====<br />
===== Creating certificate =====<br />
Trusted SSL Certificate can be bought from trusted authorities, for example, [http://www.verisign.com VeriSign]. An unsigned certificate can be generated by hand, for example, using command ''apache2-ssl-certificate'' on a Linux box;<br />
<br />
===== Importing certificate =====<br />
Certificate file can be then uploaded to the router and imported with command <br />
/certificate import file-name=...<br />
<br />
The command should return<br />
certificates-imported: 1<br />
private-keys-imported: 1<br />
files-imported: 1<br />
decryption-failures: 0<br />
keys-with-no-certificate: 0<br />
<br />
If it doesn't, could happen that the file contains private key and certificate sections in incorrect order. In this situation the output should be <br />
certificates-imported: 1<br />
private-keys-imported: 0<br />
files-imported: 1<br />
decryption-failures: 0<br />
keys-with-no-certificate: 1<br />
<br />
Just repeat the same command <br />
/certificate import file-name=...<br />
<br />
once again and the output should be this time<br />
certificates-imported: 0<br />
private-keys-imported: 1<br />
files-imported: 1<br />
decryption-failures: 0<br />
keys-with-no-certificate: 0<br />
<br />
Now certificate is imported correctly and ready for use;<br />
<br />
===== Enabling WWW SSL =====<br />
SSL connections for WWW server can be enabled with command<br />
/ip service set www-ssl disabled=no certificate=cert1<br />
where cert1 must be replaced by a correct certificate name (from /certificate section)</div>Normishttps://wiki.mikrotik.com/index.php?title=User_Manager/User_payments&diff=4382&oldid=prevSergejsB: /* PayPal requirements */2007-04-03T10:53:38Z<p><span dir="auto"><span class="autocomment">PayPal requirements</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 10:53, 3 April 2007</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l132">Line 132:</td>
<td colspan="2" class="diff-lineno">Line 132:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Subscriber must have merchant [https://www.paypal.com PayPal] account;</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Subscriber must have merchant [https://www.paypal.com PayPal] account;</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Web server on the router must be configured to support secure SSL connections (See [[#HTTPS connection enabling | HTTPS connection enabling]]);</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Web server on the router must be configured to support secure SSL connections (See [[#HTTPS connection enabling | HTTPS connection enabling]]);</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* HotSpot router should contain entries in 'walled-garden to User Manager router and <del style="font-weight: bold; text-decoration: none;">paypal </del>webpage,</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* HotSpot router should contain entries in 'walled-garden to User Manager router and <ins style="font-weight: bold; text-decoration: none;">Paypal </ins>webpage,</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> / ip hotspot walled-garden ip add dst-address=x.x.x.x action=accept </div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server,</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>where x.x.x.x is address of User-Manager server,</div></td></tr>
</table>SergejsB