рдкреЗрдкрд╛рд▓ рднреБрдЧрддрд╛рди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдХрд╛ рдПрдХреАрдХрд░рдг рд╕рдорд╛рдкреНрддред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдЫреЛрдЯреА рд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдереА - рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
рд░реЛрдмреЛрдХреИрд╕рд╛ рд╕реЗ рднреБрдЧрддрд╛рди рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рднреБрдЧрддрд╛рди рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╕рдорд╛рди рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдкреЗрдкрд╛рд▓ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдПрдХреАрдХрд░рдг рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ рдФрд░ рд╕рдмрд╕реЗ рдмрдбрд╝реА "рдЬрдЯрд┐рд▓рддрд╛" рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬреЛ рдореМрдЬреВрджрд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред
рд╣рдорд╛рд░рд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд░рд╛рд╢рд┐ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ, рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ, рднреБрдЧрддрд╛рди рдкреНрд░рдгрд╛рд▓реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ
- рднреБрдЧрддрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓реМрдЯрддрд╛ рд╣реИ
- рд╣рдо рдЖрдЧреЗ рднреБрдЧрддрд╛рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХрд░рддреЗ рд╣реИрдВред
рдирддреАрдЬрддрди, рдореЗрд░реЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рдЧрдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЫреЛрдЯреЗ рд╢реЙрд▓реНрд╕ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдЙрдирдХреЗ рдмрд┐рдирд╛)ред
рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП?
рдЪрд░рдг 1: рдкреЗрдкрд╛рд▓ рд╕реЗрдЯ рдХрд░реЗрдВ
рд╣рдо
developer.paypal.com рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ ред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд┐рдпрдорд┐рдд рдкреЗрдкрд╛рд▓ рдЦрд╛рддрд╛ рдЙрдкрдпреБрдХреНрдд рд╣реИред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВред
рдПрдХ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВред рдЖрдкрдХреЛ рдХреЛрдИ рдХрдард┐рдирд╛рдИ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕реЗ: "рдЖрд╡реЗрджрди рд╡рд╛рдкрд╕реА URLред" рдпрд╣ рд╡рд╣ рдкрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдкреЗрдкрд╛рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рднреБрдЧрддрд╛рди (рдпрд╛ рд░рджреНрдж рдХрд░рдиреЗ) рдХреЗ рдмрд╛рдж рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдбреА рдФрд░ рд╕реАрдХреНрд░реЗрдЯ рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдВред рдпреЗ рд╡реЗ рдХреБрдВрдЬреА рд╣реИрдВ рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреЗрдкрд▓ рдПрдкрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╣рдореЗрдВ рдЕрдзрд┐рдХреГрдд рдХрд░реЗрдЧрд╛ред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЦрд╛рддрд╛ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдкрд░реАрдХреНрд╖рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдЦрд╛рддреЗ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ (рдЗрд╕рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд╣рдо рдкрд░реАрдХреНрд╖рдг рднреБрдЧрддрд╛рди рдХрд░реЗрдВрдЧреЗ)ред рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рднреА рдкреИрджрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдЪрд░рдг 2: рдЯреЗрд╕реНрдЯ рдЖрд╡реЗрджрди
рдПрд╕рдбреАрдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
Install-Package RestApiSDK
рд╣рдо рдПрдХ рдкрд░реАрдХреНрд╖рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, QuickTests)ред рдФрд░
рд╣рдорд╛рд░реЗ рдЕрднреА рдмрдирд╛рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде Your_CLIENT_ID рдФрд░ Your_CLIENT_SECRET рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж , рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ
ред рдХреЛрдб, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ,
рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдЧрд╛рдЗрдб рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рд╕рд╛рде рд░рдЦрд╛ рдФрд░ рдЗрд╕реЗ рд╕реБрдЦрдж рд░реВрдк рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рд▓рд╛рдпрд╛ред
var sdkConfig = new Dictionary<string, string> { { "mode", "sandbox" } }; string accessToken = new OAuthTokenCredential("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET", sdkConfig) .GetAccessToken(); var redirectUrls = new RedirectUrls { cancel_url = "http://localhost:11180/PayPalResult?cancel=true", return_url = "http://localhost:11180/PayPalResult?success=true" }; var amnt = new Amount { currency = "USD", total = "1" }; var createdPayment = new Payment { intent = "sale", payer = new Payer { payment_method = "paypal" }, transactions = new List<Transaction> { new Transaction { description = "Sample payment", amount = amnt }}, redirect_urls = redirectUrls} .Create(new APIContext(accessToken) { Config = sdkConfig }); var approvalUrl = createdPayment.links.Single(l => l.rel == "approval_url").href; var paymentId = createdPayment.id; Console.WriteLine(approvalUrl); Console.WriteLine(paymentId);
рд╣рдо рдЕрдиреБрдореЛрджрди рдХреЗ рд▓рд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдкрд░реАрдХреНрд╖рдг рдЦрд╛рддреЗ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реИрдВ, рднреБрдЧрддрд╛рди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо
http: // localhost: 11180 / PayPalResult рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ
; рд╕рдлрд▓рддрд╛ = рд╕рд╣реА рдФрд░ рдЯреЛрдХрди = EC-DSKFJDSKFJEO42AM рдФрд░ PayerID = DFKJDFKLGJEOR (рдпрд╣ рдЖрдкрдХреЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ)
рд╣рдо рдЗрд╕ URL рд╕реЗ PayerID рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдореЗрдВ PaymentId (рд╣рдордиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рд╣реИ) рдХреЗ рд╕рд╛рде рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
string payerID = "YOUR_PAYER_ID"; string paymentId = "YOUR_PAYMENT_ID"; var sdkConfig = new Dictionary<string, string> { { "mode", "sandbox" } }; string accessToken = new OAuthTokenCredential("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET", sdkConfig) .GetAccessToken(); var pymntExecution = new PaymentExecution { payer_id = payerID }; var payment = new Payment { id = paymentId } .Execute(new APIContext(accessToken) { Config = sdkConfig }, pymntExecution);
рдпрд╣рд╛рдВ рдкреЗрдореЗрдВрдЯ.рд╕реНрдЯреИрдЯрд╕ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдм "рдЕрдиреБрдореЛрджрд┐рдд" рдорд╛рди рдорд┐рд▓рд╛ рд╣реИред рд╣реБрд░реНрд░реЗ, рдкрд░реАрдХреНрд╖рд╛ рдЙрддреНрддреАрд░реНрдг рд╣реИ!
рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд▓реЗ рд╣рдореЗрдВ
рд░рд┐рдлрдВрдб рдПрдХ рдмрд┐рдХреНрд░реА (рдПрдкреАрдЖрдИ рд╕рдВрджрд░реНрдн) рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИред
рдЪрд░рдг 3: рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░реЗрдВ
рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрд╡реЗрджрди рдореЗрдВ рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рдПрдХреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдореИрдВ рдЙрдирдХреЗ рдкрд╛рд╕ рдерд╛ред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рджреЛ рддрд░реАрдХреЛрдВ рдХреЗ рдмреАрдЪ рднреБрдЧрддрд╛рди рдЖрдИ рдХреЛ рдпрд╛рдж рдХрд░рдиреЗ рд╕реЗ рдЬреБрдбрд╝реА рдереАред рднреБрдЧрддрд╛рди рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдЕрдиреБрд░реЛрдз рдХрд┐рд╕ рднреБрдЧрддрд╛рди рдХреЗ рддрд╣рдд рдпрд╛рдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рднреБрдЧрддрд╛рди рд╣реИред рд╕рдм рдХреЗ рдмрд╛рдж, resultUrl рдореЗрдВ paypal, PayerID рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди PayerID рдХреЗ рд╕рд╛рде, рднреБрдЧрддрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЖрдк рдЗрд╕ рдорд╛рди рдХреЛ рдПрдХ рд╕рддреНрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдПрдХ рд▓реЗрдирджреЗрди рдХрд░рддрд╛ рд╣реИред
рдФрд░ рдЖрдк
рдореБрд╢реНрдХрд┐рд▓ рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред рдЖрдк рднреБрдЧрддрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдИрдбреА рдЬреЗрдирд░реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреЗрдкрд╛рд▓ рдХреЛ рдЗрд╕ рдЖрдИрдбреА рдХреЛ ResultUrl рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣:
var redirectUrls = new RedirectUrls { cancel_url = "http://localhost:11180/PayPalResult?cancel=true&InvoiceId={SOME_ID}", return_url = "http://localhost:11180/PayPalResult?success=true&InvoiceId={SOME_ID}" };
рдЗрд╕ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрдмрдВрдзрд┐рдд рднреБрдЧрддрд╛рди рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рднреБрдЧрддрд╛рди рдХреЛ рддреБрд░рдВрдд RedirectUrls рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рд╕реБрд░рдХреНрд╖рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдЧрд╛рд░реНрдб рдореЗрд░реЗ рд╕реЗ рдРрд╕рд╛ рд╣реИ, рд╢рд╛рдпрдж рдпреЗ рдореВрд▓реНрдп рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИрдВ рдФрд░ рдЙрдирд╕реЗ рдХреБрдЫ рднреА рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╡рд╣ рд╕рдм рд╣реИред рдЬрд┐рддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдЙрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рдФрд░ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЖрдПрдЧрд╛ред
рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдЦреБрд▓реЗ рдПрдХреАрдХрд░рдг рдкреНрд░рд╢реНрди рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЙрдирдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред
- рдХреИрд╕реЗ рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреЗрдкреИрд▓ ResultUrl рдХреЗ рд▓рд┐рдП рдЧреБрдЬрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдкреЗрдкрд╛рд▓ рд╣реИ, рди рдХрд┐ рд╣рдорд▓рд╛рд╡рд░ред рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХреИрд╕реЗред
- рднреБрдЧрддрд╛рди рдХрд░рддреЗ рд╕рдордп, рдкреЗрдкрд╛рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЗрд╡рд▓ рд╡рд╣реА рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рд╣рдордиреЗ рдЙрд╕реЗ рджрд┐рдпрд╛ рдерд╛ред рдпрд╛рдиреА рдпрджрд┐ рд╣рдордиреЗ рдЖрджреЗрд╢ рд░рд╛рд╢рд┐ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХреА рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕реЗ рдирд╣реАрдВ рджреЗрдЦреЗрдЧрд╛ред рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдЕрдЬреАрдм рд▓рдЧ рд░рд╣рд╛ рд╣реИред рд╢рд╛рдпрдж рдпреЗ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ?
рдЙрддреНрддрд░: рдпрджрд┐ рдЖрдк рдорд╛рд▓ рдХреА рд╕реВрдЪреА рдФрд░ рдЙрдирдХреА рдХреАрдордд рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреЗрдкрд╛рд▓ рдЖрджреЗрд╢ рд░рд╛рд╢рд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА ... - рд░рд┐рдлрдВрдб рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдпрд╣ рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рд▓рдЧрддрд╛ рд╣реИред рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдЕрдЧрд░ рдЖрдк рдзрдирд╡рд╛рдкрд╕реА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЗрдирджреЗрди рдХреЛ рд░рджреНрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рдЙрддреНрддрд░: "рдЖрдкрдХреЛ рдзрдирд╡рд╛рдкрд╕реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдпрд╣ рдзрдирд╡рд╛рдкрд╕реА рд╣реИ), рдЖрдкрдХреЛ рдпрд╣ рдХрд╣рддреЗ рд╕рдордп рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдорд╛рд▓ рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рднреБрдЧрддрд╛рди рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ ...", рдЕрдзрд┐рдХ ... рдзрдиреНрдпрд╡рд╛рдж tzlom , - рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рд▓реЗрди-рджреЗрди рдХреЛ рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ (рддреЛ рдЬреИрд╕реЗ рдкреЗрдкрд╛рд▓ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ) рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ ResultUrl рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рд░рджреНрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдЕрд╡рдзрд┐ рдХреНрдпрд╛ рд╣реИ?
рдЙрддреНрддрд░: "рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдкреЗрдореЗрдВрдЯ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди (IPN) рдЖрдПрдЧрд╛" (рдзрдиреНрдпрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ ... ) рдФрд░ "рд░рд┐рдлрдВрдб рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдПрдЧрд╛" (рдзрдиреНрдпрд╡рд╛рдж tzlom , рдФрд░ рдЕрдзрд┐рдХ ... )