Project

General

Profile

Actions

개선(improvement) #1553

open

[VCC update] Update VCC Merchant country restrictions and Limit the number of transactions

Added by Joseph Vo 6 months ago. Updated 4 months ago.

Status:
진행(Doing)
Priority:
긴급(Emergency)
Assignee:
Start date:
09/17/2025
Due date:
11/03/2025 (about 4 months late)
% Done:

100%

Estimated time:
Part:
Build env.:

Description

Request :
1/ Merchant country restrictions: Please add the following Geography items to the Purchase Template.
Submitpurchaserequest API Call시 updated Purchase Template을 사용하시고,
You can find the ISO code of the country where you want to pay in the geography control (3-digit number).
Note: Virtual cards issued with versions prior to the purchase template update will continue to apply only the control values at the time of issuance. In order for the changes to be applied, each virtual card must be updated separately.

2/ Limit the number of transactions: Please enter Validity in the Purchase Template and the Maximum number of transactions allowed to be approved as 2 .
Maximum number of transactions refers to the number of approvals allowed for the VCN-based incoming transactions.
Declined or refunded transactions do not count towards the count.
Note that you can't control the number of declines .


Files

picture715-1.png (317 KB) picture715-1.png Joseph Vo, 09/15/2025 07:32 AM
picture802-3.png (146 KB) picture802-3.png Tom Dong, 09/19/2025 04:30 AM
picture066-2.png (93.3 KB) picture066-2.png Tom Dong, 10/14/2025 10:16 AM
picture984-1.png (109 KB) picture984-1.png ziniy Kang, 10/16/2025 05:33 AM
picture108-1.png (40.5 KB) picture108-1.png Tom Dong, 10/16/2025 07:10 AM
Actions #1

Updated by Joseph Vo 6 months ago

  • Assignee changed from calvin dev to Tom Dong
Actions #2

Updated by Tom Dong 6 months ago

  • Due date set to 09/17/2025
  • Start date set to 09/17/2025
Actions #3

Updated by Tom Dong 6 months ago

  • Due date changed from 09/17/2025 to 09/18/2025
Actions #4

Updated by Tom Dong 6 months ago

  • Status changed from 신규(New) to 진행(Doing)
Actions #5

Updated by Tom Dong 6 months ago

  • Due date changed from 09/18/2025 to 09/19/2025
Actions #6

Updated by Tom Dong 6 months ago

  • % Done changed from 0 to 20
Actions #7

Updated by Tom Dong 6 months ago

DEV TEST

VCC > CreatePurchaseRequest > ruleDetails

Actions #8

Updated by Tom Dong 6 months ago

  • Status changed from 진행(Doing) to 완료(Done)
  • % Done changed from 20 to 100
Actions #9

Updated by Tom Dong 6 months ago

  • Status changed from 완료(Done) to QA test
  • Assignee changed from Tom Dong to Tracy Tran

Chị test giúp em booking VCC trên STG thử coi có lỗi gì không nhé chị

Actions #10

Updated by Tom Dong 6 months ago

  • Assignee changed from Tracy Tran to ziniy Kang
Actions #11

Updated by Tracy Tran 6 months ago

  • Status changed from QA test to 피드백(Feedback)

QA could not check this case as we need support from hotel for real charging VCC and refund.

Actions #12

Updated by Tom Dong 5 months ago

Dear ziniy Kang,
Đây logs json lỗi khi tạo VCC, em hỏi bên mastercard có cần phải setup thêm ở phía ngân hàng không?
Nếu có, giống như hình bên dưới không có mục GeographyControl thì sau?

submitPurchaseRequest

