PayPal API рд╕реЗ рдорд┐рд▓реЗрдВ

рдлрд┐рд▓рд╣рд╛рд▓, PayPal рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рднреБрдЧрддрд╛рди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИред рднреБрдЧрддрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдПрдХ рдЦрд╛рддрд╛ рдЦреЛрд▓рдирд╛ рдФрд░ рдЙрд╕ рдкрд░ рдзрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЗрд╕рдХреА рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХрд╛ рдХрд╛рд░рдг # 1 рд╣реИред рджреВрд╕рд░рд╛ рдХрд╛рд░рдг, рдХрдИ рд▓реЛрдЧ рдореБрдЭрд╕реЗ рд╕рд╣рдордд рд╣реЛрдВрдЧреЗ, рдкреЗрдкрд▓ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдПрдкреАрдЖрдИ рд╣реИред рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ, рдореИрдВ рдкреЗрдкрд╛рд▓ рдПрдкреАрдЖрдИ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рднреА рддрд░реАрдХреЛрдВ рдФрд░ рддрд░рдХреАрдмреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░реВрдВрдЧрд╛ рддрд╛рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдПрдХреАрдХрд░рдг рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪ рд╕рдХреЗрдВред


рдЪреЗрддрд╛рд╡рдиреА: рдкреЗрдкреИрд▓ рдПрдкреАрдЖрдИ рд╕рдмрд╕реЗ рдШреГрдгрд┐рдд рдореИрдВрдиреЗ рдХрднреА рджреЗрдЦрд╛ рд╣реИ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЕрд╕рдВрдЧрдд, рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЕрдкреВрд░реНрдг рдпрд╛ рдЕрд╕рдВрдЧрдд рдкреНрд░рд▓реЗрдЦрди, рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдФрд░ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЗрдВ рдПрдкреАрдЖрдИ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдмреАрдЪ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░, рдпрд╣ рд╕рдм рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЧрдзреЗ рдореЗрдВ рдПрдХ рджрд░реНрдж рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рдирд┐рдкрдЯрдирд╛ рд╣реИред

рднрд╛рдЧ 1: рдкреЗрдкреИрд▓ рднреБрдЧрддрд╛рди рдкреНрд░рдХрд╛рд░


