Credit card order and payment information being added directly to the objects:
// Assigned pbtoken to the merchant account $PB.setMerchant("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); $PB.setCard({ "cc_prevsaved": "", "cc_holder": "joao da silva", "cc_number": "4984123412341234", "cc_expiration": "12/29", "cc_cvv": "123", "wallet_type": null, "wallet_payload": null, "soft_descriptor": "TEST", "cc_save": 0, "cc_auth": 0 }); $PB.setPayment({ "payment_method": "C", "bol_expiration": null, "pec_expiration": null, "cc_installments": 1, "url_return": null }); $PB.setCustomer({ "customer_name": "José da Silva", "customer_taxid": "91051605962", "customer_email": "josedasilva@myemail.com.br", "customer_phone": "11 3328.9999", "address_street": "Av.Paulista, 100", "address_zip": "01311100", "address_city": "São Paulo", "address_state": "SP" }); $PB.setOrder({ "order": "order_123", "product_name": "Product Test (1 license)", "amount_brl": 39.50, "param_url": "customer_id=12345%26newsletter=yes" }); var funcRetSuccessOrder = function(ret){ console.log("Order submitted successfully", ret); switch(ret.order_status){ case 'PC': alert("Payment authorized"); // Action when payment is authorized break; case 'PF': case 'PR': alert("Payment not authorized (error " + ret.error_code + ")"); // Action when payment is not authorized break; default: alert("Unexpected status"); // Action when there's an unexpected status in the callback break; } } var funcRetErrorOrder = function(ret){ console.error("Error submitting order", ret); // Action when there's an unexpected response in the callback alert("Error submitting order"); } try{ $PB.doAddOrder(funcRetSuccessOrder, funcRetErrorOrder); }catch(e){ if(typeof e.message != "undefined"){ alert(e.message.msg); // Action for an exception with no message in the response }else{ console.error(e); alert("Undefined error"); // Action for an exception when calling doAddOrder } }
Credit card order and payment information being automatically collected from HTML inputs with specific attribute names:
<!Doctype html> <html> <head> <script src="https://service.pagbrasil.com/js/pagbrasil.js"> </script> </head> <body> <div class="container"> <br><br> <form method="POST"> <input type="hidden" name="token" id="token" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" PB_pbtoken> <input type="hidden" name="order" id="order" value="order_123" PB_order> <input type="hidden" name="soft_descriptor" id="soft_descriptor" value="TEST" PB_soft_descriptor> <input type="hidden" name="payment_method" id="payment_method" value="C" PB_payment_method> <input type="hidden" name="product_name" id="product_name" value="Product Test (1 license)" PB_product_name> <input type="hidden" name="amount_brl" id="amount_brl" value="39.50" PB_amount_brl> <input type="hidden" name="param_url" id="param_url" value="customer_id=12345%26newsletter=yes" PB_param_url> <div> <label for="cc_holder">cc_holder</label> <input type="text" name="cc_holder" id="cc_holder" PB_cc_holder> </div> <div> <label for="cc_number">cc_number</label> <input type="text" name="cc_number" id="cc_number" PB_cc_number> </div> <div> <label for="cc_expiration">cc_expiration</label> <input type="text" name="cc_expiration" id="cc_expiration" PB_cc_expiration> </div> <div> <label for="cc_cvv">cc_cvv</label> <input type="text" name="cc_cvv" id="cc_cvv" PB_cc_cvv> </div> <div> <label for="cc_installments">cc_installments</label> <input type="text" name="cc_installments" id="cc_installments" PB_cc_installments> </div> <div> <label for="customer_name">customer_name</label> <input type="text" name="customer_name" id="customer_name" PB_customer_name> </div> <div> <label for="customer_taxid">customer_taxid</label> <input type="text" name="customer_taxid" id="customer_taxid" PB_customer_taxid> </div> <div> <label for="customer_email">customer_email</label> <input type="text" name="customer_email" id="customer_email" PB_customer_email> </div> <div> <label for="customer_phone">customer_phone</label> <input type="text" name="customer_phone" id="customer_phone" PB_customer_phone> </div> <div> <label for="address_street">address_street</label> <input type="text" name="address_street" id="address_street" PB_address_street> </div> <div> <label for="address_zip">address_zip</label> <input type="text" name="address_zip" id="address_zip" PB_address_zip> </div> <div> <label for="address_city">address_city</label> <input type="text" name="address_city" id="address_city" PB_address_city> </div> <div> <label for="address_state">address_state</label> <select name="address_state" id="address_state" PB_address_state> <option value="AC">Acre</option> <option value="AL">Alagoas</option> <option value="AP">Amapá</option> <option value="AM">Amazonas</option> <option value="BA">Bahia</option> <option value="CE">Ceará</option> <option value="DF">Distrito Federal</option> <option value="ES">Espírito Santo</option> <option value="GO">Goias</option> <option value="MA">Maranhão</option> <option value="MT">Mato Grosso</option> <option value="MS">Mato Grosso do Sul</option> <option value="MG">Minas Gerais</option> <option value="PA">Pará</option> <option value="PB">Paraíba</option> <option value="PR">Paraná</option> <option value="PE">Pernambuco</option> <option value="PI">Piauí</option> <option value="RJ">Rio de Janeiro</option> <option value="RN">Rio Grande do Norte</option> <option value="RS">Rio Grande do Sul</option> <option value="RO">Rondônia</option> <option value="RR">Roraima</option> <option value="SC">Santa Catarina</option> <option value="SP">São Paulo</option> <option value="SE">Sergipe</option> <option value="TO">Tocantins</option> </select> </div> <div> <div class="offset-sm-2 col-sm-10"> <button type="submit" class="btn btn-primary" onclick="submitinfo(event)">POST</button> </div> </div> </form> </div> <script language="javascript"> function submitinfo(e){ e.preventDefault(); var funcRetSuccessOrder = function(ret){ console.log("Order submitted successfully", ret); switch(ret.order_status){ case 'PC': alert("Payment authorized"); // Action when payment is authorized break; case 'PF': case 'PR': alert("Payment not authorized (error " + ret.error_code + ")"); // Action when payment is not authorized break; default: alert("Unexpected status"); // Action when there's an unexpected status in the callback break; } } var funcRetErrorOrder = function(ret){ console.error("Error submitting order", ret); // Action when there's an unexpected response in the callback alert("Error submitting order"); } try{ $PB.doAddOrder(funcRetSuccessOrder, funcRetErrorOrder); }catch(e){ if(typeof e.message != "undefined"){ alert(e.message.msg); // Action for an exception with no message in the response }else{ console.error(e); alert("Undefined error"); // Action for an exception when calling doAddOrder } } return true; } </script> </body> </html>
Débito Flash™ order and payment information being added directly to the objects:
$PB.setOrder({ "order": "order_123", "product_name": "Product Test", "amount_brl": 1.99, "param_url": "customer_id=12345%26newsletter=yes" }); // Assigned pbtoken to the merchant account $PB.setMerchant({ "pbtoken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "authentication": "3DS2", "authentication_onfailure": false }); $PB.setPayment({ "payment_method": "D", "cc_installments": 1 }); $PB.setCustomer({ "customer_name": "José da Silva", "customer_taxid": "91051605962", "customer_email": "josedasilva@myemail.com.br", "customer_phone": "11 3328.9999", "address_street": "Av.Paulista, 100", "address_zip": "01311100", "address_city": "São Paulo", "address_state": "SP" }); $PB.setCard({ "cc_holder": "José da Silva", "cc_number": "4984123412341234", "cc_expiration": "12/29", "cc_cvv": "123", }); var callbackSuccess = function(){ console.log("Transaction authenticated"); // When integrating using the API, you need to extract the authentication details to get the corresponding API parameters to authorize the transaction in the back-end var ret = $PB.getAuth3DS(); /* // Returning values and their corresponding API parameters auth3ds_type = ret.type auth3ds_cavv = ret.cavv auth3ds_version = ret.version auth3ds_eci = ret.eci auth3ds_reference_id = ret.reference_id auth3ds_xid = ret.xid ret.token and ret.method are not used (PagBrasil.JS internal use only) */ } var callbackFail = function(){ console.log("Transaction not authenticated"); } $PB.setCallbackAuthenticateSuccess(callbackSuccess); $PB.setCallbackAuthenticateFail(callbackFail); function Authenticate(){ try{ $PB.doAuthenticate(); }catch(e){ console.error(e); } }