ติดต่อเรา : 02-374-6666 จันทร์-ศุกร์ 8:00-17:00 น. (ยกเว้นวันหยุดราชการ)
หรือ support@paysure.com ทุกวัน ตลอด 24 ชั่วโมง

PaySure API

สำหรับร้านค้าที่ต้องการใช้ PaySure สำหรับการทำรายการซื้อขาย ท่านสามารถทำตามขั้นตอนดังนี้

ดาวน์โหลด PaySure API PHP และ รับ API Secret

ท่านสามารถดาวน์โหลด source code ของ PaySure API โดยกดลิงค์ด้านล่าง ท่านจำเป็นต้องใข้ API ID และ API Secret ซึ่งท่านสามารถหาข้อมูลทั้งสองนี้ได้จาก หน้าแสดงข้อมูลสมาชิก ของท่าน ดังรูปที่แสดงด้านล่าง

ติดตั้งและเริ่มต้นการใช้งาน

เมื่อท่านได้ดาวน์โหลดไฟล์ paysure-api.tar.gz มายังเครื่องของท่านแล้ว ให้ท่านทำการแตกไฟล์และนำไดเรคทอรี่ src ไปไว้ใน application ของท่าน แล้วเปลี่ยนชื่อตามที่ท่านต้องการ ยกตัวอย่างเช่น paysure-sdk ซึ่งในการเริ่มต้นการติดตั้งท่านจำเป็นต้องนำ API ID และ API Secret ของท่านไปตั้งค่าที่ไฟล์ paysure-sdk/inc.config.php ดังนี้

$api_ID =  '8N7CB-FAENH-NPGSE-CHOD6';
$api_Secret = '2504909f2d0de5644bc73df00c458bade64a08dsHv9kSKvE6LT';

            
จากนั้นให้ท่าน include paysure-sdk/paysure.php เมื่อท่านต้องการจะเรียกใช้งาน PaySure API ตามตัวอย่างดังนี้
require_once("paysure-sdk/paysure.php");
        
$paysure = new PaySure();
$status = $paysure->checkStatus(); // ตรวจสอบสถานะการใช้งาน PaySure API 
 
            
หากท่านมีิสิทธิ์ที่จะใช้งาน PaySure API ผลลัพธ์ที่ท่านจะได้ คือ
 {"serviceAvailable":true} 
            

สร้างรายการผ่าน API

ตัวอย่าง :

// parameter ที่ใช้ในการจัดการการ redirect ในสถานะต่างๆของการสร้างรายการ
$urlParams = array(
    // ค่า redirect url เมื่อสร้างรายการสำเร็จ
    'RETURNURL' =>'http://www.example.com/success.php', 
    // ค่า redirect url เมื่อผู้ซื้อต้องการยกเลิกการทำรายการ
    'CANCELURL' => 'http://www.example.com/cancel.php'
);

// parameter ที่กำหนดค่ารายการเพื่อใช้ในการสร้างรายการ
$transactioParams = array(
    // Inspection Period (จำนวนวันให้ตรวจสอบสินค้า) ยกตัวอย่าง 1 วัน 
    'INSPECTION_PERIOD' =>1, 
);

// parameter เก็บรายละเอียดสินค้า ชื่อสินค้า ,ราคาต่อหน่วย ,จำนวนสินค้า และยอดรวมของแต่ละรายการ
$itemParams = array(
    array(
        'PRODUCT_TITLE' => 'iphone 3GS',   // ชื่อสินค้า 
        'PRODUCT_PRICE' => 9000,           // ราคาต่อหน่วย 
        'PRODUCT_QTY' => 2,                // จำนวนสินค้า 
    ),
    array(
        'PRODUCT_TITLE' => 'Samsung Galaxy Tab 3', // ชื่อสินค้า 
        'PRODUCT_PRICE' => 15900,          // ราคาต่อหน่วย 
        'PRODUCT_QTY' => 1,               // จำนวนสินค้า 
    ),
);

// สร้างรายการ PaySure ผ่าน API โดยนำตัวแปร parameter ทั้ง 3 ตัวที่ได้มาส่งเข้าฟังก์ชั่น 
                        // ซึ่งจะได้ return เป็นข้อมูล token ของรายการในรูปแบบ json
$tokenJson = $paysure->createTransaction($urlParams,$transactioParams,$itemParams); 
 
            
ท่านจะได้ผลลัพธ์เป็นข้อมูลการทำรายการในรูปแบบของ json ดังตัวอย่าง

// tokenID คือ หมายเลข Token รายการ PaySure ซึ่งท่านจำเป็นต้องนำไปใช้ในการอ้างอิงรายการ
// status คือ สถานะการทำรายการ ซึ่งสถานะ checkout หมายถึงสถานะที่รอผู้ซื้อกดยืนยันการทำรายการ
// expired คือ วันเวลาที่รายการนี้หมดอายุหากไม่มีการยืนยันการทำรายการ
 {"tokenID":"14d1bb0e0e318605216faedc1e6374ab96465e34","status":"checkout","expired":"2013-10-11 17:51:16"} 
            
