/sdk-asp

MercadoPago ASP SDK

Primary LanguageASP

MercadoPago SDK module for Payments integration

Usage:

  1. Copy this files below, to your project desired folder:
<!--#include file="lib\mercadopago.asp"-->
<!--#include file="lib\JSON_2.0.4.asp"-->
<!--#include file="lib\json2.asp"-->
<%
	Dim mp
	
	Set mp = new Mercadopago
	
	mp.construct "CLIENT_ID", "CLIENT_SECRET"
%>

Get your Access Token:

<%
	Dim accessToken

	accessToken = mp.get_access_token()

	Response.write (accessToken)
%>

Using MercadoPago Checkout

Get an existent Checkout preference:

<%
	Dim preferenceResult

	preferenceResult =  mp.get_preference(PREFERENCE_ID)

	Response.write (preferenceResult)
%>

Create a Checkout preference:

<%
	Dim o
	Dim var_json	
	
	Set o = jsObject()
	Set o("items") = jsArray()
	Set o("items")(Null) = jsObject()

		o("items")(Null)("id") = "Product ID"
		o("items")(Null)("title") = "Product Name"
		o("items")(Null)("description") = "Description"
		o("items")(Null)("quantity") = 1
		o("items")(Null)("unit_price") = 50.5
		o("items")(Null)("currency_id") = "BRL"
		o("items")(Null)("picture_url") = ""
		o("external_reference")="Your_control_id"

	Set o("payer") = jsObject()
		o("payer")("name") = "payer-name"
		o("payer")("surname") = "payer-surname"
		o("payer")("email") = "payer@email.com"
	
	Set o("back_urls") = jsObject()
		o("back_urls")("success") = ""
		o("back_urls")("failure") = ""
		o("back_urls")("pending") = ""
	
	Set o("payment_methods") = jsObject()
	Set	o("payment_methods")("excluded_payment_methods") = jsArray()
	Set	o("payment_methods")("excluded_payment_methods")(Null) = jsObject()
		
		o("payment_methods")("excluded_payment_methods")(Null)("id")="amex"
		
	Set	o("payment_methods")("excluded_payment_types") = jsArray()
	Set	o("payment_methods")("excluded_payment_types")(Null) = jsObject()
		
		o("payment_methods")("excluded_payment_types")(Null)("id")="ticket"
		o("payment_methods")("installments") = 12
	
    var_json =  o.jsString
	
	Dim mp
	Dim response
	Set mp = new Mercadopago
	
	mp.construct "CLIENT_ID", "CLIENT_SECRET"	
	response=mp.create_preference(var_json)
	
	'Decode JSON - Create Preference	
	Dim objJSON,preferenceResult 
	Set objJSON = JSON
	Set preferenceResult = objJSON.parse(join(array(response)))
	
	' Preference with SANDBOX - > preferenceResult.sandbox_init_point
	' Preference -> preferenceResult.init_point
		
%>

Others items to use

Update an existent Checkout preference:

<%
	Dim o
	Dim var_json	
	
	Set o = jsObject()
	Set o("items") = jsArray()
	Set o("items")(Null) = jsObject()

		o("items")(Null)("title") = "Test Modified"
		o("items")(Null)("quantity") = 1
		o("items")(Null)("unit_price") = 80.5
		o("items")(Null)("currency_id") = "BRL"
		
	var_json =  o.jsString
	
	Dim preferenceResult
	
	preferenceResult=mp.update_preference(PREFERENCE_ID,var_json)
	
	Response.write (preferenceResult)
%>	

Using MercadoPago Payment

###Searching:

<%
	Dim payment_info
	Dim strSearch,site_id,external_reference

	id = "00000"
	external_reference = "Reference_1234"
	
	strSearch = "id="& site_id & "&external_reference=" & external_reference 

	payment_info = mp.search_payment(strSearch,null,null)
	
	Response.write( "<br>" & payment_info & "<br><br>")
%>

More search examples

Receiving IPN notification:

<!--#include file="lib\mercadopago.asp"-->
<!--#include file="lib\json2.asp"-->
<%

	Dim payment_info
	Dim id
	
	Dim mp
	Set mp = new Mercadopago
	
	mp.construct "CLIENT_ID", "CLIENT_SECRET"
	
	id = Request.Querystring("id")
   ' Get the payment reported by the IPN. Glossary of attributes response in https://developers.mercadopago.com
	
	if id <>  "" then	
	
		payment_info = mp.get_payment_info(id)
	
		Response.write( "<br>" & payment_info & "<br><br>")
		
		Dim objJSON,retJSON 
	
		Set objJSON = JSON
		Set retJSON = objJSON.parse(join(array(payment_info)))
	
		Response.write( " **** DECODE JSON **** <BR><BR> ")
		Response.write( " - id :" & retJSON.id  & "<br>"  )
		Response.write( " - external_reference :" & retJSON.external_reference  & "<br>" )
		Response.write( " - status : " & retJSON.status  & "<br>"  )
		Response.write( " - payment_type : " & retJSON.payment_type_id  & "<br>"  )
	
	else
		
		Response.write( " **** ID = " & id & " Null **** <BR><BR> ")
	
	end if
%>

Cancel (only for pending payments):

<%
	Dim result

	result =  mp.cancel_payment(Request.Querystring("id"))

	Response.write (result)
%>

Refund (only for accredited payments):

<%
	Dim result

	result =  mp.refund_payment(Request.Querystring("id"))

	Response.write (result)
%>

About Cancel & Refund

Customized checkout

Configure your credentials

<!--#include file="lib\mercadopago.asp"-->
<!--#include file="lib\json2.asp"-->
<%
	
	Dim mp
	Set mp = new Mercadopago
	
	mp.acctoken_LL "Access_token_Longlive"

%>

Create payment

<%

mp.doPost("/v1/payments", payment_data)

%>

Create customer

<%

mp.doPost("/v1/customers", '{"email" => "email@test.com"}')

%>

Get customer

<%

mp.doGet("/v1/customers/CUSTOMER_ID")

%>

Generic methods

You can access any resource from the MercadoPago API (https://api.mercadopago.com) using the generic methods:

<%

' Get a resource, with optional URL params. Also you can disable authentication for public APIs
mp.doGet("/resource/uri?params=123")

' Create a resource with "data" and optional URL params.
mp.doPost("/resource/uri", data)

' Update a resource with "data" and optional URL params.
mp.doPut("/resource/uri?params=123", data)

' Delete a resource with optional URL params.
mp.doDelete("/resource/uri?params=123")

%>