Akceptowanie regulaminów
Zawarte metody pozwalają na wygenerowanie pola checkbox do akceptacji regulaminu. Wyświetlany jest odpowiedni link do regulaminu.
Tworzenie instancji PayuRegulationsForm z shopId i extCustomerId
PayuRegulationsForm(params, options?)
Ta metoda wymaga publicznego identyfikatora sklepu i unikalnego identyfikatora submerchanta.
Parametery metody
paramsrequiredobject
Parametry formularza akceptacji regulaminów.
shopIdstring
Publiczny identyfikator sklepu z panelu PayU, wymagany.
extCustomerIdstring
Unikalny identyfikator submerchanta nadawany przez marketplace, wymagany.
optionsoptionalobject
Opcje instancji.
devboolean
Umożliwia utworzenie instancji w trybie deweloperskim, co pozwala na działanie w witrynie która nie używa HTTPS.
Zwraca
Instancję PayuRegulationsForm.
Wyjątki
invalid.params
Występuje podczas tworzenia instancji PayuRegulationsForm gdy parametry shopId i extCustomerId nie są określone lub są puste.
npn.https.integration
Występuje podczas tworzenia instancji MarketplaceVerification, gdy protokołem strony, na której wczytywane jest JS SDK nie jest https i file, a strona nie jest ładowana z localhost: 127.0.0.1 lub 0.0.0.0.
Podczas procesu wdrażania można włączyć tryb deweloperski za pomocą parametru options.
Podczas procesu wdrażania można włączyć tryb deweloperski za pomocą parametru options.
- Przykład
const regulationsForm = PayuRegulationsForm({shopId: 'marketplace-shop-id', extCustomerId: 'ext-customer-id'});
Tworzenie instancji PayuRegulationsForm z parametrem verificationId
PayuRegulationsForm(params, options?)
Ta metoda wymaga identyfikatora weryfikacji, który możesz otrzymać poprzez rejestrację submerchanta przez API.
Parametry metody
paramsrequiredobject
Parametry formularza regulaminu.
verificationIdstring
Identyfikator weryfikacji, wymagany.
optionsoptionalobject
Opcje instancji.
devboolean
Umożliwia utworzenie instancji w trybie deweloperskim, co pozwala na działanie w witrynie która nie używa HTTPS.
Zwraca
Instancję
PayuRegulationsForm
.Wyjątki
invalid.params
Występuje podczas tworzenia instancji
PayuRegulationsForm
gdy parametr verificationId nie jest określony lub jest pusty.non.http.integration
Występuje podczas tworzenia instancji MarketplaceVerification, gdy protokołem strony, na której wczytywane jest JS SDK nie jest https i file, a strona nie jest ładowana z localhost: 127.0.0.1 lub 0.0.0.0.
Podczas procesu wdrażania można włączyć tryb deweloperski za pomocą parametru options.
Podczas procesu wdrażania można włączyć tryb deweloperski za pomocą parametru options.
- Przykład
const regulationsForm = PayuRegulationsForm({verificationId: 'VERIFICATION_ID'});
Przykłady
- Podgląd
- HTML
- javascript
- CSS
Kod html przykładu
<script type="text/javascript" src="https://merch-prod.snd.payu.com/javascript/sdk"></script>
<section class="container">
<div class="form-container">
<aside>Accept regulations</aside>
<div id="payuRegulationsAcceptance"></div>
<div id="responseAccept"></div>
</div>
<button id="acceptButton" onclick="rf.acceptRegulations()">Accept</button>
</section>
Kod javascript przykładu
window.addEventListener('DOMContentLoaded', () => {
const rf = PayuRegulationsForm({shopId: 'marketplace-shop-id', extCustomerId: 'ext-customer-id'});
rf
.on('ready', () => {
console.log('Ready');
});
rf
.on('accept', (response) => {
if (response.status === 'SUCCESS') {
alert('Regulations accepted');
} else {
alert('Error. ' + JSON.stringify(response.error));
}
});
const regulationsFormOptions = {
label: 'Accept Terms and Conditions (',
linkLabel: 'open',
labelAfterLink: ')',
style: {
label: {
fontColor: '#ffffff',
fontSize: '18px',
fontFamily: 'Courier'
},
link: {
fontColor: '#ff0000',
fontWeight: '200',
textDecoration: 'underline'
},
linkHover: {
fontColor: '#880000',
textDecoration: 'none'
}
}
};
rf.render('#payuRegulationsAcceptance', regulationsFormOptions);
});
Kod css przykładu
.container * {
font-family: Arial, Helvetica, sans-serif;
}
.container {
text-align: center;
width: 420px;
margin: 20px auto 10px;
display: block;
border-radius: 5px;
box-sizing: border-box;
}
.form-container {
width: 100%;
margin: 0 auto;
border-radius: 6px;
padding: 10px;
background: rgb(2, 0, 60);
text-align: left;
box-sizing: border-box;
}
.form-container aside, .form-container #responseAccept {
padding-bottom: 6px;
font-size: 14px;
color: #ffffff;
}
#acceptButton {
border: none;
background: #438F29;
padding: 8px 15px;
margin: 10px auto;
cursor: pointer;
}
Metody
Metody Akceptowania Regulaminów
render(selector, options?)
Wyświetla formularz na stronie.
Parametery metody
selectorrequiredstring
Wyszukiwanie elementu odbywa się za pomocą metody
querySelectorAll
.optionsoptionalobject
Opcje formularza.
labelstring
Tekst wyświetlany jako etykieta pola checkbox przed linkiem do regulaminu.
labelAfterLinkstring
Tekst wyświetlany jako etykieta pola checkbox po linku do regulaminu.
linkLabelstring
Tekst wyświetlany jako link do regulaminu. Jeśli ten parametr nie zostanie określony, zostanie wyświetlony
link
.styleobject
Stworzony przez ciebie styl formularza.
Wyjątki
element.selector.empty
Parametr selector nie został określony lub jest pusty.
element.selector.not.string
Parametr selector nie jest typu string.
element.not.exists
Element nie istnieje na stronie.
element.too.many.exists
Istnieje więcej niż jeden element na stronie.
element.not.valid
Nieprawidłowy element (metoda
appendChild
nie została zaimplementowana lub jest elementem typu input
).element.contains.children
Element posiada dzieci.
- Przykład
regulationsForm.render('#regulationsForm', {
label: 'Accept ',
linkLabel: 'Terms and Conditions'
});
acceptRegulations()
Wysłanie żądania akceptacji regulaminu.
Wyjątki
regulationsForm.not.rendered
Formularz nie został wyświetlony. Wyświetl formularz za pomocą metody regulationsForm.
- Przykład
regulationsForm.acceptRegulations();
on(event, callback)
Dodanie własnego wywołania zwrotnego (callback) do zdarzenia wywołanego przez Secure Form.
Parametry metody
eventrequiredstring
Typ zdarzenia
Możliwe Wartości | |
---|---|
ready | Emitowane podczas wyświetlania formularza. |
accept | Emitowane po zaakceptowaniu regulaminów na Secure Form. |
callbackrequiredfunction
callback po emisji zdarzenia.
Style formularza
Styl formularza zależy od tego jak ustwiony jest obiekt style
.
Obiket style
Obiekt
style
grupuje style dla różnych zachowań formularzy w obiektach. Każda grupa ma swoje dozwolone style.- Przykład obiektu style
{
style: {
label: {
fontColor: '#ff0000',
fontSize: '20px',
fontFamily: 'Verdana',
fontWeight: 'bolder'
},
link: {
fontColor: '#888888',
fontWeight: '200',
textDecoration: 'none'
},
linkHover: {
fontColor: '#00ff00',
fontWeight: '700',
textDecoration: 'underline'
}
}
}
Grupy stylów
Grupa stylów | Dozwolone style | Opis |
---|---|---|
label | fontColor fontSize fontFamily fontWeight | Style etykiet. |
link | fontColor fontWeight textDecoration | Style odnośników. |
linkHover | fontColor fontWeight textDecoration | Styl odnośników po najechaniu kursorem. |
Dostępne style
Styl | Opis | Dozwolone wartości |
---|---|---|
fontColor | kolor czcionki | #[0-9a-f]{6} |
fontSize | rozmiar czcionki | (\d+|\d*\.\d+)(px|em|%) |
fontFamily | rodzina czcionki | [0-9a-z\-\s]{1,50} |
fontWeight | grubość czcionki | ([1-9]00|normal|bold|lighter|bolder|inherit|initial|unset) |
textDecoration | dekoracja tekstu | (none|underline) |
Zdarzenia
Formularze emitują zdarzenia, do których można dołączyć własny callback za pomocą metody on.
Zdarzenie ready
Zdarzenie to jest emitowane po wywołaniu metody render, po wyświetleniu formularza.
Zdarzenie accept
Zdarzenie to jest emitowane gdy regulaminy zostaną zaakceptowane.
Callback jest wywoływany z jednym obiektem o następującej strukturze:
Pole | Opis |
---|---|
status | Status akceptacji:
|
error | Występuje jedynie przy statusie ERROR. Obiekt ten posiada tablicę messages , w której zawarto szczegóły błędu. Więcej informacji znajdziesz w sekcji Błędy. |
correlationId | Występuje jedynie przy statusie ERROR. |
Błędy
Obiekt error
zawiera tablicę obiektów (messages
), w której znajdziesz szczegóły błędów.
Obiekt messages
Parametry obiektu error
Pole | Opis |
---|---|
code | Kod błędu. |
message | Opis błędu w języku angielskim. |
parameters | Obiekt zawierający zmienne fragmenty błędu. |
Możliwe kody błędów
Pole | Powiązane zdarzenie | Opis |
---|---|---|
regulations-not-checked | accept | Checkbox nie został zaznaczony. Zaznaczenie pola checkbox jest wymagane do zaakceptowania regulaminu. |
error.regulations.acceptance | accept | Wystąpił błąd podczas przetwarzania akceptacji. |
error.network | accept | Wystąpił błąd komunikacji sieciowej. Informacje o przyczynie błędu można znaleźć w obiekcie parameters w polu error . |
- Przykład
Przykład obiektu typu event
{
"status": "ERROR",
"correlationId": "correlation-id",
"error": {
"messages": [
{
"code": "regulations-not-checked",
}
]
}
}