หากต้องการค่า Token ID ท่านจำเป็นจะต้องนำข้อมูลฟังก์ชั่น json_decode () ของ PHP ดังตัวอย่าง
$tokenObj = json_decode($tokenJson); 
$tokenID = $tokenObj->tokenID; 
            
และเมื่อได้ Token ID ของรายการซื้อขายแล้วท่านจำเป็นต้อง redirect หน้าเว็บของท่านไปยัง PaySure เพื่อให้ผู้ซื้อ ยอมรับการทำรายการซื้อขายด้วย PaySure โดยการเรียกฟังก์ชั่นต่อไปนี้
         
// redirect ไปยังหน้า checkout รายการของ PaySure โดยมีพารามิเตอร์เป็น Token ID ของรายการ
$paysure->checkoutByPaySure($tokenID); 
 
            
เมื่อท่านเรียกฟังก์ชั่น checkoutByPaySure() แล้ว หน้าเว็บจะถูก redirect ไปยังหน้ายืนยันการทำรายการ

ตรวจสอบสถานะรายการ

หากท่านต้องการตรวจสอบสถานะของการทำรายการ ท่านสามารถตรวจสอบได้โดยการเรียกใช้ฟังก์ชั่น getTransactionStatus() โดยส่งค่า Token ID ของรายการเป็นพารามิเตอร์ ดังตัวอย่าง

// ท่านสามารถนำ Token ID ของรายการไปตรวจสอบสถานะการสร้างรายการได้
$status = $paysure->getTransactionStatus($tokenID); 
 
            
ท่านจะได้ผลลัพธ์เป็นข้อมูลการทำรายการในรูปแบบของ json ดังตัวอย่าง

// tokenID คือ หมายเลข Token รายการ PaySure ซึ่งท่านจำเป็นต้องนำไปใช้ในการอ้างอิงรายการ
// status คือ สถานะการทำรายการ ซึ่งสถานะ created หมายถึงสถานะที่รายการ PaySure มีการยืนยันการสร้างรายการแล้ว
// active คือ สถานะขั้นตอนของการทำรายการ PaySure
// activeCode คือ เลขบอกสถานะขั้นตอนของการทำรายการ PaySure
 {"id":14,"tokenID":"14d1bb0e0e318605216faedc1e6374ab96465e34","status":"created","active":"รอผู้ซื้อชำระเงิน","activeCode":3} 
            
สามารถตรวจสอบสถานะได้จาก activeCode ตาม list ด้านล่าง

            60 => ถูกยกเลิกโดยผู้รับรายการ
            1 => รอผู้ซื้อ/ผู้ขายยอมรับรายการ
            2 => รอผู้ซื้อเลือกวิธีชำระเงิน
            3 => ระบบกำลังรอผู้ซื้อทำการชำระเงิน
            4 => PaySure ตรวจสอบการชำระเงิน
            5 => รอผู้ขายยืนยันการส่งสินค้า
            6 => อยุ่ในขั้นตอนการส่งสินค้า
            7 => ตรวจสอบและชำระเงินผู้ขาย
            8 => รายการ PaySure สำเร็จแล้ว
            9 => ผู้ซื้อร้องขอการคืนสินค้า
            10 => รอผู้ขายยืนยันการได้รับสินค้าคืน
            11 => คืนเงินให้ผู้ซื้อ
            12 => คืนเงินให้ผู้ซื้อ
            13 => ระงับการทำรายการชั่วคราว
            14 => ระงับรายการที่มีเกิน 100,000 
            28 => รายการ PaySure สำเร็จแล้ว(คืนสินค้าให้ผู้ขาย)
            45 => มีการระงับรายการและยกเลิกรายการโดยไม่มีการจ่ายเงิน
            46 => มีการระงับรายการและคืนเงินผู้ซื้อ
            47 => มีการระงับรายการและจ่ายเงินผู้ขาย
 
        

ตรวจสอบประวัติการทำรายการ

หากท่านต้องการตรวจสอบประวัติของการทำรายการ ท่านสามารถตรวจสอบได้โดยการเรียกใช้ฟังก์ชั่น getTransactionHisory() โดยส่งค่า Token ID ของรายการเป็นพารามิเตอร์ ดังตัวอย่าง

// ท่านสามารถนำ Token ID ของรายการไปตรวจสอบประวัติการทำรายการได้
$status = $paysure->getTransactionHistory($tokenID); 
 
            
ท่านจะได้ผลลัพธ์เป็นข้อมูลการทำรายการในรูปแบบของ json ดังตัวอย่าง

