Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
; Use this online tool to generate code from sample JSON: Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "paymentGatewayId": "{{defaultPaymentGatewayId}}",
; "cardPaymentMethod": {
; "cardHolderName": "{{_userFullName}}",
; "expiryMonth": "11",
; "expiryYear": "2222",
; "cardNumber": "4111111111111111",
; "cvv": "111",
; "cardCategory": "CreditCard",
; "cardType": "VISA",
; "startYear": "2013",
; "startMonth": "7",
; "nickName": "Default Payment Method",
; "accountId": "{{defaultAccountId}}"
; },
; "phone": "4155551212",
; "email": "{{_userEmail}}",
; "additionalData": {
; "key1": "value1",
; "key2": "value2"
; }
; }
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"paymentGatewayId","{{defaultPaymentGatewayId}}")
CkJsonObject::ckUpdateString(json,"cardPaymentMethod.cardHolderName","{{_userFullName}}")
CkJsonObject::ckUpdateString(json,"cardPaymentMethod.expiryMonth","11")
CkJsonObject::ckUpdateString(json,"cardPaymentMethod.expiryYear","2222")
CkJsonObject::ckUpdateString(json,"cardPaymentMethod.cardNumber","4111111111111111")
CkJsonObject::ckUpdateString(json,"cardPaymentMethod.cvv","111")
CkJsonObject::ckUpdateString(json,"cardPaymentMethod.cardCategory","CreditCard")
CkJsonObject::ckUpdateString(json,"cardPaymentMethod.cardType","VISA")
CkJsonObject::ckUpdateString(json,"cardPaymentMethod.startYear","2013")
CkJsonObject::ckUpdateString(json,"cardPaymentMethod.startMonth","7")
CkJsonObject::ckUpdateString(json,"cardPaymentMethod.nickName","Default Payment Method")
CkJsonObject::ckUpdateString(json,"cardPaymentMethod.accountId","{{defaultAccountId}}")
CkJsonObject::ckUpdateString(json,"phone","4155551212")
CkJsonObject::ckUpdateString(json,"email","{{_userEmail}}")
CkJsonObject::ckUpdateString(json,"additionalData.key1","value1")
CkJsonObject::ckUpdateString(json,"additionalData.key2","value2")
; Adds the "Authorization: Bearer <access_token>" header.
CkHttp::setCkAuthToken(http, "<access_token>")
resp.i = CkHttp::ckPostJson3(http,"https://domain.com/services/data/v{{version}}/commerce/payments/payment-methods","application/json",json)
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndIf
Debug Str(CkHttpResponse::ckStatusCode(resp))
Debug CkHttpResponse::ckBodyStr(resp)
CkHttpResponse::ckDispose(resp)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure
Curl Command
curl -X POST
-H "Authorization: Bearer <access_token>"
-d '{
"paymentGatewayId" : "{{defaultPaymentGatewayId}}",
"cardPaymentMethod": {
"cardHolderName": "{{_userFullName}}",
"expiryMonth": "11",
"expiryYear": "2222",
"cardNumber": "4111111111111111",
"cvv": "111",
"cardCategory": "CreditCard",
"cardType": "VISA",
"startYear": "2013",
"startMonth": "7",
"nickName": "Default Payment Method",
"accountId": "{{defaultAccountId}}"
},
"phone": "4155551212",
"email": "{{_userEmail}}",
"additionalData":{
"key1":"value1",
"key2":"value2"
}
}'
https://domain.com/services/data/v{{version}}/commerce/payments/payment-methods
Postman Collection Item JSON
{
"name": "Create Payment Method",
"request": {
"method": "POST",
"header": [
],
"body": {
"mode": "raw",
"raw": "{\n \"paymentGatewayId\" : \"{{defaultPaymentGatewayId}}\",\n \"cardPaymentMethod\": {\n \"cardHolderName\": \"{{_userFullName}}\",\n \"expiryMonth\": \"11\",\n \"expiryYear\": \"2222\",\n \"cardNumber\": \"4111111111111111\",\n \"cvv\": \"111\", \n \"cardCategory\": \"CreditCard\",\n \"cardType\": \"VISA\",\n \"startYear\": \"2013\",\n \"startMonth\": \"7\",\n \"nickName\": \"Default Payment Method\",\n \"accountId\": \"{{defaultAccountId}}\"\n },\n \"phone\": \"4155551212\",\n \"email\": \"{{_userEmail}}\",\n \"additionalData\":{\n \"key1\":\"value1\",\n \"key2\":\"value2\"\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/commerce/payments/payment-methods",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"commerce",
"payments",
"payment-methods"
]
}
},
"response": [
]
}