Você pode carregar fundos em um cartão vale presente ativado, fazendo uma solicitação de carga. Quando a solicitação é processada, você recebe um resultado indicando se o saldo foi carregado com êxito no cartão vale presente.
Antes de começar
Antes de realizar transações com cartão vale presente, certifique-se de:
- Ler e entender nossos fundamentos da API de terminais.
- Criar uma integração que pode efetuar um pagamento.
- Concluir o processo de integração com seu provedor de cartão vale presente.
- Adicionado o método de pagamento escolhido à sua conta Adyen .
Etapa 1: solicitação de carregamento
Para carregar um saldo em um cartão vale presente:
-
Faça uma solicitação POST para o endpoint da API de terminais , especificando:
-
MessageHeader
: Segue a estrutura daMessageHeader
padrão, explicada nos fundamentos da API de terminais, que incluem:ProtocolVersion
: 3.0MessageCategory
: StoredValueMessageType
: RequestSaleID
: Seu ID exclusivo para a caixa registradora.ServiceID
: Seu ID exclusivo para esta tentativa de transação. Este precisa ser único nas últimas 48 horas-
POIID
: ID exclusivo do terminal. Isso indica para qual terminal a transação será roteada.
-
StoredValueRequest
: O corpo da solicitação para a solicitação de recarga deve incluir:-
SaleData.SaleTransactionID.TransactionID
: Sua referência exclusiva para esta solicitação. -
SaleData.SaleTransactionID.TimeStamp
: Data e hora da solicitação, no formato UTC. -
StoredValueData.StoredValueTransactionType
: Load -
StoredValueData.StoredValueAccountID
: Os detalhes do cartão vale presente:StoredValueAccountType
: GiftCardStoredValueProvider
: O emissor do cartão vale presente: givex, svs, ou valuelinkIdentificationType
: PAN-
EntryMode
,StoredValueID
eExpiryDate
: Esses parâmetros dependem do metodo de leitura do cartão que você está usando.Leitura do cartão Parâmetros Scan EntryMode
: ScannedStoredValueID
: Número do cartão vale presente.ExpiryDate
: Data de validade do cartão vale presente.
Swipe or MKE EntryMode
: MagStripeStoredValueID
: xxxxxxxxxxxxxxxxxxx.- Não inclua o
ExpiryDate
parâmetro.
-
StoredValueData.ItemAmount
: O valor do saldo que você está carregando no cartão vale presente. -
StoredValueData.Currency
: A moeda escolhida para o carregamento do cartão vale presente.
-
O exemplo abaixo mostra como você carregaria 15.00 GBP em um cartão vale presente que já teve suas informações digitalizadas.
Para obter mais informações sobre a estrutura de solicitação da API de terminais, consulte os fundamentos da API de terminais.
{ "SaleToPOIRequest":{ "MessageHeader":{ "ProtocolVersion":"3.0", "MessageClass":"Service", "MessageCategory":"StoredValue", "MessageType":"Request", "ServiceID":"9265", "SaleID":"POSSystemID12345", "POIID":"V400m-324688179" }, "StoredValueRequest":{ "SaleData":{ "SaleTransactionID":{ "TransactionID":"44739", "TimeStamp":"2019-03-26T09:31:34+00:00" }, "SaleToAcquirerData":"ssc=1111" }, "StoredValueData":[ { "StoredValueTransactionType":"Load", "StoredValueAccountID":{ "StoredValueAccountType":"GiftCard", "StoredValueProvider":"svs", "IdentificationType":"PAN", "EntryMode":[ "Scanned" ], "StoredValueID":"6006491260550218066", "ExpiryDate":"1122" }, "ItemAmount":15.00, "Currency":"GBP" } ] } } }
String serviceID = "YOUR_UNIQUE_ATTEMPT_ID"; String saleID = "YOUR_CASH_REGISTER_ID"; String POIID = "YOUR_TERMINAL_ID"; String transactionID = "YOUR_UNIQUE_TRANSACTION_ID"; SaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest(); MessageHeader messageHeader = new MessageHeader(); messageHeader.setProtocolVersion("3.0"); messageHeader.setMessageClass( MessageClassType.SERVICE ); messageHeader.setMessageCategory( MessageCategoryType.STORED_VALUE ); messageHeader.setMessageType( MessageType.REQUEST ); messageHeader.setServiceID(serviceID); messageHeader.setSaleID(saleID); messageHeader.setPOIID(POIID); saleToPOIRequest.setMessageHeader(messageHeader); StoredValueRequest storedValueRequest = new StoredValueRequest(); SaleData saleData = new SaleData(); TransactionIdentification saleTransactionID = new TransactionIdentification(); saleTransactionID.setTransactionID(transactionID); saleTransactionID.setTimeStamp(DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar())); saleData.setSaleTransactionID(saleTransactionID); storedValueRequest.setSaleData(saleData); StoredValueData storedValueData = new StoredValueData(); storedValueData.setStoredValueTransactionType( StoredValueTransactionType.LOAD ); StoredValueAccountID storedValueAccountID = new StoredValueAccountID(); storedValueAccountID.setStoredValueAccountType( StoredValueAccountType.GIFT_CARD ); storedValueAccountID.setStoredValueProvider("svs"); storedValueAccountID.setIdentificationType( IdentificationType.PAN ); storedValueAccountID.getEntryMode().add( EntryModeType.SCANNED ); storedValueAccountID.setStoredValueID("6006491260550218066"); storedValueAccountID.setExpiryDate("1122"); storedValueData.setStoredValueAccountID(storedValueAccountID); storedValueData.setItemAmount( BigDecimal.valueOf(10) ); storedValueData.setCurrency("GBP"); storedValueRequest.setStoredValueData(storedValueData); saleToPOIRequest.setStoredValueRequest(storedValueRequest); terminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);
-
A solicitação para carregar um saldo no cartão vale presente é enviada à plataforma de pagamentos da Adyen para processamento.
Etapa 2: receber o resultado do carregamento
Depois de processada, sua integração receberá um resultado indicando se o saldo foi carregado no cartão vale presente. Este é fornecido em uma resposta de API síncrona, a menos que sua integração use comunicações em nuvem assíncronas.
Se sua integração usar comunicações em nuvem assíncronas, você receberá o resultado em uma notificação de exibição TENDER_FINAL
Se os fundos foram carregados com sucesso no cartão vale presente:
-
Você recebe uma resposta que contém um objeto
StoredValueResponse
. Isso inclui:-
POIData.POITransactionID.TransactionID
: Identificador de transação para os fundos que estão sendo carregados no cartão vale presente. -
StoredValueResult
:StoredValueTransactionType
: Load-
ItemAmount
andCurrency
: valor atual e moeda associadas ao cartão.
-
PaymentResponse.Response.Result
: Success
O exemplo abaixo indica que 15.00 GBP foram carregados com sucesso no cartão vale presente.
Para obter mais informações sobre a estrutura de solicitação da API de terminais, consulte os fundamentos da API de terminais.
{ "SaleToPOIResponse":{ "StoredValueResponse":{ "POIData":{ "POITransactionID":{ "TimeStamp":"2019-03-26T09:31:29.000Z", "TransactionID":"oLkO001522056689002.9815220566972551" } }, ... "StoredValueResult":[ { "StoredValueTransactionType":"Load", "ItemAmount":15.00, "Currency":"GBP" } ], "Response":{ "Result":"Success" } }, "MessageHeader":{ "ProtocolVersion":"3.0", "SaleID":"POSSystemID12345", "MessageClass":"Service", "MessageCategory":"StoredValue", "ServiceID":"9265", "POIID":"V400m-324688179", "MessageType":"Response" } } }
-