рдкреЗрдкрд▓ рдХрдИ рднреБрдЧрддрд╛рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдкреАрдкреА рд╕реЗ рдЕрдкрд░рд┐рдЪрд┐рдд рднреНрд░рдорд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдПрдХреНрд╕рдкреНрд░реЗрд╕ рднреБрдЧрддрд╛рди
рдкреЗрдкреИрд▓ рджреНрд╡рд╛рд░рд╛ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЗрд╕реА рддрд░рд╣ рдХреА рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдореБрдЦреНрдп рд╕реЗрд╡рд╛ред рдПрдХ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рднреБрдЧрддрд╛рди рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рдХреНрд░реЗрддрд╛ рдХреЗ рдЦрд╛рддреЗ рдХреЗ рдмрд┐рдирд╛ рдзрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЗрдЯрд▓ рдЦрд╛рддрд╛ рдкреБрд╖реНрдЯрд┐ (рдмреИрдВрдХ рдЦрд╛рддреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ рдХреНрд░реЗрдбрд┐рдЯ / рдбреЗрдмрд┐рдЯ рдХрд╛рд░реНрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдирд╣реАрдВред рдкрд╣рд▓реЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рдЕрдиреНрдп рдкреЗрдкрд╛рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рднреБрдЧрддрд╛рди рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдиреЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмреИрдВрдХ рдХрд╛рд░реНрдб рд╕реЗ рд╕реАрдзреЗ рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреЗрд╢ рдХреА, рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдЦрд╛рддрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрдк рд▓рдЧрднрдЧ рд╣рд░ рдХрд┐рд╕реА рд╕реЗ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдХрд╛рд░реНрдб рд╣реИ, рднреБрдЧрддрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рднреБрдЧрддрд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреЗрдкрд╛рд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдЖрдкрдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рддреНрдпрдХреНрд╖ рднреБрдЧрддрд╛рди
рдпрд╣ рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреИрдВрдХ рдХрд╛рд░реНрдб рд╕реЗ рднреБрдЧрддрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЛ рдЕрдкрдиреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдЕрдиреБрд╡рд╛рдж рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдЬреЛ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЦрд░реАрджрд╛рд░реА рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛ рджреЗрдЧрд╛ред рдкреНрд░рддреНрдпрдХреНрд╖ рднреБрдЧрддрд╛рди рдХреА рдПрдХ рдФрд░ рднрд┐рдиреНрдирддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд░рдиреЗ рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ рдХреЗ рдмрд╛рдж рд╣реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЖрд╕реНрдердЧрд┐рдд рднреБрдЧрддрд╛рди рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ рд╕рдВрдпреБрдХреНрдд рд░рд╛рдЬреНрдп рдЕрдореЗрд░рд┐рдХрд╛, рдХрдирд╛рдбрд╛ рдФрд░ рдпреВрдирд╛рдЗрдЯреЗрдб рдХрд┐рдВрдЧрдбрдо рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред

рдЖрд╡рд░реНрддреА рднреБрдЧрддрд╛рди
рдпрд╣ рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЦрд╛рддреЗ рд╕реЗ рдзрди рд╡рд╛рдкрд╕ рд▓реЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдорд╛рд╕рд┐рдХ рднреБрдЧрддрд╛рди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рдереЛрдХ рднреБрдЧрддрд╛рди
рдмрд▓реНрдХ рднреБрдЧрддрд╛рди рдЖрдкрдХреЛ рдХрдИ рдЦрд╛рддреЛрдВ рдХреЗ рдмреАрдЪ рдкреНрд░рд╛рдкреНрдд рдзрди рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рдЕрдиреБрдХреВрд▓реА рднреБрдЧрддрд╛рди
рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдореВрд▓ рд░реВрдк рд╕реЗ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорддрднреЗрджреЛрдВ рдХреЗ рд╕рд╛рде (рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдкреЗрдкрд▓ рдПрдкреАрдЖрдИ рднреНрд░рдорд┐рдд рдФрд░ рддрд╛рдордЭрд╛рдо рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИ)ред

рдЗрд╕ рд╕реВрдЪреА рдХреЛ рдкреВрд░реНрдг рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдзрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░реАрдХреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ (рдФрд░ рдЕрдзрд┐рдХ - рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ)ред

рднрд╛рдЧ 2: рдПрдкреАрдЖрдИ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдирд╛
PayPal HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: NVP рдФрд░ SOAPред NVP рдирд╛рдо-рдореВрд▓реНрдп рдЬреЛрдбрд╝реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рд╣реИ, рдЗрд╕ рдмреАрдЪ SOAP рдХрд╛ рдЕрд░реНрде рд╣реИ рд╕рд┐рдВрдкрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХреНрд╕реЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ред рдореИрдВ рдХреЗрд╡рд▓ рдПрдирд╡реАрдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реЛрдк рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╣реИред

рднрд╛рдЧ 1 рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╕рднреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЕрдкрдиреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрди рд╕рднреА рдореЗрдВ рдХрдИ рд╕рдорд╛рди рдмреБрдирд┐рдпрд╛рджреА рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ рдЬреЛ рдПрдкреАрдЖрдИ рдЦрд╛рддреЗ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЕрдзрд┐рдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд╖рд┐рдд рд╣реИрдВ:
рдЖрд╡рд╢реНрдпрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕реЗ рдЕрдВрддрд┐рдо METHOD , рдЬреЛ рдШреЛрд╖рдгрд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХрд┐рд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

HTTPS рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрд░реЛрдз рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреЗ рд╕рд░рд▓ рдЕрдиреБрд░реЛрдз рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП cURL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ рд╣рдо рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдореЗрдВ рд░рдЦреЗрдВрдЧреЗ:
 class Paypal { /** *     * @var array */ protected $_errors = array(); /** *  API *    ,        * @var array */ protected $_credentials = array( 'USER' => 'seller_1297608781_biz_api1.lionite.com', 'PWD' => '1297608792', 'SIGNATURE' => 'A3g66.FS3NAf4mkHn3BDQdpo6JD.ACcPc4wMrInvUEqO3Uapovity47p', ); /** * ,     *   - https://api-3t.paypal.com/nvp *  - https://api-3t.sandbox.paypal.com/nvp * @var string */ protected $_endPoint = 'https://api-3t.sandbox.paypal.com/nvp'; /** *  API * @var string */ protected $_version = '74.0'; /** *   * * @param string $method      * @param array $params   * @return array / boolean Response array / boolean false on failure */ public function request($method,$params = array()) { $this -> _errors = array(); if( empty($method) ) { // ,     $this -> _errors = array('    '); return false; } //    $requestParams = array( 'METHOD' => $method, 'VERSION' => $this -> _version ) + $this -> _credentials; //    NVP $request = http_build_query($requestParams + $params); //  cURL $curlOptions = array ( CURLOPT_URL => $this -> _endPoint, CURLOPT_VERBOSE => 1, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_SSL_VERIFYHOST => 2, CURLOPT_CAINFO => dirname(__FILE__) . '/cacert.pem', //   CURLOPT_RETURNTRANSFER => 1, CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $request ); $ch = curl_init(); curl_setopt_array($ch,$curlOptions); //   , $response     API $response = curl_exec($ch); // ,      cURL if (curl_errno($ch)) { $this -> _errors = curl_error($ch); curl_close($ch); return false; } else { curl_close($ch); $responseArray = array(); parse_str($response,$responseArray); //  ,   NVP   return $responseArray; } } } 

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВрдиреЗ SSL рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП CA рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ cURL рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрд╣рд╛рдБ рдЖрдкрдиреЗ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕ рд╕реНрдерд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рдорд╛рд░реНрдЧ рдмрджрд▓рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВред

рдЕрдиреБрд░реЛрдз рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдПрдирд╡реАрдкреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реЛрдЧреА, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рддреЛрдбрд╝ рджрд┐рдпрд╛ред ACK рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ: рдЕрдиреБрд░реЛрдз рд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░, Success рдпрд╛ Success рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдиреБрд░реЛрдз рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ Error рдпрд╛ Warning ред

рдЕрдиреБрд░реЛрдз рдХреЛ рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рднреБрдЧрддрд╛рди рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдРрд╕реЗ рдХрд╛рд░рдг рд╣реИрдВ рдЬрд┐рди рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЦрддреНрдо рдХрд░рдирд╛ рд╕реАрдЦреЗрдВрдЧреЗред рд╡реИрд╕реЗ, рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдиреБрд░реЛрдз рдореЗрдВ рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВ, рдЕрдХреНрд╕рд░ рдпрд╣ рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ рдХрд╛рд░рдг рд╣реИред

3:   -
рдзрдирд░рд╛рд╢рд┐ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рднреБрдЧрддрд╛рди рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЦрд╛рддрд╛ (рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкреЗрдореЗрдВрдЯреНрд╕ рдкреНрд░реЛ) рдЦреЛрд▓реЗ рдмрд┐рдирд╛ рдзрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХреЗрд╡рд▓ рдЕрдореЗрд░рд┐рдХреА рдирд╛рдЧрд░рд┐рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ, рдФрд░ рднреБрдЧрддрд╛рди рдкреЗрдкреИрд▓ рдкрдХреНрд╖ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рднреА рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рд╕рдВрдкреВрд░реНрдг рднреБрдЧрддрд╛рди рдирд┐рдореНрди рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реЛрддрд╛ рд╣реИ:
  1. рд╣рдо рдЯреНрд░рд╛рдВрд╕рдлрд░ рд╡рд┐рд╡рд░рдг рднреЗрдЬрддреЗ рд╣реБрдП, рдкреЗрдкрд╛рд▓ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ;
  2. рдпрджрд┐ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ PayPal рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ;
  3. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреЗрдкрд╛рд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рднреБрдЧрддрд╛рди рдХрд░рддрд╛ рд╣реИ рдпрд╛ рд░рджреНрдж рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╡рд╛рдкрд╕ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  4. рд╣рдо рднреБрдЧрддрд╛рди рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рддреЛ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╛рдкрд╕ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рддреНрд╡рд░рд┐рдд рднреБрдЧрддрд╛рди рдЕрдзрд┐рд╕реВрдЪрдирд╛ (IPN) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред



1.  : SetExpressCheckout
рдкреЗрдореЗрдВрдЯ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдбреЗрдЯрд╛ рднреЗрдЬрдХрд░ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рднреБрдЧрддрд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рдПрдХ рдЯреЛрдХрди рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рд▓реЗрдирджреЗрди рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЯреЛрдХрди рдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрдм рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреЗрдкрд╛рд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЕрдиреБрд░реЛрдз рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП:
рд╣рдо рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рднреА рдкрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рднреБрдЧрддрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕реЗрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реИрдВ:
рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╕рд╛рде рдХрдИ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЖрдк рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:


рдЪрд░ m рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрддреНрдкрд╛рдж рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИ (рдЙрд╕реА рдЙрддреНрдкрд╛рдж рдкрд░ рд▓рд╛рдЧреВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдЪрд░ рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ)ред

рдХрдИ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ рдЬреЛ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо SetExpressCheckout рдЕрдиреБрд░реЛрдз рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдордиреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ 2 рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛:
 //    $requestParams = array( 'RETURNURL' => 'http://www.yourdomain.com/payment/success', 'CANCELURL' => 'http://www.yourdomain.com/payment/cancelled' ); $orderParams = array( 'PAYMENTREQUEST_0_AMT' => '500', 'PAYMENTREQUEST_0_SHIPPINGAMT' => '4', 'PAYMENTREQUEST_0_CURRENCYCODE' => 'GBP', 'PAYMENTREQUEST_0_ITEMAMT' => '496' ); $item = array( 'L_PAYMENTREQUEST_0_NAME0' => 'iPhone', 'L_PAYMENTREQUEST_0_DESC0' => 'White iPhone, 16GB', 'L_PAYMENTREQUEST_0_AMT0' => '496', 'L_PAYMENTREQUEST_0_QTY0' => '1' ); $paypal = new Paypal(); $response = $paypal -> request('SetExpressCheckout',$requestParams + $orderParams + $item); 


2.       PayPal
рдпрджрд┐ рдЕрдиреБрд░реЛрдз рд╕рдлрд▓ рд░рд╣рд╛, рддреЛ рд╣рдореЗрдВ рдкреЗрдкрд╛рд▓ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ TOKEN рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред
 if(is_array($response) && $response['ACK'] == 'Success') { //     $token = $response['TOKEN']; header( 'Location: https://www.paypal.com/webscr?cmd=_express-checkout&token=' . urlencode($token) ); } 
рдЕрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреЗрдкрд╛рд▓ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕рдВрдкреВрд░реНрдг рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛рдПрдЧреАред рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднреБрдЧрддрд╛рди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд░ рджреЗрддрд╛ рд╣реИ рдпрд╛ рд░рджреНрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдЙрд╕ рд╕рдВрдмрдВрдзрд┐рдд рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЕрдиреБрд░реЛрдз рдореЗрдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдерд╛ред

3.
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рджреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╡рд╛рдкрд╕ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдХреНрд╖рдг рдореЗрдВ, рд╣рдореЗрдВ рджреЛ рд╕рдВрдмрдВрдзрд┐рдд рдПрдкреАрдЖрдИ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: DoExpressCheckoutPayment рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рд╣рдореЗрдВ GetExpressCheckoutDetails рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦрд░реАрджрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдкреЗрдкрд╛рд▓ рдпреВрдЬрд░ рдХреЛ рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕реЗ рд╣рдо рдЗрди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЯреЛрдХрди рдХреЛ token рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ URL рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рдЙрд╕ рдкрддреЗ рдкрд░ рдЙрд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╡рд╣ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рдПрдкреАрдЖрдИ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдЧрд╛ред

GetExpressCheckoutDetails рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдЯреЛрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ DoExpressCheckoutPayment рдХреЛ рдХрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:
 if( isset($_GET['token']) && !empty($_GET['token']) ) { //   //   ,    . //        ,  ,    $paypal = new Paypal(); $checkoutDetails = $paypal -> request('GetExpressCheckoutDetails', array('TOKEN' => $_GET['token'])); //   $requestParams = array( 'PAYMENTREQUEST_0_PAYMENTACTION' => 'Sale', 'PAYERID' => $_GET['PayerID'] ); $response = $paypal -> request('DoExpressCheckoutPayment',$requestParams); if( is_array($response) && $response['ACK'] == 'Success') { //    //    ID ,      $transactionId = $response['PAYMENTINFO_0_TRANSACTIONID']; } } 


4:
рдкреНрд░рддреНрдпрдХреНрд╖ рднреБрдЧрддрд╛рди рдЖрдкрдХреЛ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдкрд░ рд╕реАрдзреЗ рдзрдирд░рд╛рд╢рд┐ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХрд┐рд╕реА рдЕрдЬреНрдЮрд╛рдд рдХрд╛рд░рдг рд╕реЗ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреЗрдкрд╛рд▓ рдЦрд╛рддреЗ рдХреЗ рдмрд┐рдирд╛ рдЦрд░реАрджрд╛рд░ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд░рд╛рдп рдХреЛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдореЗрдВ рдмрд┐рдХреНрд░реА рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдФрд░ рдмрдврд╝рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдпрд╣ рдкрджреНрдзрддрд┐ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рднреБрдЧрддрд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝реА рд╕рд░рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдЖрдкрдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╣реЛрддреА рд╣реИ, рдФрд░ рд╣рдореЗрдВ API: DoDirectPayment рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдФрд░ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ рдпрджрд┐ рдЖрдк рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк рдбрд┐рд▓реАрд╡рд░реА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдорд╛рд▓ рдкрд╣реБрдВрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ) рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЦрд╛рддреЗ рд╕реЗ рдкреИрд╕рд╛ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╣рдо Authorization рдФрд░ Capture рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдирд╣реАрдВ рдмрддрд╛рдКрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЙрдирдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

1.
рдкреНрд░рддреНрдпрдХреНрд╖ рднреБрдЧрддрд╛рди, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рдВрдХреЗрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рднреБрдЧрддрд╛рди рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ (рдПрдХ рд╣реА рдЧрдВрддрд╡реНрдп, рдЕрдиреНрдп рдирд╛рдо рдЕрдзрд┐рдХ рдордЬреЗрджрд╛рд░ рд╣реИрдВ), рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рд▓рд┐рдП рдмреИрдВрдХ рдХрд╛рд░реНрдб рдФрд░ рдкрддреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдкреНрд░рддреНрдпрдХреНрд╖ рднреБрдЧрддрд╛рди рдХреЗ рдореБрдЦреНрдп рдкреИрд░рд╛рдореАрдЯрд░:

рдмреИрдВрдХ рдХрд╛рд░реНрдб рд╡рд┐рд╡рд░рдг:

рдЦрд░реАрджрд╛рд░ рд╡рд┐рд╡рд░рдг:рдкрддреЗ рдХрд╛ рд╕рддреНрдпрд╛рдкрди рд╕рддреНрдпрд╛рдкрди рдкреНрд░рдгрд╛рд▓реА (AVS) рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЧрд▓рдд рдкрддреЗ рдХреЗ рдХрд╛рд░рдг рд▓реЗрди-рджреЗрди рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреНрд░реБрдЯрд┐ рдЖрдкрдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреА рдЬрд╛рдПрдЧреАред

рднреБрдЧрддрд╛рди рд╡рд┐рд╡рд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рднреБрдЧрддрд╛рди рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирд╛рдореЛрдВ рдореЗрдВ рдХреБрдЫ рдЕрдВрддрд░реЛрдВ рдХреЗ рд╕рд╛рде (рдЖрдкрдХреЛ AMT , ITEMAMT , CURRENCYCODE , SHIPPINGAMT , TAXAMT рдФрд░ DESC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬ рджреЗрдЦреЗрдВред

рдЙрд╕реА рддрд░рд╣, рдЖрдкрдХреЛ рдЙрддреНрдкрд╛рдж рдЬрд╛рдирдХрд╛рд░реА рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: L_NAMEm , L_DESCm , L_AMTm рдФрд░ L_QTYm ред рдЪрд░ рдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд░рд┐рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдХреНрд░рдо рдореЗрдВ рдХреНрд░рдорд╛рдВрдХрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП 0, 1 рдФрд░ рдЖрдЧреЗ рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ)ред рдЕрдзрд┐рдХ рд╕рдВрдкреВрд░реНрдг рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВред

2.
рдкрд╣рд▓реЗ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдирд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рднреБрдЧрддрд╛рди рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд╕рдорд╛рди рд╣реИред рд╣рдо рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди DoDirectPayment рдХреЛ рд╡рд┐рдзрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред
 $requestParams = array( 'IPADDRESS' => $_SERVER['REMOTE_ADDR'], 'PAYMENTACTION' => 'Sale' ); $creditCardDetails = array( 'CREDITCARDTYPE' => 'Visa', 'ACCT' => '4929802607281663', 'EXPDATE' => '062012', 'CVV2' => '984' ); $payerDetails = array( 'FIRSTNAME' => 'John', 'LASTNAME' => 'Doe', 'COUNTRYCODE' => 'US', 'STATE' => 'NY', 'CITY' => 'New York', 'STREET' => '14 Argyle Rd.', 'ZIP' => '10010' ); $orderParams = array( 'AMT' => '500', 'ITEMAMT' => '496', 'SHIPPINGAMT' => '4', 'CURRENCYCODE' => 'GBP' ); $item = array( 'L_NAME0' => 'iPhone', 'L_DESC0' => 'White iPhone, 16GB', 'L_AMT0' => '496', 'L_QTY0' => '1' ); $paypal = new Paypal(); $response = $paypal -> request('DoDirectPayment', $requestParams + $creditCardDetails + $payerDetails + $orderParams + $item ); if( is_array($response) && $response['ACK'] == 'Success') { $transactionId = $response['TRANSACTIONID']; } 


5:
рдпрджрд┐ рд╣рдо рдПрдХ рдЖрджрд░реНрд╢ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд░рд╣рддреЗ, рддреЛ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрддрд╛ред рд╣рдХреАрдХрдд рдореЗрдВ, рдЖрдкрдХреЛ рдЗрд╕ рднрд╛рдЧ рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╡рд░реНрдЧреЛрдВ рдХреЛ рдЕрдиреНрдп рд▓реЗрдЦреЛрдВ рдореЗрдВ рдХрд╛рдлреА рдмрд╛рд░ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкреЗрдкрд▓ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдПрдХ рдкреВрд░реЗ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рд╕реЗ рдЗрдВрдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХрд╛ рд╕реБрдзрд╛рд░ рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдирд╣реАрдВ рд╣реИред

$response рдЪрд░, рдЬрд┐рд╕рдореЗрдВ paypalApiRequest() рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдореЗрдВ ACK рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдПрдХ рдорд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ Success рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИ, рдЕрд░реНрдерд╛рддреН:
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рджреЛ рд╕рдлрд▓ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ рдФрд░ рджреЛ рдЕрд╕рдлрд▓ рд╣реИрдВред рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛрдб рдХреЗрд╡рд▓ рд╕рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ SuccessWithWarning рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рди рднреВрд▓реЗрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЪреЗрддрд╛рд╡рдиреА рдХреНрдпрд╛ рд╣реИред рдкреНрд░рддреНрдпрдХреНрд╖ рднреБрдЧрддрд╛рди рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрдо рддреНрд░реБрдЯрд┐ рдкрд░рд┐рджреГрд╢реНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрд╡реАрдХрд╛рд░ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдмреИрдВрдХ рдиреЗ рдХрд╛рд░реНрдб рд╕реЗ рдзрди рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред

рдкреЗрдкрд╛рд▓ рджреНрд╡рд╛рд░рд╛ рджреА рдЧрдИ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЪрд╛рд░ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╣реИрдВ:рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╡реЗрд░рд┐рдПрдмрд▓ 0 рдПрд░рд░ рдХреА рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рд╣реИ, рдЬреЛ рд╣реБрдИ (рдпрджрд┐ рдХрдИ рдПрд░рд░ рд╣реИрдВ, рддреЛ рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ 1, 2, рдФрд░ рдЗрд╕реА рддрд░рд╣) рд╣реЛрдВрдЧреЗред

рдпрд╣рд╛рдБ рд╕рдмрд╕реЗ рдЖрдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╕реВрдЪреА рд╣реИ:
?
рдХреБрдЫ рдкреЗрдкрд╛рд▓ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рдЖрдкрдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд┐рдЬреА рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рд╡реЗ рддреНрд░реБрдЯрд┐ рдкреНрд░рджрд░реНрд╢рди рдмрдВрдж рдХрд░ рджреЗрдВ, рднрд▓реЗ рд╣реА рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛред

рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛:
  1. рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕рдлреЗрдж рд╕реВрдЪреА рдмрдирд╛рдПрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдб рдкрд░ рдЧрд▓рдд рдбреЗрдЯрд╛);
  2. рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╕рдордп, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рдлреЗрдж рд╕реВрдЪреА рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬрд╛рдВрдЪ рдХреА;
  3. рдпрджрд┐ рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдЖрдкрдХреЗ рднреБрдЧрддрд╛рди рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИред рдХреБрдЫ рдорд┐рдирдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдпрд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред тАЭ


рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ, рдореИрдВрдиреЗ рджреЛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдПрдкреАрдЖрдИ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреАред рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЖрдк рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рднреБрдЧрддрд╛рди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░ рд╕рдХреЗрдВред

рдкреЗрдкрд╛рд▓ рдПрдкреАрдЖрдИ рдореЗрдВ, рдЖрдк рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╖рдпреЛрдВ рдФрд░ рдХрдИ рддрд░реАрдХреЛрдВ рдФрд░ рддрд░реАрдХреЛрдВ рдХреЛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рджреЛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╕реАрдЦ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдмрд╛рдХреА рдЪреАрдЬреЗрдВ рд╕реАрдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЧрд╛рдЗрдб рдЖрдкрдХреЛ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫреА рд╢реБрд░реБрдЖрдд рджреЗрдЧрд╛ред

рдореВрд▓ рд▓реЗрдЦ: рдкреЗрдкрд▓ рдПрдкреАрдЖрдИ , рдПрд░рди рдЧреИрд▓реНрдкрд░рд┐рди рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд, 5 рд╕рд┐рддрдВрдмрд░, 2011ред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрдиреБрд╡рд╛рдж рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реНрдпрд╛рдкрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдореИрдВ рдЕрднреА рднреА 24 рд╕рд┐рддрдВрдмрд░ рдХреА рдЫреБрдЯреНрдЯреА рдХреЗ рд▓рд┐рдП рдЙрдореНрдореАрдж рдирд╣реАрдВ рдЦреЛрддрд╛ рд╣реВрдВред рд░реБрдХреЛ рдФрд░ рджреЗрдЦреЛред

рдЫрд╡рд┐
рдпрд╣ рдкрд╛рда рдХреНрд░рд┐рдПрдЯрд┐рд╡ рдХреЙрдордиреНрд╕ рдПрдЯреНрд░реАрдмреНрдпреВрд╢рди-рдиреЙрди-рдХреЙрдорд░реНрд╢рд┐рдпрд▓-рд╢реЗрдпрд░рдЕрд▓рд╛рдЗрд▓ 3.0 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИ ред
рдЖрдк рдЗрд╕ рдкрд╛рда рдХреЛ рдЧреИрд░-рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрдкреА, рдПрдбрд┐рдЯ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдореВрд▓ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдФрд░ рд╕рдВрд░рдХреНрд╖рдг рдХреЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рд╣реИред

Source: https://habr.com/ru/post/In128198/


All Articles