# Credit Card

How to use CreditCard to submit a payin in Brazil.

# Post

https://gateway-test.transfersmile.com/trade/pay

# Payin by CreditCard

This endpoint allows you to submit a payin by CreditCard in Brazil.

# Parameters

Content-Type* string application/json; chartset=UTF-8
Authorization* string Basic Base($app_id:$security_key)

# Body

app_id* string created app's id at dashboard
- Max. 32 chars -
timestamp* string yyyy-MM-dd HH:mm:ss
- Max. 19 chars -
out_trade_no* string ID given by the merchant in their system
- Max. 64 chars -
method* string Fixed value: CreditCard
order_currency* string Fixed value: BRL
order_amount* string payment amount
- 0.5~50000 BRL -
subject* string payment reason or item title
- Max. 128 chars -
content* string payment reason detail or item detail. This will be shown on the bank bill. - Max. 255 chars -
notify_url* string Where transfersmile will send notification to
return_url string Redirect to Merchant's url when user finished checkout
buyer_id* string merchant user's id
user_ip* string user's IP address
token* string use transfersmile Javascript to get token
fingerprint* string use transfersmile Javascript to get fingerprint
issuer* string issuer of CreditCard
installments string installments for CreditCard
customer.name* string User's name
customer.phone* string User's phone
customer.email* string User's email
customer.identify.number* string User's identification number;
- 11 digits if CPF or 14 digits if CNPJ -
customer.identify.type* string User's identification type;
- CPF or CNPJ -
address.zip_code* string zip code
address.state string state
- Required if zip_code not provide -
address.city string city
- Required if zip_code not provide -
address.street_number string street number
- Required if zip_code not provide -
address.street string street
- Required if zip_code not provide -
website_url string merchant website URL
- Max. 128 chars -
threeds.sli* string Security level indicator
threeds.version* string Version used in the transaction
threeds.caav* string Authentication Value (CAVV / AAV for 3DS1) recieved from authorization/Authentication response
threeds.eci* string ECI value recieved from authorization/authentication response
threeds.server_trans_id* string Universally unique transaction identifier assigned by the 3DS Server to identify a single transaction generated by the Init 3DS API and used to link the init call to the order call
threeds.xid* string A unique Visa or Amex transaction id
threeds.cvv string CVV result
threeds.avs string Procesor response code for AVS. Only required in cases where all AVS results (zipcode, street address, and name when available) arrive as one string
threeds.status string 3DSecure - Status text received from 3D secure vendor
threeds.status_code* string 3DSecure - Status code recieved from authorization/authentication response, (Possible values: U, N, Y, A, C, D, R, I)
threeds.status_reason_code string String EMVCO Indicator of the reason for the 3DS status code provided during the authentication, (Possible values: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16)
threeds.liability_shift string liability shift - indicate whether the chargeback liability shifted to the card issuer

# Responses

200 submit successfully
{
    "code": "10000",
    "msg": "Success",
    "trade_no": "2022010110293900084",
    "out_trade_no": "202201010354003",
    "web_url": "",
    "trade_status": "PROCESSING"
}
400 duplicate out_trade_no
{
    "code": "40002",
    "msg": "Business Failed",
    "sub_code": "duplicate-out_trade_no",
    "sub_msg": "out_trade_no is duplicate"
}

# Example

curl --location --request POST 'https://gateway-test.transfersmile.com/trade/pay' \
--header 'Authorization: Basic MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ==' \
--header 'Content-Type: application/json' \
--data-raw '{
    * "app_id": "162************38",
    * "out_trade_no": "202201010354003",
    * "method": "CreditCard",
    * "order_amount": "12.01",
    * "order_currency": "BRL",
    * "subject": "trade pay test",
    * "content": "trade pay test conent",
    * "notify_url": "http://merchant/callback/success",
      "return_url": "https://www.merchant.com",
    * "buyer_id": "buyer_0101_0001",
    * "user_ip":"127.0.0.1",
    * "token":"${token}",
    * "fingerprint":"${fingerprint}",
    * "issuer":"visa",
      "installments":"1",
    * "timestamp": "2022-01-01 03:54:01",
      "timeout_express":"1c",
    * "customer" : {
    *     "identify": {
    *         "type": "CPF",
    *         "number": "50284414727"
          },
    *     "name": "Test User Name",
    *     "email": "[email protected]",
    *     "phone": "75991435892"
      },
    * "address" : {
    *     "zip_code": "38082365"
      },
    * "threeds": {
    *     "sli": "",
    *     "version": "",
    *     "cavv": "",
    *     "eci": "",
    *     "server_trans_id": "",
    *     "xid": "",
          "cvv": "",
          "avs": "",
          "status": "",
    *     "status_code": "",
          "status_reason_code": "",
          "liability_shift": true
      }
      }'

TIP

Note: 162********38 is transfersmile's test app id for sandbox, and MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ== is authorization token associated with the test app id.

WARNING

Please use your own app_id and generate your own authorization token when testing.