рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХрдИ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдПрдкреАрдЖрдИ рд╣реИ рдЬрд┐рд╕реЗ рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ? рдпрд╣ рдПрдкреАрдЖрдИ рдбрдмреНрд▓реНрдпреВ 3 рд╕реА рдорд╛рдирдХ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдмрд┐рд▓рд┐рдВрдЧ рдФрд░ рд╕рдВрдкрд░реНрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╣реИред
рдпрд╣рд╛рдБ Developers.google.com рдкрд░ рдорд╛рдирдХ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдордбреАрдПрди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЗрд╕ рдПрдкреАрдЖрдИ рдХреЗ
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд╕рдореАрдХреНрд╖рд╛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз рдбреЗрд╡рд▓рдкрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯреВрд▓ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рднреБрдЧрддрд╛рди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЛ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдиреЗ, рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдФрд░ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз рдПрдкреАрдЖрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЕрдкрдиреА рдмрд┐рд▓рд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдкрддрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рд╣реА рдЬрд╛рдирдХрд╛рд░реА рджрд░реНрдЬ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ API рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рднреБрдЧрддрд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реЛрдЧрд╛ред рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз рдПрдкреАрдЖрдИ рдореЗрдВ рдЕрдиреНрдп рдореВрд▓реНрдпрд╡рд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ - рд╡рд┐рдХрд▓рд╛рдВрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдЯреВрд▓ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛, рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рднреБрдЧрддрд╛рди рдбреЗрдЯрд╛ рдХрд╛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди, рдорд╛рдирдХреАрдХреГрдд рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдЯреВрд▓ред