{
    "submitPurchaseRequest": {
        "addenda": [
        ],
        "addendaDataExpected": "Y",
        "companyId": 591312,
        "dataSourceId": 4272,
        "description": "J25101310001H01",
        "rcndata": {
            "rcnAlias": "Credit-Citi",
            "rcnId": 50362
        },
        "supplierDetails": {
            "notifySupplier": true,
            "supplierEmails": "sm.jang@ohmyhotel.com;nhung.th@ohmyhotel.com",
            "supplierId": 550155
        },
        "templateDetails2": {
            "fullTemplateRuleDetails": {
                "ruleName": "Rule1",
                "ruleType": "A",
                "templateControl": [
                    {
                        "availableBalance": 0,
                        "cumulativeLimit": 73525.0,
                        "currencyCode": "410",
                        "currencyType": "M",
                        "endDate": "2025-12-20 14:00:00",
                        "maxTrans": 2,
                        "period": "C" 
                    },
                    {
                        "from": "2025-12-14 00:00:00",
                        "negate": false,
                        "strictPreAuthCheck": false,
                        "timeZone": "Asia/Seoul",
                        "to": "2025-12-20 00:00:00" 
                    },
                    {
                        "currencyCode": "410",
                        "currencyType": "M",
                        "maxAmount": 73525.0,
                        "minAmount": 73525.0,
                        "negate": false,
                        "strictPreAuthCheck": false
                    },
                    {
                        "countryCodes": {
                            "countryCode": [
                                "KOR" 
                            ]
                        },
                        "negate": false
                    }
                ]
            },
            "templateCustomField": {
                "templateCustomField": [
                    {
                        "customFieldName": "Purchase Type",
                        "customFieldValue": "'BOOKING'" 
                    },
                    {
                        "customFieldName": "Reservation No",
                        "customFieldValue": "J25101310001H01" 
                    },
                    {
                        "customFieldName": "Reservation Status",
                        "customFieldValue": "Confirmed" 
                    },
                    {
                        "customFieldName": "Check in date",
                        "customFieldValue": "2025-12-14" 
                    },
                    {
                        "customFieldName": "Customer name",
                        "customFieldValue": "BOOKING TEST" 
                    },
                    {
                        "customFieldName": "Num of Nights",
                        "customFieldValue": "1" 
                    }
                ]
            },
            "templateId": 75190
        },
        "validFor": 12
    }
}

response error

{
    "addenda": [
    ],
    "cardImage": null,
    "errorMessage": [
        {
            "errorCause": null,
            "errorCode": "VSPRICT",
            "errorDescription": "An invalid control type exists in the request  type:GE",
            "errorDetails": null
        }
    ],
    "purchaseRequestId": 0,
    "purchaseRequestTemplateDetails": null,
    "requestStatus": null,
    "supplierDetails": null,
    "vcnInformation": null
}
Actions #13

Updated by ziniy Kang 5 months ago

Actions #14

Updated by Tom Dong 5 months ago

Dear ziniy Kang,
Anh cần hỏi thêm: Ở trang Citibank mếu bật thêm GEO Control trên thì Template cũ trên PROD có chạy được hay không?
**Lưu ý: teamplate trên PROD không có GE Control

submitPurchaseRequest on PROD

{
    "submitPurchaseRequest": {
        "addenda": [
        ],
        "addendaDataExpected": "Y",
        "companyId": 591312,
        "dataSourceId": 4272,
        "description": "K25101611314H01",
        "rcndata": {
            "rcnAlias": "Credit-Citi",
            "rcnId": 50362
        },
        "supplierDetails": {
            "notifySupplier": true,
            "supplierEmails": "sm.jang@ohmyhotel.com;nhung.th@ohmyhotel.com",
            "supplierId": 388121
        },
        "templateDetails2": {
            "fullTemplateRuleDetails": {
                "ruleName": "Rule1",
                "ruleType": "A",
                "templateControl": [
                    {
                        "availableBalance": 0,
                        "cumulativeLimit": 47500.0,
                        "currencyCode": "410",
                        "currencyType": "M",
                        "endDate": "2025-11-29 14:00:00",
                        "maxTrans": 1,
                        "period": "C" 
                    },
                    {
                        "from": "2025-11-23 00:00:00",
                        "negate": false,
                        "strictPreAuthCheck": false,
                        "timeZone": "Asia/Seoul",
                        "to": "2025-11-29 00:00:00" 
                    },
                    {
                        "currencyCode": "410",
                        "currencyType": "M",
                        "maxAmount": 47500.0,
                        "minAmount": 47500.0,
                        "negate": false,
                        "strictPreAuthCheck": false
                    }
                ]
            },
            "templateCustomField": {
                "templateCustomField": [
                    {
                        "customFieldName": "Purchase Type",
                        "customFieldValue": "'BOOKING'" 
                    },
                    {
                        "customFieldName": "Reservation No",
                        "customFieldValue": "K25101611314H01" 
                    },
                    {
                        "customFieldName": "Reservation Status",
                        "customFieldValue": "Confirmed" 
                    },
                    {
                        "customFieldName": "Check in date",
                        "customFieldValue": "2025-11-23" 
                    },
                    {
                        "customFieldName": "Customer name",
                        "customFieldValue": "juhee nam" 
                    },
                    {
                        "customFieldName": "Num of Nights",
                        "customFieldValue": "1" 
                    }
                ]
            },
            "templateId": 75190
        },
        "validFor": 12
    }
}
Actions #15

Updated by ziniy Kang 4 months ago

  • Status changed from 피드백(Feedback) to 진행(Doing)
  • Priority changed from 높음(High) to 긴급(Emergency)
Actions #16

Updated by ziniy Kang 4 months ago

  • Due date changed from 09/19/2025 to 09/22/2025
Actions #17

Updated by ziniy Kang 4 months ago

  • Due date changed from 09/22/2025 to 11/03/2025
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 50 MB)