Wczytywanie plików
Następujące metody umożliwiają wczytanie dokumentów.
Metoda ta wymaga podania identyfikatora weryfikacyjnego, który możesz uzyskać tworząc submerchanta za pomocą API PayU.
Identyfikator weryfikacji, wymagany.
Opcje instancji.
Umożliwia utworzenie instancji w trybie deweloperskim, co pozwala na działanie w witrynie, która nie korzysta z protokołu HTTPS.
Instancję PayuDocumentForm.
Występuje podczas tworzenia instancji PayuDocumentForm, gdy nie sprecyzowano parametru verificationId lub jest on pusty.
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.
- Przykład
const documentForm = PayuDocumentForm({verificationId: 'VERIFICATION_ID'});
Przykłady
- Podgląd
- HTML
- javascript
- CSS
<script type="text/javascript" src="https://merch-prod.snd.payu.com/javascript/sdk"></script>
<section class="container">
<div class="form-container">
<aside>Important document</aside>
<div id="payuDocumentUpload" class="payu-document-upload-button"></div>
<div id="responseUpload"></div>
</div>
<button id="uploadButton" onclick="df.upload()">Upload</button>
</section>
window.addEventListener('DOMContentLoaded', function () {
const df = PayuDocumentForm({verificationId: 'marketplace-verification-id'}, {dev: true});
df
.on('ready', () => {
console.log('Ready');
});
df
.on('select', (response) => {
if (response.status === 'SUCCESS') {
document.getElementById('responseUpload').innerText = 'File: ' + response.body.name + ', size: ' + response.body.size + ', type: ' + response.body.type;
} else {
alert('Error. ' + JSON.stringify(response.error));
}
});
df
.on('upload', (response) => {
if (response.status === 'SUCCESS') {
alert('File loaded. fileId=[' + response.body.fileId + '], verificationId=[' + response.body.verificationId + ']');
} else {
alert('Error. ' + JSON.stringify(response.error));
}
});
const documentFormOptions = {
title: 'Add or drop file here'
};
df.render('#payuDocumentUpload', documentFormOptions);
});
.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 #responseUpload {
padding-bottom: 6px;
font-size: 14px;
color: #ffffff;
}
.payu-document-upload-button {
background: #438F29;
cursor: pointer;
width: 100%;
height: 40px;
border: 1px solid white;
border-radius: 5px;
color: rgb(2, 0, 60);
font-size: 22px;
}
#uploadButton {
border: none;
background: #438F29;
padding: 8px 15px;
margin: 10px auto;
cursor: pointer;
}
Metody
querySelectorAll
.Add file
.appendChild
nie została zaimplementowana lub jest elementem typu input).- Przykład
documentForm.render('#documentForm', {title: 'Choose a file or drag it here.'});
- Przykład
documentForm.upload();
Możliwe Wartości | |
---|---|
ready | Emitowane podczas wyświetlania formularza. |
select | Emitowane po wybraniu pliku w Secure Form. |
upload | Emitowane po wczytaniu pliku na serwer. |
- Przykład
documentForm
.on('ready', function() {
// form ready
});
documentForm
.on('select', function(body) {
// file selected
});
documentForm
.on('upload', function(body) {
// file uploaded
});
Zdarzenia
Formularze emitują zdarzenia, do których można dołączyć własny callback za pomocą metody on.
Pole | Opis |
---|---|
status | Status wczytywania pliku:
|
body | Występuje jedynie przy statusie SUCCESS. Obiekt zawiera informacje o pliku. Dostępne pola:
|
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. |
Pole | Opis |
---|---|
status | Status wczytywania pliku:
|
body | Występuje jedynie przy statusie SUCCESS. Obiekt zawiera informacje o pliku. Dostępne pola:
|
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.
Pole | Opis |
---|---|
code | Kod błędu. |
message | Opis błędu w języku angielskim. |
parameters | Obiekt zawierający zmienne fragmenty błędu. |
Pole | Powiązane zdarzenie | Opis |
---|---|---|
error.file.too.large | select | Rozmiar wybranego pliku jest zbyt duży. Maksymalny rozmiar pliku to 10 MB. Szczegóły możesz znaleźć w obiekcie parameters . |
error.file.invalid.type | select | Typ wybranego pliku jest niewłaściwy. Wspierane type plików: pdf, jpg, tiff, png, bmp. Szczegóły możesz znaleźć w obiekcie parameters . |
error.file.not.selected | upload | Plik nie został wybrany. |
error.file.read.abort | upload | Ładowanie pliku zostało przerwane. |
error.file.read.error | upload | Wystąpił błąd podczas ładowania pliku. |
error.network | upload | Wystąpił błąd komunikacji sieciowej. Informacje o przyczynie błędu można znaleźć w obiekcie parameters w polu error . |
- Przykład
{
"status": "ERROR",
"correlationId": "",
"error": {
"messages": [
{
"code": "error.file.too.large",
"parameters": {
"error":"File is larger than 10485760 bytes",
"file":"fileName.pdf"
},
"message": "File too large"
}
]
}
}