Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

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);
	}
}

  • No labels