# 交易成立/更新 [詳業務提供之文件](https://developers.aftee.tw/v1/reference-cn/) 交易成立/更新 均使用 2-3-1-1. 交易更新API ## 交易成立 | 項目(表示名稱) | 項目(實際名稱) | 型別 | 必填 | 格式確認 | 範例 | | ------------- | ---------------- | --- | ---- | ---------------------------------------- | -------------------------------------- | | 付款認證token | authentication_token | String | O | "tk_" + URL safe的24位數字串 ※不含空白鍵 | tk_a2c4e6c8zPl2E+#5@=89s2q4 | | 消費金額 | amount | Integer | O | 1以上不超過7位數的整數(左側不須填入0) | 2000 | | 店舖訂單編號 | shop_transaction_no | String | O | 半形英文或數字(100字以内)※不含空白鍵 | shop-tran-00000000001 | | 商家會員ID | user_no | String | O | 半形英文或數字(255字以内)※不含空白鍵 | user-00000001 | | 交易選項 | transaction_options | Array | O | 0以上1~2位數的整数(左側不須填入0) | ※ 以Raingo的使用情境需固定帶[2,4] | | 店舖交易備註 | description_trans | String | - | 255字以内文字 | 使用點數 | | 消費者 | customer | Hash | O | | ※項目下欄位詳細說明請參考正式文件 | | 商品明細 | items | Hash | O | | ※註一 項目下欄位詳細說明請參考正式文件 | ※註一 若有優惠券,請在商品明細新增一個hash,以負的金額表示 ※文件中的dest_customers以Raingo的交易情境不用填寫 範例 ``` { "authentication_token": "tk_gzQAiT4cxS8MwXySSP-XouQM", "amount": 45, "user_no": "10023456", "sales_settled": false, "customer": { "email": "aftee001@gmail.com", "phone_number": "0937511716", "customer_name": "RaingoUSER", "address": "RaingoUSER" }, "description_trans": "RaingoUSER", "items": [ { "item_count": 1, "item_name": "Raingo_FEE", "item_price": 45, "shop_item_id": "AFTEE4" }, { "item_count": 1, "item_name": "Raingo_DISCOUNT", "item_price": -5, "shop_item_id": "AFTEE5" } ], "shop_transaction_no": "20230823000004", "transaction_options": [2,4] } ``` response 範例 ``` { "id": "tr_LaIR_-ruKQFp0uZt", "object": "transaction", "livemode": false, "authentication_token": "tk_gzQAiT4cxS8MwXySSP-XouQM", "aftee_transaction_no": "aft00377-00001-230823000133", "np_transaction_no": "aft00377-00001-230823000133", "shop_transaction_no": "20230823000008", "amount": 40, "japanese_yen_amount": null, "authorization_result": 1, "authorization_result_ng_reason": null, "amount_refund_total": 0, "registration_datetime": "2023-08-23 16:18:10", "sales_settled_datetime": null, "transaction_options": [ 2, 4 ], "related_transaction": null, "updated_transactions": null, "description": "RaingoUSER", "customer": { "object": "customer", "customer_name": "RaingoUSER", "customer_family_name": null, "customer_given_name": null, "phone_number": "0937511716", "birthday": null, "sex_division": null, "company_name": null, "department": null, "zip_code": null, "address": "RaingoUSER", "email": "aftee001@gmail.com", "total_purchase_count": null, "total_purchase_amount": null, "user_no": "10023456", "information_code": null }, "dest_customers": [], "items": [ { "object": "item", "shop_item_id": "AFTEE4", "item_name": "Raingo_FEE", "item_price": 45, "item_count": 1, "item_url": null }, { "object": "item", "shop_item_id": "AFTEE5", "item_name": "Raingo_DISCOUNT", "item_price": -5, "item_count": 1, "item_url": null } ], "refunds": null ``` ## 交易更新 | 項目(表示名稱) | 項目(實際名稱) | 必填 | 格式確認 | 範例 | | ---------------- | -------------------- | ---- | ---------------------------------------- | ------------------------------------- | | 變更交易ID | updated_transactions | O | "tr_" + URL safe的16位數字串※不含空白鍵 | ※來自交易成立response的"id"欄位 tr_1b3D5g7$9A1X3y5z | | 付款認證token | authentication_token | O | "tk_" + URL safe的24位數字串 ※不含空白鍵 | tk_a2c4e6c8zPl2E+#5@=89s2q4 | | 消費金額 | amount | O | 1以上不超過7位數的整數(左側不須填入0) | 2000 | | 店舖訂單編號 | shop_transaction_no | O | 半形英文或數字(100字以内)※不含空白鍵 | shop-tran-00000000001 | | 商家會員ID | user_no | O | 半形英文或數字(255字以内)※不含空白鍵 | user-00000001 | | 店舖交易備註 | description_trans | - | 255字以内文字 | 使用點數 | | 消費者 | customer | O | | ※項目下欄位詳細說明請參考正式文件 | | 商品明細 | items | O | | ※註一 項目下欄位詳細說明請參考正式文件 | ※註一 商品明細要帶一樣的,僅變更金額 ※與成立交易相比,需加上「變更交易ID」,去掉交易選項 範例 ``` { "updated_transactions": "tr_LaIR_-ruKQFp0uZt", "authentication_token": "tk_gzQAiT4cxS8MwXySSP-XouQM", "amount": 80, "user_no": "10023456", "customer": { "email": "aftee001@gmail.com", "phone_number": "0937511716", "customer_name": "RaingoUSER", "address": "RaingoUSER" }, "description_trans": "RaingoUSER", "items": [ { "item_count": 1, "item_name": "Raingo_FEE", "item_price": 85, "shop_item_id": "AFTEE4" }, { "item_count": 1, "item_name": "Raingo_DISCOUNT", "item_price": -5, "shop_item_id": "AFTEE5" } ], "shop_transaction_no": "20230823000008" } ``` response 範例 ``` { "id": "tr_6nC701hJuY7eKxcn", "object": "transaction", "livemode": false, "authentication_token": "tk_gzQAiT4cxS8MwXySSP-XouQM", "aftee_transaction_no": "aft00377-00001-230823000166", "np_transaction_no": "aft00377-00001-230823000166", "shop_transaction_no": "20230823000008", "amount": 80, "japanese_yen_amount": null, "authorization_result": 1, "authorization_result_ng_reason": null, "amount_refund_total": 0, "registration_datetime": "2023-08-23 16:27:29", "sales_settled_datetime": null, "transaction_options": null, "related_transaction": null, "updated_transactions": [ "tr_LaIR_-ruKQFp0uZt" ], "description": "RaingoUSER", "customer": { "object": "customer", "customer_name": "RaingoUSER", "customer_family_name": null, "customer_given_name": null, "phone_number": "0937511716", "birthday": null, "sex_division": null, "company_name": null, "department": null, "zip_code": null, "address": "RaingoUSER", "email": "aftee001@gmail.com", "total_purchase_count": null, "total_purchase_amount": null, "user_no": "10023456", "information_code": null }, "dest_customers": [], "items": [ { "object": "item", "shop_item_id": "AFTEE4", "item_name": "Raingo_FEE", "item_price": 85, "item_count": 1, "item_url": null }, { "object": "item", "shop_item_id": "AFTEE5", "item_name": "Raingo_DISCOUNT", "item_price": -5, "item_count": 1, "item_url": null } ], "refunds": null } ``` ## Api範例 交易成立: ```shell > curl --location 'https://ct-api.np-pay.com/v1/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic aE9KX3FsSVVDd0MtTnBHd0JyNk5xUTo=' \ --data-raw '{ "authentication_token": "tk_m9yG3noT3e02Xkpht-2jtBif", "amount": 323, "user_no": "10023456", "shop_transaction_no": "test_001", "transaction_options": [ 2, 4 ], "sales_settled": false, "customer": { "customer_name": "Korxd Wjdnaeo", "address": "Fgabjuqgwwncivjtsdqh, Qzyuukdqiv, Lvwjo", "email": "pvtoj@chgoa.com" }, "items": [ { "shop_item_id": "ngjsliikvp", "item_name": "Item wjzmm", "item_price": 323, "item_count": "1" } ] } ' {"id":"tr_J6Fgm1juz9NLgjlx","object":"transaction","livemode":false,"authentication_token":"tk_m9yG3noT3e02Xkpht-2jtBif","aftee_transaction_no":"mcc00225-00001-230915000014","np_transaction_no":"mcc00225-00001-230915000014","shop_transaction_no":"test_001","amount":323,"japanese_yen_amount":null,"authorization_result":2,"authorization_result_ng_reason":1,"amount_refund_total":0,"registration_datetime":"2023-09-15 15:43:26","sales_settled_datetime":null,"transaction_options":[2,4],"related_transaction":null,"updated_transactions":null,"description":null,"customer":{"object":"customer","customer_name":"Korxd Wjdnaeo","customer_family_name":null,"customer_given_name":null,"phone_number":null,"birthday":null,"sex_division":null,"company_name":null,"department":null,"zip_code":null,"address":"Fgabjuqgwwncivjtsdqh, Qzyuukdqiv, Lvwjo","email":"pvtoj@chgoa.com","total_purchase_count":null,"total_purchase_amount":null,"user_no":"10023456","information_code":null},"tenant":null,"dest_customers":[],"items":[{"object":"item","shop_item_id":"ngjsliikvp","item_name":"Item wjzmm","item_price":323,"item_count":1,"item_url":null}],"refunds":null}% ``` 交易更新 ```shell curl --location 'https://ct-api.np-pay.com/v1/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic aE9KX3FsSVVDd0MtTnBHd0JyNk5xUTo=' \ --data-raw '{ "authentication_token": "tk_m9yG3noT3e02Xkpht-2jtBif", "updated_transactions": "tr_J6Fgm1juz9NLgjlx" , "amount": 99, "user_no": "10023456", "shop_transaction_no": "test_001", "transaction_options": [ ], "sales_settled": false, "customer": { "customer_name": "Korxd Wjdnaeo", "address": "Fgabjuqgwwncivjtsdqh, Qzyuukdqiv, Lvwjo", "email": "pvtoj@chgoa.com" }, "items": [ { "shop_item_id": "ngjsliikvp", "item_name": "Item wjzmm", "item_price": 99, "item_count": "1" } ] } ' response { "id": "tr_n4-6VzdXvwbGFj2S", "object": "transaction", "livemode": false, "authentication_token": "tk_m9yG3noT3e02Xkpht-2jtBif", "aftee_transaction_no": "mcc00225-00001-230915000016", "np_transaction_no": "mcc00225-00001-230915000016", "shop_transaction_no": "test_001", "amount": 99, "japanese_yen_amount": null, "authorization_result": 2, "authorization_result_ng_reason": 1, "amount_refund_total": 0, "registration_datetime": "2023-09-15 15:47:26", "sales_settled_datetime": null, "transaction_options": [ 2 ], "related_transaction": null, "updated_transactions": [ "tr_J6Fgm1juz9NLgjlx" ], "description": null, "customer": { "object": "customer", "customer_name": "Korxd Wjdnaeo", "customer_family_name": null, "customer_given_name": null, "phone_number": null, "birthday": null, "sex_division": null, "company_name": null, "department": null, "zip_code": null, "address": "Fgabjuqgwwncivjtsdqh, Qzyuukdqiv, Lvwjo", "email": "pvtoj@chgoa.com", "total_purchase_count": null, "total_purchase_amount": null, "user_no": "10023456", "information_code": null }, "tenant": null, "dest_customers": [], "items": [ { "object": "item", "shop_item_id": "ngjsliikvp", "item_name": "Item wjzmm", "item_price": 99, "item_count": 1, "item_url": null } ], "refunds": null } ```