# Aktualizacja danych instrumentu płatniczego oraz urządzenia Metoda pozwala uzupełnić dane instrumentu płatniczego lub urządzenia bazując na wygenerowanym wcześniej paymentId. Umożliwia rozbicie flow płatności na kilka etapów (np. rejestracja płatności przez merchanta, uzupełnienie danych instrumentu płatniczego, uzupełnienie danych urządzenia). Endpoint: PATCH /v1/ecommerce/payment/{paymentId} Version: 2.1.15 Security: bearerAuth ## Path parameters: - `paymentId` (string, required) Identyfikator płatności w systemie operatora płatności ## Request fields (application/jose): - `instrument` (object) Szczegółowe dane requestu - `instrument.type` (string, required) Typ instrumentu płatniczego Enum: "COF", "CARD", "BLIK", "BLIK_CODE", "BLIK_UID", "BLIK_PAYID", "GPAY", "APAY", "PBL", "SCOF", "VTS", "C2P_MC_UNIFIED", "C2P_VISA_UNIFIED", "EXT_COF" - `instrument.instrumentNo` (string,null) Nr instrumentu płatniczego (np. tokenu lub karty) (wymagany dla type = CARD/COF) - `instrument.encInstrumentNo` (string,null) Zaszyfrowany nr instrumentu płatniczego - `instrument.instrumentRef` (string,null) Identyfikator instrumentu płatnicznego w zewnętrznym systemie (wymagany dla type = SCOF/VTS) - `instrument.token` (string,null) Dane tokenu zwracane przez API APAY/GPAY (base64 encoded) (wymagany dla type = APAY/GPAY) - `instrument.expDate` (string,null) Data ważności (Format: YYYYMM) (wymagany dla type = CARD) Example: "202101" - `instrument.encExpDate` (string,null) Zaszyfrowana data ważności - `instrument.cvv` (string,null) Kod zabezpieczający (wymagany dla type = CARD) - `instrument.encCvv` (string,null) Zaszyfrowany kod zabezpieczający - `instrument.code` (string,null) Jednorazowy kod płatności BLIK (wymagany dla type = BLIK_CODE) - `instrument.alias` (string,null) Alias użytkownika BLIK dla płatności OneClick lub cyklicznych (wymagany dla type = BLIK_UID/BLIK_PAYID) - `instrument.app` (string,null) Identyfikator konta mobilnego BLIK (w przypadku niejednoznaczności aliasu) - `instrument.provider` (string,null) Identyfikator pośrednika płatności (może być wybrany automatycznie na podstawie konfiguracji merchanta) Enum: "BM", "PA", "PU" - `instrument.bank` (string,null) Nazwa banku (wymagany dla type = PBL) - `instrument.bankId` (integer,null) Identyfikator banku (w systemie operatora PBL) (wymagany dla type = PBL) - `instrument.payload` (string,null) Payload otrzymany z SDK na potrzeby płatności Click2Pay - `instrument.cardMask` (string,null) Maska karty otrzymana z PayU na potrzeby płatności tokenem kartowym - `device` (object,null) Dane urządzenia z którego wykonywana jest operacja (przeglądarka www lub urządzenie mobilne) (wymagane dla channel = PAYWALL/WEBAPI) - `device.ip` (string,null) IP urządzenia - `device.name` (string,null) Nazwa urządzenia z którego wykonywana jest płatność - `device.sdkData` (object,null) Parametry SDK (wymagany dla channel = MOBILE) - `device.sdkData.sdkTransID` (string, required) Identyfikator UUID generowany przez 3DS SDK - `device.sdkData.sdkReferenceNumber` (string, required) Identyfikator dostawcy oraz wersji 3DS SDK - `device.sdkData.sdkInterface` (string, required) Wspierany przez SDK typ interfejsu - `device.sdkData.sdkUiType` (array, required) Lista typów interfejsow wspieranych dla procesu challenge Enum: "TEXT", "SINGLE_SELECT", "MULTI_SELECT", "OOB", "HTML" - `device.sdkData.sdkAppId` (string, required) Stała wartość UUID, która jest generowana przez SDK podczas instalacji aplikacji - `device.sdkData.sdkEncData` (string, required) Obiekt JWE przygotowany przez SDK, zawierający zaszyfrowane dane dla DS - `device.sdkData.sdkEphemPubKey` (object, required) Część publiczna efemerycznej pary kluczy wygenerowanych przez SDK slużąca do negocjacji połączenia z ACS - `device.sdkData.sdkEphemPubKey.x` (string, required) Zawiera wspolrzędną punktu x na krzywej eliptycznej - `device.sdkData.sdkEphemPubKey.y` (string, required) Zawiera wspolrzędną punktu y na krzywej eliptycznej - `device.sdkData.sdkEphemPubKey.kty` (string, required) Typ klucza - `device.sdkData.sdkEphemPubKey.crv` (string, required) Identyfikator zastosowanej krzywej kryptograficznej - `device.sdkData.sdkAuthValue` (string, required) Wartość służąca do weryfkacji autentyczności oraz integralności SDK - `device.browserData` (object,null) Parametry przeglądarki (wymagany dla channel = PAYWALL/WEBAPI; method = CARD) - `device.browserData.javascriptEnabled` (boolean, required) Obsługa JavaScript włączona w przeglądarce - `device.browserData.javaEnabled` (boolean,null) Obsługa Java włączona w przeglądarce (wymagany dla javascriptEnabled = true) - `device.browserData.language` (string,null, required) Język ustawiony na przeglądarce (wymagany dla javascriptEnabled = true) - `device.browserData.colorDepth` (string,null) Wartość reprezentująca glębie bitową palety kolorów (wymagany dla javascriptEnabled = true) - `device.browserData.screenHeight` (integer,null) Wysokość ekranu w pikselach (wymagany dla javascriptEnabled = true) - `device.browserData.screenWidth` (integer,null) Szerokość ekranu w pikselach (wymagany dla javascriptEnabled = true) - `device.browserData.timezone` (integer,null) Przesunięcie strefy czasowej w minutach miedzy czasem UTC (wymagany dla javascriptEnabled = true) - `customer` (object) Dane właściciela karty - `customer.email` (string) Adres email klienta - `customer.extCustomerId` (string,null) Identyfikator klienta w systemie merchanta - `customer.name` (string,null) Imię i nazwisko klienta - `customer.billing` (object,null) Adres rozliczeniowy klienta (wymagany dla method = CARD) - `customer.billing.street` (string, required) Adres (ulica i numer domu) - `customer.billing.postal` (string, required) Kod pocztowy - `customer.billing.state` (string) Wojewodztwo Example: "mazowieckie" - `customer.billing.city` (string, required) Miasto - `customer.billing.country` (string, required) Kraj (kod ISO np. PL) Example: "POL" - `customer.risk` (object,null) Dodatkowe parametry analizy ryzyka na potrzeby 3DS - `customer.risk.scaPreference` (string) Preferencje dotyczące silnego uwierzytelnienia klienta (SCA) Enum: "RISK_VERIFIED", "DATA_SHARE", "USE_WL", "SCA_PERFORMED", "PROMPT_WL", "LOW_VALUE", "LOW_RISK" - `customer.risk.accountAuthDate` (string,null) Data i godzina (UTC) uwierzytelnienia klienta (Format: yyyy-MM-dd'T'HH:mm:ss.SSSX) (wymagane dla scaPreference = LOW_RISK) Example: "2022-02-15T18:35:24.00Z" - `customer.risk.accountCreateDate` (string,null) Data zalożenia konta u merchanta/agenta (Format: yyyy-MM-dd) (wymagane dla scaPreference = LOW_RISK) Example: "2022-02-15" - `customer.risk.accountChangeDate` (string,null) Data ostatniej zmiany danych konta (Format: yyyy-MM-dd) (wymagane dla scaPreference = LOW_RISK) Example: "2022-02-15" - `customer.risk.accountActiveDate` (string,null) Data od kiedy posiadacz karty aktywował płatności na koncie merchanta/agenta (Format: yyyy-MM-dd) (wymagane dla scaPreference = LOW_RISK) Example: "2022-02-15" - `customer.risk.passChangeDate` (string,null) Data ostatniej zmiany hasła do konta (Format: yyyy-MM-dd) (wymagane dla scaPreference = LOW_RISK) Example: "2022-02-15" - `customer.risk.purchaseCount6M` (integer,null) Liczba zakupów wykonana za pomoca konta w ciągu ostatnich sześciu miesiecy (wymagane dla scaPreference = LOW_RISK) - `customer.risk.tokenizationCountDay` (integer,null) Liczba prób dodania kart do konta z ostatnich 24 godzin (wymagane dla scaPreference = LOW_RISK) - `customer.risk.shipAddressDate` (string,null) Data pierwszego użycia adresu, który został wybrany dla aktualnej transakcji (Format: yyyy-MM-dd) (wymagane dla scaPreference = LOW_RISK) Example: "2022-02-15" - `customer.risk.shipNameIndicator` (boolean,null) Wskazuje czy nazwa posiadacza karty zdefiniowana na koncie operatora jest identyczna jak ta w nazwie do wysyłki bieżacej transakcji - `customer.risk.suspiciousActivity` (boolean,null) Wskazuje czy kiedykolwiek zachowanie posiadacza karty zostało potraktowane jako podejrzane (wymagane dla scaPreference = LOW_RISK) - `customer.risk.authenticatedTransaction` (boolean,null) Wskazuje czy transakcja była dodatkowo uwierzytelniona - `customer.risk.transactionSCountDay` (integer,null) Liczba transakcji udanych z ostatnich 24 godzin - `customer.risk.transactionUCountDay` (integer,null) Liczba transakcji nieudanych z ostatnich 24 godzin - `customer.risk.transactionSCountYear` (integer,null) Liczba transakcji udanych z ostatniego roku - `customer.risk.transactionUCountYear` (integer,null) Liczba transakcji nieudanych z ostatniego roku - `customer.risk.transactionCountDay` (integer,null) Liczba transakcji udanych oraz nieudanych z ostatnich 24 godzin - `customer.risk.transactionCountYear` (integer,null) Liczba transakcji udanych oraz nieudanych z ostatniego roku - `customer.phone` (object,null) Obiekt zawierający dane telefoniczne klienta - `customer.phone.countryCode` (string, required) Kod kraju Example: "48" - `customer.phone.phoneNo` (string, required) Numer telefonu Example: "123456789" - `customer.firstName` (string,null) Imię i nazwisko klienta - `customer.lastName` (string,null) Imię i nazwisko klienta - `customer.extAccountNo` (string) Zewnętrzny numer rachunku - `consents` (string) Zgody marketingowe - `language` (string,null) Preferowana wersja jezykowa (kod ISO np. pl) ## Response 200 fields (application/jose;charset=UTF-8): - `paymentId` (string) Identyfikator płatności w systemie operatora płatności - `subpayments` (array) Lista subtransakcji przy płatnościach z MARKETPLACE - `subpayments.subpaymentId` (string) Identyfikator subtransakcji - `subpayments.merchantId` (string) Identyfikator merchanta - `subpayments.extOrderId` (string) Identyfikator zamówienia w systemie merchanta - `status` (string) Aktualny status płatności - `dataRequest` (string) Zadanie dodatkowych danych - `acsData` (object) Dane potrzebne do wykonania ACS challenge - `acsData.tdsServerTxnId` (string) Identyfikator transakcji z systemu 3DS Server - `acsData.acsTxnId` (string) Identyfikator transakcji z systemu ACS (z komunikatu ARes) - `acsData.acsRefNumber` (string) Numer referencyjny transakcji z systemu ACS (z komunikatu ARes) - `acsData.acsSignedContent` (string) Blok zawierający sygnaturę ACS służący do weryfikacji ACS przez SDK - `acsData.acsURL` (string) Adres URL serwera ACS (do obsługi flow webowego) - `acsData.challengeWindowSize` (string) Rozmiar okna ACS challenge Example: "05" - `acsData.messageType` (string) Typ komunikatu (CReq) Example: "ARes" - `acsData.messageVersion` (string) Wersja protokołu - `acsData.creqPayload` (string) Formularz z danymi do wykonania ACS challenge (do obsługi flow webowego) - `acsData.acsStartProtocol` (string) Najstarsza wersja protokołu wspierana przez ACS - `acsData.acsEndProtocol` (string) Najnowsza wersja protokołu wspierana przez ACS - `acsData.dsStartProtocol` (string) Najstarsza wersja protokołu wspierana przez DS - `acsData.dsEndProtocol` (string) Najnowsza wersja protokołu wspierana przez DS - `redirectURL` (string) Adres URL dla kontynuacji flow webowego - `rejectCode` (string) Powód odrzucenia (w przypadku niepowodzenia) - `rejectInfo` (string) Dodatkowe informacje o powodzie odrzucenia Płatności - `tokenizerId` (string) Identyfikator systemowy tokenu (służy m.in. do pobrania tokenu) - `blikObject` (object) Struktura zapytania BLIK - `blikObject.Type` (string) - `blikObject.MerchantID` (string) - `blikObject.Currency` (string) - `blikObject.Amount` (string) - `blikObject.CustomParam` (string) - `blikObject.Description` (string) - `blikObject.Timestamp` (string) - `blikObject.MCC` (string) - `blikObject.Code` (string) - `blikObject.TxID` (string) - `blikObject.ControlData` (string) - `blikObject.Buid` (string) - `options` (object) Inne parametry sterujace - `options.tokenize` (boolean) Zadanie tokenizacji karty - `options.recurring` (string) Flaga płatności cyklicznych - `options.transKind` (string) Rodzaj transakcji dla transakcji kartowych - `options.methods` (array,null) Dostępne metody płatności Enum: "CARD", "PBL", "BLIK", "GPAY", "APAY", "UNKNOWN", "C2P" - `options.registerAlias` (boolean,null) Rejestracja aliasu na potrzeby transparentnych płatności - `channel` (string) Kanal płatności Enum: "PAYWALL", "MOBILE", "WEBAPI", "EBOK", "CSS" - `method` (string) Metoda płatności Enum: "CARD", "PBL", "BLIK", "GPAY", "APAY", "UNKNOWN", "C2P" - `apaySession` (string) Obiekt sesji APAY do inicjalizacji płatności - `reattempt` (string) Informacja o ograniczeniach w wykonywaniu płatności. Dopuszczalne wartości: NEVER - nie wysyłaj wiecej komunikatów na ten numer karty; NEVER_RECURRING - nie wysyłaj wiecej komunikatów dla płatności powtarzalnej; LATER - spróbuj poźniej Enum: "NEVER", "NEVER_RECURRING", "LATER" ## Response 400 fields ## Response 401 fields ## Response 403 fields ## Response 500 fields