рд╕рд╛рдордЧреНрд░реА, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЖрдЬ рд╣рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдПрдкреАрдЖрдИ рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред рдпрд╣ рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз рдПрдкреАрдЖрдИ рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рддрдХрдиреАрдХ рд╣реИ рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рд╕рдХрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓реЗрдЦрдХ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╡рд╣ рдЙрд╕рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдпреЛрдЧреНрдп рд╣реИред рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдПрдХ рдЙрдЬреНрдЬреНрд╡рд▓ рднрд╡рд┐рд╖реНрдп рд╣реИ, рдФрд░ рдпрд╣ рдХрд┐ рдЗрд╕рдореЗрдВ рдЬреЛ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рдореВрд▓ рдмрд╛рддреЗрдВ
рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз рдПрдкреАрдЖрдИ рдХреЗ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЕрдкрдирд╛рдиреЗ рд╕реЗ рдСрдирд▓рд╛рдЗрди рднреБрдЧрддрд╛рди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдХреЛ рд▓рд╛рдн рд╣реЛрдЧрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдорд╛рд▓рд┐рдХреЛрдВ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдорддрд▓рдм рднреБрдЧрддрд╛рди рд╕реНрд╡реАрдХреГрддрд┐ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреЛрдВ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдФрд░ рддреЗрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЗрд╕ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдПрдХ
PaymentRequest
рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрдЬреНрдЮрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
new PaymentRequest(methodData: fn, details: fn, options?);
PaymentRequest
рдирд┐рд░реНрдорд╛рддрд╛ рджреЛ рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛
PaymentRequest
:
methodData
рдкреИрд░рд╛рдореАрдЯрд░ рднреБрдЧрддрд╛рди рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд░рдЦрдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИред рдпрд╣, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдорд░реНрдерд┐рдд рднреБрдЧрддрд╛рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИредdetails
рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднреБрдЧрддрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрд▓ рднреБрдЧрддрд╛рди рд░рд╛рд╢рд┐, рдХрд░ рд░рд╛рд╢рд┐, рд╢рд┐рдкрд┐рдВрдЧ рд▓рд╛рдЧрддредoptions
рдкреИрд░рд╛рдореАрдЯрд░, рд╡реИрдХрд▓реНрдкрд┐рдХ, рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рднреБрдЧрддрд╛рди рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред
рдЖрдк MDN рдХреЗ рд╕рд╛рде
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз API рдХреЗрд╡рд▓ HTTPS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдПрдкреАрдЖрдИ рдХрд┐рд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдкреЗрдореЗрдВрдЯ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдмрд╛рддрдЪреАрдд рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИред
рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рднреБрдЧрддрд╛рди рдкреНрд░рдгрд╛рд▓реА рд╕реАрдзреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдХреАрдХреГрдд рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рднреБрдЧрддрд╛рди рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдмрд╛рд╣рд░реА рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕рдм рдХреБрдЫ рд╕реАрдзреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░реАрди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рд╣реЗрдЬреЗ рдЧрдП рднреБрдЧрддрд╛рди рдХрд╛рд░реНрдб рдбреЗрдЯрд╛ рдХреА рдПрдХ рд╕реВрдЪреА рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИред
рд╕рд╣реЗрдЬреЗ рдЧрдП рдХрд╛рд░реНрдбрднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЕрд╡рд▓реЛрдХрди
рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рджрдо рдкрд░ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рд╣рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ, рддреЛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
git clone https:
рдпрд╣ рдЙрдЪрд┐рдд рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░рддрд╛ рд╣реИ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ
localhost:3000
рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ
localhost:3000
ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдЖрд╡реЗрджрди рдЕрдиреБрд╕рдВрдзрд╛рди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЖрд╡реЗрджрди рдХрд╛ рдореБрдЦреНрдп рдкреГрд╖реНрда рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдпрд╣ рдПрдХ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреА рдирдХрд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЙрддреНрдкрд╛рдж рдХреЛ "рдЯреЛрдХрд░реА рдореЗрдВ рдбрд╛рд▓рдиреЗ" рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЪреЗрдХрдЖрдЙрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
BUY
рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдЖрд╡реЗрджрди рдкреГрд╖реНрдард╣рдо рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо "рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░" рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рддрд░реНрдХ рдФрд░
app.js
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рднреБрдЧрддрд╛рди рдХреЗ рд▓рд┐рдП
app.js
рд╣реИрдВ:
let count = 0 const cartIncrementButton = document.getElementById('cartIncrement') const cartDecrementButton = document.getElementById('cartDecrement') const countElement = document.getElementById('count') const buyButton = document.getElementById('purchase') function init() { countElement.innerHTML = count cartIncrementButton.addEventListener('click', () => { count++ countElement.innerHTML = `${count}$` }) cartDecrementButton.addEventListener('click', () => { if (count === 0) return count-- countElement.innerHTML = `${count}$` }) } init()
рдпрд╣рд╛рдБ рд╣рдореЗрдВ DOM рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдорд┐рд▓рддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, "рдорд╛рд▓" рдХреА рдорд╛рддреНрд░рд╛ рдмрдврд╝рд╛рдиреЗ рдФрд░ рдШрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди, рдФрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рджреЗрддреЗ рд╣реИрдВред рдХреБрд▓ рд░рд╛рд╢рд┐ рдЗрд╕реА рдкреГрд╖реНрда рддрддреНрд╡ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИред
рд╣рдорд╛рд░реЗ рдХреЛрдб рд╕реЗ
cartIncrementButton
рдмрдЯрди рдХреЛ рдПрдХ рдмрдЯрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд▓реНрдкрдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХрд╛рд░реНрдЯ рдореЗрдВ рдХреБрдЫ рдЙрддреНрдкрд╛рдж рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
cartDecrementButton
рдмрдЯрди
cartDecrementButton
рдЯреЛрдХрд░реА рд╕реЗ рдорд╛рд▓ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░
countElement
рддрддреНрд╡ рдореЗрдВ рдЯреЛрдХрд░реА рдореЗрдВ рдбрд╛рд▓реЗ рдЧрдП рд╕рднреА рд╕рд╛рдорд╛рдиреЛрдВ рдХреА рдХреАрдордд рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред
рднреБрдЧрддрд╛рди рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдирд┐рдореНрди рдХреЛрдб рднреА
app.js
рдореЗрдВ
app.js
рдпрд╣ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬреЛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк
BUY
рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ (рдЗрд╕реЗ рдХреЛрдб рдореЗрдВ
buyButton
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ):
buyButton.addEventListener('click', () => { const request = new PaymentRequest( buildSupportedPaymentMethodData(), buildShoppingCartDetails() ); })
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛
BUY
рдмрдЯрди рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо
PaymetnRequest
рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВред рд╣рдо рдпрд╣рд╛рдВ рдХреБрдЫ рдРрд╕реЗ рдлрдВрдХреНрд╢рдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╣реИрдВ
buildSupportedPaymentMethodData
рдФрд░
buildShoppingCartDetails
ред
рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЛ рдкрд╣рд▓рд╛ рддрд░реНрдХ
buildSupportedPaymentMethodData
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рджреНрд╡рд╛рд░рд╛
buildSupportedPaymentMethodData
рд╣реИред рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ рдЬреЛ рднреБрдЧрддрд╛рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдп
app.js
рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛
app.js
:
function buildSupportedPaymentMethodData() {
рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░,
buildShoppingCartDetails
рд▓рд┐рдП рджреВрд╕рд░рд╛ рддрд░реНрдХ, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рд╣реИ рдЬреЛ рдЦрд░реАрджрд╛рд░реА рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЦрд░реАрджреЗ рдЧрдП рд╕рд╛рдорд╛рди рдХрд╛ рд╡рд┐рд╡рд░рдг, рдЙрдирдХрд╛ рдореВрд▓реНрдп, рдХреБрд▓ рдЦрд░реАрдж рд░рд╛рд╢рд┐ред
buildShoppingCartDetails
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЛрдб
buildShoppingCartDetails
рднреА рд╣реИ:
function buildShoppingCartDetails() { return { id: 'count-order', displayItems: [ { label: 'Example item', amount: {currency: 'USD', value: '1.00'} } ], total: { label: 'Total', amount: {currency: 'USD', value: count } } }; }
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рджреЗрддрд╛ рд╣реИ, рди рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рд╕рд░рдгреАред
рдЕрдм рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред
request
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ
.show()
рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред рдпрд╣ рдХреЙрд▓ рд╡рд╛рджрд╛ рд╡рд╛рдкрд╕ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рд╡рд╛рджреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ
рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдХреЛрдб, рдлрд┐рд░ рд╕реЗ,
app.js
:
buyButton.addEventListener('click', () => { const request = new PaymentRequest( buildSupportedPaymentMethodData(), buildShoppingCartDetails() ); request.show().then(paymentResponse => { console.log(paymentResponse) }) })
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдордиреЗ
BUY
рдмрдЯрди рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдХреГрддрд┐ рдореЗрдВ рдХреНрдпрд╛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднреБрдЧрддрд╛рди рдХреА рд╕рд╣рдорддрд┐рдЗрд╕ рдХрджрдо рдкрд░, рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмреИрдВрдХ рдХрд╛рд░реНрдб рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдореИрдВ рдпрд╣рд╛рдВ VISA рдЯреЗрд╕реНрдЯ рдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдЙрдкрдпреБрдХреНрдд рдлрд╝реАрд▓реНрдб рдореЗрдВ рдХрд╛рд░реНрдб рдирдВрдмрд░, рдЕрдкрдирд╛ рдирд╛рдо рдФрд░ рдкрддрд╛ рджрд░реНрдЬ рдХрд░реЗрдВред рд╣рдо рд╕рд┐рд░реНрдл рдПрдкреАрдЖрдИ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╡реАрдЬрд╝рд╛ рдЯреЗрд╕реНрдЯ рдХрд╛рд░реНрдб рдирдВрдмрд░рдХрд╛рд░реНрдб рд╡рд┐рд╡рд░рдг рджрд░реНрдЬ рдХрд░реЗрдВрднреБрдЧрддрд╛рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг
рд╣рдордиреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд╛рд░реНрдб рдХреА рдЬрд╛рдирдХрд╛рд░реА рджрд░реНрдЬ рдХрд░рдиреЗ рдФрд░ рднреБрдЧрддрд╛рди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рд╡рд╛рджрд╛ рд╕реЗ рд▓реМрдЯрд╛рдП рдЧрдП
рднреБрдЧрддрд╛рдирдкреНрд░рджрд░реНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдорд┐рд▓рддрд╛ рд╣реИред
рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕рдХреЗ
.complete () рд╡рд┐рдзрд┐ рдХреЛ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рд╡реИрд╕рд╛ рд╣реА рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЬреИрд╕рд╛ рдЙрд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдБ рдХреЛрдб рдореЗрдВ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
buyButton.addEventListener('click', () => { const request = new PaymentRequest(buildSupportedPaymentMethodData(), buildShoppingCartDetails()); request.canMakePayment().then(result => { if (result) { request.show().then(paymentResponse => { console.log(paymentResponse.details)
рд╡рд╣ рд╕рдм рд╣реИ! рд╣рдордиреЗ рд╕рд┐рд░реНрдл рдЙрд╕ рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХреА, рдЬреЛ рдПрдХ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдХреА рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЯреЛрдХрд░реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдпрд╣рд╛рдВ рдЖрд╡реЗрджрди рдХрд╛ рдкреВрд░рд╛ рдкреНрд░рджрд░реНрд╢рди рд╣реИред
рдЖрд╡реЗрджрди рдкреНрд░рджрд░реНрд╢рдитЖТ
рдпрд╣рд╛рдВ рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╕реЛрд░реНрд╕ рдХреЛрдб рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз API рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдпрд╣рд╛рдВ caniuse.com рдХреЗ рд╕рд╛рде рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз API рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬрд╛рдирдХрд╛рд░реА рджреА рдЧрдИ рд╣реИред
рдХреМрди рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз API рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ?рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдПрдкреАрдЖрдИ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдирдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдЕрднреА рддрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддреГрдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рдЕрдЪреНрдЫреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрд░реЛрдо, рд╕рдлрд╛рд░реА, рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рдФрд░ рдПрдЬ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдЖрдк рд╢рд╛рдпрдж рдЗрдирдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрди рд╕рднреА рдЪреАрдЬреЛрдВ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдКрдкрд░ рдмрд╛рдд рдХреА рдереАред
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз рдПрдкреАрдЖрдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЕрднреА рднреА рдмрд╣реБрдд рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдореЛрдмрд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдЪ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЕрдЧрд░ рдореБрдЭреЗ рдЕрдм рдЗрд╕ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдерд╛, рддреЛ рдореИрдВ рдЕрдм рддрдХ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЗрд╕рдХреЗ рдХрд╛рдо рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред
рдкрд░рд┐рдгрд╛рдо
рдкреЗрдореЗрдВрдЯ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдПрдкреАрдЖрдИ рдХреЗ рдкрд╛рд╕ рдПрдХ рдЖрдо рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рддрдХрдиреАрдХ рдмрдирдиреЗ рдХрд╛ рд╣рд░ рдореМрдХрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдпрд╣ рддрдХрдиреАрдХ рдЖрдкрдХреА рд░реБрдЪрд┐ рд╣реИ -
рдпрд╣рд╛рдВ ,
рдпрд╣рд╛рдВ ,
рдпрд╣рд╛рдВ рдФрд░
рдпрд╣рд╛рдВ - рдРрд╕реА рд╕рд╛рдордЧреНрд░рд┐рдпрд╛рдВ рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИрдВред
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рднреБрдЧрддрд╛рди рдЕрдиреБрд░реЛрдз API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