// date คือ วันที่มีการปรับสถานะการทำรายการ (YYYY-MM-DD H:i)
// description คือ ข้อความอธิบายสถานะการทำรายการ
 {"date":"2014-02-25 15:22","description":"PaySure.com ได้ชำระเงินให้ผู้ซื้อ" 
            

ดูข้อมูลรายละเอียดของรายการ


// ท่านสามารถดูรายละเอียดของรายการโดยใช้ Token ID ของแต่ละรายการ 
$detail = $paysure->getTransactionDetail($tokenID); 
 
            

ดูข้อมูลรายการทั้งหมดที่สร้างผ่าน API


// ท่านสามารถเรียกดูรายการทั้งหมดที่สร้างผ่าน API  
$transaction = $paysure->getTransaction(); 
 
            

แสดงบัญชีธนาคารของ PaySure


// แสดงบัญชีธนาคารของ PaySure เพื่อใช้สำหรับการโอนเงินของผู้ซื้อ 
$bank = $paysure->getBankAccount(); 
 
            

ผู้ซื้อแจ้งยืนยันการโอนเงิน


// parameter ที่ใช้ในการส่งข้อมูลยืนยันการชำระเงินโดยการโอนเงินของผู้ซื้อ
$transferParams = array(
    // ID ของธนาคารที่ผู้ซื้อโอนเงินเข้ามา ซึ่งท่านสามารถหา ID ของธนาคารได้จากจากใช้ฟังก์ชั่น getBankAccount() 
    'BANK_ID' =>1, 
    // วันที่ที่ลูกค้าโอนเข้าบัญชีธนาคาร PaySure รูปแบบ yyyy-mm-dd 
    'TRANSFER_DATE' => '2013-10-22'
    // เวลาที่ลูกค้าโอนเข้าบัญชีธนาคาร PaySure รูปแบบ hh:mm
    'TRANSFER_TIME' => '12:10'
);

// parameter ที่ใช้ส่งข้อมูลที่อยู่ที่ใช้ในการส่งสินค้าไปให้ผู้ซื้อ 
$addressParams = array(
    // ที่อยู่ส่งสินค้า
    'ADDRESS' =>'72/40', 
    // รหัสไปรษณีย์
    'ZIP_CODE' => '12001',
    // จังหวัด
    'CITY' => 'กรุงเทพ',
    // ประเทศ
    'COUNTRY' => 'ไทย',
);

// แจ้งโอนเงินของผู้ซื้อ parameter ทั้ง 2 ตัว และ Token ID ของรายการ ที่ได้มาส่งเข้าฟังก์ชั่นซึ่งจะได้ return เป็น สถานะการยืนยันโอนเงิน 
$updateStatus = $paysure->paymentConfirm($tokenID ,$transferParams,$addressParams); 
 
            

ร้านค้าแจ้งการส่งสินค้าไปให้ผู้ซื้อ


// parameter ที่ใช้ในการส่งข้อมูลยืนยันการส่งสินค้า
$shippingParams = array(
    // รหัสติดตามสถานะการส่งสินค้าที่ได้รับจากผู้ให้บริการส่งสินค้า   ตัวอย่างคือ EH7B983OT9 
    'POST_TRACKING_NUMBER' => 'EH7B983OT9'
    //  ชื่อผู้ให้บริการส่งสินค้า  ตัวอย่างคือ Fed Ex 
    'POST_SERVICE' => 'Fed Ex'
);

// parameter ที่ใช้ส่งข้อมูลธนาคารที่ใช้ในการรับเงินของร้านค้า 
$bankingParams = array(
    // ชื่อธนาคารของบัญชีที่ร้านค้าใช้เพื่อรับเงินจาก PaySure ตัวอย่างคือ กสิกรไทย
    'BANK_NAME' => 'กสิกรไทย', 
    // ชื่อเจ้าของบัญชีีที่ร้านค้าใช้เพื่อรับเงินจาก PaySure ตัวอย่างคือ จอห์น สมิธ 
    'BANK_ACCOUNT_NAME' => 'John Smith'
    // เลขที่บัญชีีที่ร้านค้าใช้เพื่อรับเงินจาก PaySure แบบไม่มีขีดกลางคั่น (-)   ตัวอย่างคือ 0271270000 
    'BANK_ACCOUNT_NUMBER' => '0271270000'
);

// แจ้งร้านค้าส่งสินค้าไปให้ผู้ซื้อโดยใช้ parameter ทั้ง 2 ตัว และ Token ID ของรายการที่ต้องการยืนยัน ส่งเข้าฟังก์ชั่น
// ซึ่งจะได้ return เป็น สถานะการยืนยันการส่งสินค้า 
$shippingConfirm = $paysure->shippingConfirm($tokenID ,$shippingParams,$bankingParams);
 
            

ผู้ซื้อแจ้งยืนยันการรับสินค้า


$returnUrl = 'http://www.example.com';
// parameter ที่ใช้ในการขอ url จะมี 2 ตัว คือ TokenID และ $returnUrl (URL ที่ต้องการให้ redirect กลับมาเมื่อนทำการ confirm เรียบร้อย) 
// ค่าที่ return กลับมาจะเป็น code ของปุ่ม  
$buttonConfirm =  $paysure->confirmReceive($tokenID ,$returnUrl);